package jadex.bridge; import java.util.Map; /** * This model interface to be used (invoked) by tools and adapters. * Can represent an application or an component (also capability). * Applications can be loaded by the application factory. * @link{IApplicationFactory} * Component types can be loaded by the kernel's component factory * @link{IComponentFactory}. */ public interface IModelInfo { /** * Get the name. * @return The name. */ public String getName(); /** * Get the package name. * @return The package name. */ public String getPackage(); /** * Get the full model name (package.name) * @return The full name. */ public String getFullName(); /** * Get the model description. * @return The model description. */ public String getDescription(); /** * Get the report. * @return The report. */ public IErrorReport getReport(); /** * Get the configurations. * @return The configuration. */ public String[] getConfigurations(); /** * Get the arguments. * @return The arguments. */ public IArgument[] getArguments(); /** * Get the results. * @return The results. */ public IArgument[] getResults(); /** * Is the model startable. * @return True, if startable. */ public boolean isStartable(); /** * Get the model type. * @return The model type (kernel specific). */ // public String getType(); /** * Get the filename. * @return The filename. */ public String getFilename(); /** * Get the properties. * Arbitrary properties that can e.g. be used to * define model-specific settings to configure tools. * @return The properties. */ public Map getProperties(); /** * Return the class loader corresponding to the model. * @return The class loader corresponding to the model. */ public ClassLoader getClassLoader(); /** * Get the required services. * @return The required services. */ public Class[] getRequiredServices(); /** * Get the provided services. * @return The provided services. */ public Class[] getProvidedServices(); /** * Get the suspend flag. * @param configname The configname. * @return The suspend flag value. */ public Boolean getSuspend(String configname); /** * Get the master flag. * @param configname The configname. * @return The master flag value. */ public Boolean getMaster(String configname); /** * Get the daemon flag. * @param configname The configname. * @return The daemon flag value. */ public Boolean getDaemon(String configname); /** * Get the autoshutdown flag. * @param configname The configname. * @return The autoshutdown flag value. */ public Boolean getAutoShutdown(String configname); }