1 /* 2 * Copyright 1999-2004 The Apache Software Foundation 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 * 16 */ 17 18 /* $Id: Item.java 42616 2004-03-03 12:56:33Z gregor $ */ 19 20 package org.apache.lenya.ac; 21 22 import java.io.File; 23 24 import org.apache.avalon.framework.configuration.Configuration; 25 import org.apache.avalon.framework.configuration.ConfigurationException; 26 27 28 /** 29 * An item can be initialized from a configuration. 30 */ 31 public interface Item { 32 33 /** 34 * Returns the ID. 35 * @return A string. 36 */ 37 String getId(); 38 39 /** 40 * Returns the name. 41 * @return A string. 42 */ 43 String getName(); 44 45 /** 46 * Sets the name. 47 * @param name A string. 48 */ 49 void setName(String name); 50 51 /** 52 * Returns the description. 53 * @return A string. 54 */ 55 String getDescription(); 56 57 /** 58 * Sets the description. 59 * @param description A string. 60 */ 61 void setDescription(String description); 62 63 /** 64 * Sets the configuration directory of this item. 65 * @param configurationDirectory The configuration directory. 66 */ 67 void setConfigurationDirectory(File configurationDirectory); 68 69 /** 70 * Configures this item. 71 * @param configuration The configuration. 72 * @throws ConfigurationException when something went wrong. 73 */ 74 void configure(Configuration configuration) throws ConfigurationException; 75 76 } 77