package org.easysoa.runtime.api; import java.util.List; /** * Provides information about a deployable artifact. * * @author mkalam-alami * */ public interface DeployableDescriptor<T> { /** * @return Any ID or hash defining the deployable in a unique way */ T getId(); /** * @return Some or all of the needed deployables in order for this one to run. * Use <code>isAllDependenciesKnown</code> to check the completeness of this list. */ List<DeployableDescriptor<?>> getDependencies(); /** * Allows to check if it is sure that no dependency is missing when using <code>getDependencies</code>. * Might be false if the Descriptor has been produced from some incomplete information * (for instance extrapolated from the EasySOA model). * @return */ boolean areAllDependenciesKnown(); }