teichmann@5835: package org.dive4elements.river.client.shared.model; ingo@8: ingo@10: import java.io.Serializable; ingo@870: import java.util.List; ingo@10: ingo@8: ingo@8: /** ingo@8: * This class represents an artifact for the client. It contains the necessary ingo@8: * information for the client and the communication with the artifact server. ingo@8: * ingo@8: * @author Ingo Weinzierl ingo@8: */ ingo@10: public interface Artifact extends Serializable { ingo@8: ingo@8: /** ingo@8: * Returns the UUID of the artifact. ingo@8: * ingo@8: * @return the UUID. ingo@8: */ ingo@8: public String getUuid(); ingo@8: ingo@8: ingo@8: /** ingo@8: * Returns the hash of the artifact. ingo@8: * ingo@8: * @return the hash. ingo@8: */ ingo@8: public String getHash(); ingo@8: ingo@8: ingo@8: /** ingo@227: * Returns the name of the artifact. felix@3381: * This happens to be the factory name, too. ingo@227: * felix@3381: * @return the name. ingo@227: */ ingo@227: public String getName(); ingo@227: ingo@227: /** ingo@8: * Returns the ArtifactDescription. ingo@8: * ingo@8: * @return the artifact description. ingo@8: */ ingo@10: public ArtifactDescription getArtifactDescription(); ingo@8: ingo@8: ingo@8: /** ingo@862: * Returns true, if the Artifact is in Background mode. ingo@862: * ingo@862: * @return true, if the artifact is in background mode. ingo@862: */ ingo@862: public boolean isInBackground(); ingo@862: ingo@862: ingo@862: /** ingo@870: * Return a list of background messages. ingo@870: * ingo@870: * @return a list of background messages. ingo@870: */ ingo@870: public List getBackgroundMessages(); ingo@870: ingo@870: ingo@870: /** ingo@8: * Sets a new ArtifactDescription. ingo@8: * ingo@8: * @param artifactDescription The new artifact description. ingo@8: */ ingo@8: public void setArtifactDescription(ArtifactDescription artifactDescription); ingo@8: } ingo@8: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :