ingo@226: package de.intevation.artifactdatabase.state; ingo@226: ingo@278: import java.io.Serializable; ingo@278: ingo@280: import de.intevation.artifacts.Artifact; ingo@280: import de.intevation.artifacts.CallContext; ingo@280: ingo@226: ingo@226: /** ingo@226: * @author Ingo Weinzierl ingo@226: */ ingo@278: public interface Facet extends Serializable { ingo@226: ingo@226: /** ingo@277: * Returns the index of this facet. ingo@277: * ingo@277: * @return the index of this facet. ingo@277: */ ingo@277: int getIndex(); ingo@277: ingo@277: /** ingo@226: * Returns the name of this facet. ingo@226: * ingo@226: * @return the name of this facet. ingo@226: */ ingo@226: String getName(); ingo@226: ingo@226: ingo@226: /** ingo@226: * Returns the description of this facet. ingo@226: * ingo@226: * @return the description of this facet. ingo@226: */ ingo@226: String getDescription(); ingo@280: ingo@280: ingo@280: /** ingo@280: * Returns the data this facet requires. ingo@280: * ingo@280: * @param artifact The owner artifact. ingo@280: * @param context The CallContext. ingo@280: * ingo@280: * @return the data. ingo@280: */ ingo@280: Object getData(Artifact artifact, CallContext context); ingo@226: } ingo@226: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :