1 /** 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 package org.apache.creadur.whisker.app; 20 21 import java.io.File; 22 23 /** 24 * Names results which might be produced by Whisker. 25 */ 26 public enum Result { 27 /** Software license. */ 28 LICENSE("LICENSE"), 29 /** Software notice. */ 30 NOTICE("NOTICE"), 31 /** Describes missing meta-data. */ 32 MISSING_LICENSE_REPORT("missing-licenses.txt"), 33 /** Starting point for meta-data development. */ 34 XML_TEMPLATE("manifest-template.xml"), 35 /** Describes the directories in the source. */ 36 DIRECTORIES_REPORT("directories.txt"); 37 38 /** Conventional name for the result. */ 39 private final String name; 40 41 /** 42 * Constructs an instance. 43 * @param name not null 44 */ 45 private Result(final String name) { 46 this.name = name; 47 } 48 49 /** 50 * Gets the conventional name for this result. 51 * @return not null 52 */ 53 public String getName() { 54 return name; 55 } 56 57 /** 58 * Creates the conventional file for storage of this result. 59 * @param directory not null 60 * @return conventional file within directory 61 */ 62 public File within(final File directory) { 63 return new File(directory, getName()); 64 } 65 }