de.upb.hni.vmagic
Class ComponentSpecification

java.lang.Object
  extended by de.upb.hni.vmagic.VhdlElement
      extended by de.upb.hni.vmagic.ComponentSpecification

public abstract class ComponentSpecification
extends VhdlElement

Component specification. A component specification is used in component configurations and configuration specifications to specify a list of component instances.


Nested Class Summary
static class ComponentSpecification.Type
          Component specification type.
 
Method Summary
static ComponentSpecification create(Component component, java.util.List<java.lang.String> labels)
          Creates a component specification.
static ComponentSpecification create(Component component, java.lang.String... labels)
          Creates a component specification.
static ComponentSpecification createAll(Component component)
          Creates a component sepecification for all instances.
static ComponentSpecification createOthers(Component component)
          Creates a component specification for the other instances.
 Component getComponent()
          Returns the component.
abstract  java.util.List<java.lang.String> getLabels()
          Returns the list of component labels.
abstract  ComponentSpecification.Type getType()
          Returns the type of this component specification.
 
Methods inherited from class de.upb.hni.vmagic.VhdlElement
getParent, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

create

public static ComponentSpecification create(Component component,
                                            java.util.List<java.lang.String> labels)
Creates a component specification.

Parameters:
component - the component
labels - a list of component labels
Returns:
the created component sepecification

create

public static ComponentSpecification create(Component component,
                                            java.lang.String... labels)
Creates a component specification.

Parameters:
component - the component
labels - a list of component labels
Returns:
the created component specification

createAll

public static ComponentSpecification createAll(Component component)
Creates a component sepecification for all instances.

Parameters:
component - the component
Returns:
the created component specification

createOthers

public static ComponentSpecification createOthers(Component component)
Creates a component specification for the other instances.

Parameters:
component - the component
Returns:
the created component specification

getType

public abstract ComponentSpecification.Type getType()
Returns the type of this component specification.

Returns:
the type

getLabels

public abstract java.util.List<java.lang.String> getLabels()
Returns the list of component labels.

Returns:
a modifiable list of component labels or null if this component has no labels

getComponent

public Component getComponent()
Returns the component.

Returns:
the component