public class Component
extends java.lang.Object
Component is described by - a name - a collection of provided interfaces - a list of required interfaces - a set of parameters - a list of dependencies and can be used to describe
any kind of components and model complex multi-component systems. More specifically, Components are used to model the search space of HASCO. By recursively resolving required
interfaces until there are no open choices left, HASCO may transform your component description automatically into an HTN planning problem to automatically optimize a component setup for a specific
task.| Constructor and Description |
|---|
Component(java.lang.String name)
Constructor creating an empty
Component with a specific name. |
Component(java.lang.String name,
java.util.Collection<java.lang.String> providedInterfaces,
java.util.List<java.util.Map<java.lang.String,java.lang.String>> requiredInterfaces,
ai.libs.jaicore.basic.sets.PartialOrderedSet<Parameter> parameters,
java.util.List<Dependency> dependencies)
Constructor for a component giving the provided and required interfaces, the collection of parameters and a list of dependencies.
|
Component(java.lang.String name,
java.util.Collection<java.lang.String> providedInterfaces,
java.util.Map<java.lang.String,java.lang.String> requiredInterfaces,
ai.libs.jaicore.basic.sets.PartialOrderedSet<Parameter> parameters,
java.util.Collection<Dependency> dependencies)
Constructor for a component giving the provided and required interfaces, the collection of parameters and a list of dependencies.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addDependency(Dependency dependency)
Adds a dependency constraint to the dependencies of this Component.
|
void |
addParameter(Parameter param)
Adds a parameter to the set of parameters iff the parameter or another parameter with the same name does not yet exist.
|
boolean |
addProvidedInterface(java.lang.String interfaceName)
Adds another provided interface to the collection of provided interfaces.
|
void |
addRequiredInterface(java.lang.String interfaceID,
java.lang.String interfaceName)
Adds an additional required interface with an ID (local identifier) and an interface name (provided interface of another Component) to the required interfaces of this Component.
|
boolean |
equals(java.lang.Object obj) |
java.util.Collection<Dependency> |
getDependencies() |
java.lang.String |
getName() |
ai.libs.jaicore.basic.sets.PartialOrderedSet<Parameter> |
getParameters() |
Parameter |
getParameterWithName(java.lang.String paramName)
Returns the parameter for a given name.
|
java.util.Collection<java.lang.String> |
getProvidedInterfaces() |
java.util.Map<java.lang.String,java.lang.String> |
getRequiredInterfaces() |
int |
hashCode() |
java.lang.String |
toString() |
public Component(java.lang.String name)
Component with a specific name.name - The name of the Component.public Component(java.lang.String name,
java.util.Collection<java.lang.String> providedInterfaces,
java.util.Map<java.lang.String,java.lang.String> requiredInterfaces,
ai.libs.jaicore.basic.sets.PartialOrderedSet<Parameter> parameters,
java.util.Collection<Dependency> dependencies)
name - The name of the Component.providedInterfaces - The collection of provided interfaces.requiredInterfaces - The list of required interfaces.parameters - Parameters of the Component.dependencies - A list of dependencies to constrain the values of parameters (may be empty).public Component(java.lang.String name,
java.util.Collection<java.lang.String> providedInterfaces,
java.util.List<java.util.Map<java.lang.String,java.lang.String>> requiredInterfaces,
ai.libs.jaicore.basic.sets.PartialOrderedSet<Parameter> parameters,
java.util.List<Dependency> dependencies)
name - The name of the Component.providedInterfaces - The collection of provided interfaces.requiredInterfaces - The list of required interfaces.parameters - Parameters of the Component.dependencies - A list of dependencies to constrain the values of parameters (may be empty).public java.lang.String getName()
public java.util.Map<java.lang.String,java.lang.String> getRequiredInterfaces()
public java.util.Collection<java.lang.String> getProvidedInterfaces()
public ai.libs.jaicore.basic.sets.PartialOrderedSet<Parameter> getParameters()
public Parameter getParameterWithName(java.lang.String paramName)
paramName - The name of the parameter to be returned.public java.util.Collection<Dependency> getDependencies()
Component.public boolean addProvidedInterface(java.lang.String interfaceName)
interfaceName - The interface to be added to the provided interfaces.public void addRequiredInterface(java.lang.String interfaceID,
java.lang.String interfaceName)
interfaceID - The local identifier to reference the specific required interface.interfaceName - The provided interface of another component.public void addParameter(Parameter param)
param - The parameter to be added.public void addDependency(Dependency dependency)
dependency - The dependency to be added.public int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Object