public class BasicComponentCreator extends Component
This class constructs a BasicComponent. It is used to create the 'BasicComponent' object step-by-step, i.e. 'BasicComponentCreator' objects are of intermediate state.
See Also:
  • BasicComponent
  • Constructor Details

  • Method Details

    • withName

      public BasicComponentCreator withName(String name)
      Description copied from class: Entity
      Defines the unique name of this current entity. Once created entities are referenced by this name. Only entities with a unique name can be fetched from the model.
      Overrides:
      withName in class Entity
      Returns:
      this current entity in the making
    • ofType

      public BasicComponentCreator ofType(org.palladiosimulator.pcm.repository.ComponentType type)
      Sets the type of the basic component.

      Possible values are 'BUSINESS_COMPONENT' (default) and 'INFRASTRUCTURE_COMPONENT'.
      Parameters:
      type -
      Returns:
      the basic component in the making
    • provides

      Description copied from class: Component
      Creates an OperationProvidedRole connection between the component and the OperationInterface interfce and adds it to the component.

      Create a new operation interface by using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.newOperationInterface().

      Overrides:
      provides in class Component
      Returns:
      this component
      See Also:
    • provides

      public BasicComponentCreator provides(OperationInterfaceCreator interfce, String name)
      Description copied from class: Component
      Creates an OperationProvidedRole connection with the name name between the component and the OperationInterface interfce and adds it to the component. Setting the name is important for referencing if the role is used in a connector of a composite component and/or subsystem later on.

      Create a new operation interface by using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.newOperationInterface().

      Overrides:
      provides in class Component
      Returns:
      this component
      See Also:
    • provides

      public BasicComponentCreator provides(org.palladiosimulator.pcm.repository.OperationInterface interfce)
      Description copied from class: Component
      Creates an OperationProvidedRole connection between the component and the OperationInterface interfce and adds it to the component.

      An existing interfce can be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.fetchOfOperationInterface(name).

      Overrides:
      provides in class Component
      Returns:
      this component
      See Also:
    • provides

      public BasicComponentCreator provides(org.palladiosimulator.pcm.repository.OperationInterface interfce, String name)
      Description copied from class: Component
      Creates an OperationProvidedRole connection with the name name between the component and the OperationInterface interfce and adds it to the component. Setting the name is important for referencing if the role is used in a connector of a composite component and/or subsystem later on.

      An existing interfce can be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.fetchOfOperationInterface(name).

      Overrides:
      provides in class Component
      Returns:
      this component
      See Also:
    • providesInfrastructure

      public BasicComponentCreator providesInfrastructure(InfrastructureInterfaceCreator interfce)
      Description copied from class: Component
      Creates an InfrastructureProvidedRole connection between the component and the InfrastructureInterface interfce and adds it to the component.

      Create a new infrastructure interface by using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.newInfrastructureInterface().

      Overrides:
      providesInfrastructure in class Component
      Returns:
      this component
      See Also:
    • providesInfrastructure

      public BasicComponentCreator providesInfrastructure(InfrastructureInterfaceCreator interfce, String name)
      Description copied from class: Component
      Creates an InfrastructureProvidedRole connection with the name name between the component and the InfrastructureInterface interfce and adds it to the component. Setting the name is important for referencing if the role is used in a connector of a composite component and/or subsystem later on.

      Create a new infrastructure interface by using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.newInfrastructureInterface().

      Overrides:
      providesInfrastructure in class Component
      Returns:
      this component
      See Also:
    • providesInfrastructure

      public BasicComponentCreator providesInfrastructure(org.palladiosimulator.pcm.repository.InfrastructureInterface interfce)
      Description copied from class: Component
      Creates an InfrastructureProvidedRole connection between the component and the InfrastructureInterface interfce and adds it to the component.

      An existing interfce can be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.fetchOfInfrastructureInterface(name).

      Overrides:
      providesInfrastructure in class Component
      Returns:
      this component
      See Also:
    • providesInfrastructure

      public BasicComponentCreator providesInfrastructure(org.palladiosimulator.pcm.repository.InfrastructureInterface interfce, String name)
      Description copied from class: Component
      Creates an InfrastructureProvidedRole connection with the name name between the component and the InfrastructureInterface interfce and adds it to the component. Setting the name is important for referencing if the role is used in a connector of a composite component and/or subsystem later on.

      An existing interfce can be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.fetchOfInfrastructureInterface(name).

      Overrides:
      providesInfrastructure in class Component
      Returns:
      this component
      See Also:
    • handles

      public BasicComponentCreator handles(EventGroupCreator eventGroup)
      Description copied from class: Component
      Creates a SinkRole connection between the component and the EventGroup eventGroup and adds it to the component.

      Create a new event group by using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.newEventGroup().

      Overrides:
      handles in class Component
      Returns:
      this component
      See Also:
    • handles

      public BasicComponentCreator handles(EventGroupCreator eventGroup, String name)
      Description copied from class: Component
      Creates a SinkRole connection with the name name between the component and the EventGroup eventGroup and adds it to the component. Setting the name is important for referencing if the role is used in a connector of a composite component and/or subsystem later on.

      Create a new event group by using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.newEventGroup().

      Overrides:
      handles in class Component
      Returns:
      this component
      See Also:
    • handles

      public BasicComponentCreator handles(org.palladiosimulator.pcm.repository.EventGroup eventGroup)
      Description copied from class: Component
      Creates a SinkRole connection between the component and the EventGroup eventGroup and adds it to the component.

      An existing eventGroup can be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.fetchOfEventGroup(name).

      Overrides:
      handles in class Component
      Returns:
      this component
      See Also:
    • handles

      public BasicComponentCreator handles(org.palladiosimulator.pcm.repository.EventGroup eventGroup, String name)
      Description copied from class: Component
      Creates a SinkRole connection with the name name between the component and the EventGroup eventGroup and adds it to the component. Setting the name is important for referencing if the role is used in a connector of a composite component and/or subsystem later on.

      An existing eventGroup can be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.fetchOfEventGroup(name).

      Overrides:
      handles in class Component
      Returns:
      this component
      See Also:
    • requires

      Description copied from class: Component
      Creates an OperationRequiredRole connection between the component and the OperationInterface interfce and adds it to the component.

      Create a new operation interface by using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.newOperationInterface().

      Overrides:
      requires in class Component
      Returns:
      this component
      See Also:
    • requires

      public BasicComponentCreator requires(OperationInterfaceCreator interfce, String name)
      Description copied from class: Component
      Creates an OperationRequiredRole connection with the name name between the component and the OperationInterface interfce and adds it to the component. Setting the name is important for referencing if the role is used in a connector of a composite component and/or subsystem later on.

      Create a new operation interface by using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.newOperationInterface().

      Overrides:
      requires in class Component
      Returns:
      this component
      See Also:
    • requires

      public BasicComponentCreator requires(org.palladiosimulator.pcm.repository.OperationInterface interfce)
      Description copied from class: Component
      Creates an OperationRequiredRole connection between the component and the OperationInterface interfce and adds it to the component.

      An existing interfce can be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.fetchOfOperationInterface(name).

      Overrides:
      requires in class Component
      Returns:
      this component
      See Also:
    • requires

      public BasicComponentCreator requires(org.palladiosimulator.pcm.repository.OperationInterface interfce, String name)
      Description copied from class: Component
      Creates an OperationRequiredRole connection with the name name between the component and the OperationInterface interfce and adds it to the component. Setting the name is important for referencing if the role is used in a connector of a composite component and/or subsystem later on.

      An existing interfce can be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.fetchOfOperationInterface(name).

      Overrides:
      requires in class Component
      Returns:
      this component
      See Also:
    • requiresInfrastructure

      public BasicComponentCreator requiresInfrastructure(InfrastructureInterfaceCreator interfce)
      Description copied from class: Component
      Creates an InfrastructureRequiredRole connection between the component and the InfrastructureInterface interfce and adds it to the component.

      Create a new infrastructure interface by using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.newInfrastructureInterface().

      Overrides:
      requiresInfrastructure in class Component
      Returns:
      this component
      See Also:
    • requiresInfrastructure

      public BasicComponentCreator requiresInfrastructure(InfrastructureInterfaceCreator interfce, String name)
      Description copied from class: Component
      Creates an InfrastructureRequiredRole connection with the name name between the component and the InfrastructureInterface interfce and adds it to the component. Setting the name is important for referencing if the role is used in a connector of a composite component and/or subsystem later on.

      Create a new infrastructure interface by using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.newInfrastructureInterface().

      Overrides:
      requiresInfrastructure in class Component
      Returns:
      this component
      See Also:
    • requiresInfrastructure

      public BasicComponentCreator requiresInfrastructure(org.palladiosimulator.pcm.repository.InfrastructureInterface interfce)
      Description copied from class: Component
      Creates an InfrastructureRequiredRole connection between the component and the InfrastructureInterface interfce and adds it to the component.

      An existing interfce can be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.fetchOfInfrastructureInterface(name).

      Overrides:
      requiresInfrastructure in class Component
      Returns:
      this component
      See Also:
    • requiresInfrastructure

      public BasicComponentCreator requiresInfrastructure(org.palladiosimulator.pcm.repository.InfrastructureInterface interfce, String name)
      Description copied from class: Component
      Creates an InfrastructureRequiredRole connection with the name name between the component and the InfrastructureInterface interfce and adds it to the component. Setting the name is important for referencing if the role is used in a connector of a composite component and/or subsystem later on.

      An existing interfce can be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.fetchOfInfrastructureInterface(name).

      Overrides:
      requiresInfrastructure in class Component
      Returns:
      this component
      See Also:
    • emits

      public BasicComponentCreator emits(EventGroupCreator eventGroup)
      Description copied from class: Component
      Creates a SourceRole connection between the component and the EventGroup eventGroup and adds it to the component.

      Create a new event group by using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.newEventGroup().

      Overrides:
      emits in class Component
      Returns:
      this component
      See Also:
    • emits

      public BasicComponentCreator emits(EventGroupCreator eventGroup, String name)
      Description copied from class: Component
      Creates a SourceRole connection with the name name between the component and the EventGroup eventGroup and adds it to the component. Setting the name is important for referencing if the role is used in a connector of a composite component and/or subsystem later on.

      Create a new event group by using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.newEventGroup().

      Overrides:
      emits in class Component
      Returns:
      this component
      See Also:
    • emits

      public BasicComponentCreator emits(org.palladiosimulator.pcm.repository.EventGroup eventGroup)
      Description copied from class: Component
      Creates a SourceRole connection between the component and the EventGroup eventGroup and adds it to the component.

      An existing eventGroup can be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.fetchOfEventGroup(name).

      Overrides:
      emits in class Component
      Returns:
      this component
      See Also:
    • emits

      public BasicComponentCreator emits(org.palladiosimulator.pcm.repository.EventGroup eventGroup, String name)
      Description copied from class: Component
      Creates a SourceRole connection with the name name between the component and the EventGroup eventGroup and adds it to the component. Setting the name is important for referencing if the role is used in a connector of a composite component and/or subsystem later on.

      An existing eventGroup can be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.fetchOfEventGroup(name).

      Overrides:
      emits in class Component
      Returns:
      this component
      See Also:
    • requiresResource

      public BasicComponentCreator requiresResource(ResourceInterface resourceInterface)
      Description copied from class: Component
      Creates a ResourceRequiredRole connection between the component and the ResourceInterface resourceInterface and adds it to the component.

      An existing resourceInterface can be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.fetchOfResourceInterface(name).

      Overrides:
      requiresResource in class Component
      Returns:
      this component
      See Also:
      • org.palladiosimulator.generator.fluent.repository.factory.FluentRepositoryFactory#fetchOfResourceInterface(String)
    • requiresResource

      public BasicComponentCreator requiresResource(ResourceInterface resourceInterface, String name)
      Description copied from class: Component
      Creates a ResourceRequiredRole connection with the name name between the component and the ResourceInterface resourceInterface and adds it to the component. Setting the name is important for referencing if the role is used in a connector of a composite component and/or subsystem later on.

      An existing resourceInterface can be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.fetchOfResourceInterface(name).

      Overrides:
      requiresResource in class Component
      Returns:
      this component
      See Also:
      • org.palladiosimulator.generator.fluent.repository.factory.FluentRepositoryFactory#fetchOfResourceInterface(String)
    • conforms

      public BasicComponentCreator conforms(CompleteComponentTypeCreator completeComponentType)
      Creates a conforming (parental) connection to the completeComponentType and adds it to the basic component.

      Complete (Component) types abstract from the realization of components. They only contain provided and required roles omitting the components’ internal structure, i.e., the service effect specifications or assemblies.

      The completeComponentType can be created using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.newCompleteComponentType().

      Parameters:
      completeComponentType -
      Returns:
      the basic component in the making
      See Also:
    • conforms

      public BasicComponentCreator conforms(org.palladiosimulator.pcm.repository.CompleteComponentType completeComponentType)
      Creates a conforming (parental) connection to the completeComponentType and adds it to the basic component.

      Complete (Component) types abstract from the realization of components. They only contain provided and required roles omitting the components’ internal structure, i.e., the service effect specifications or assemblies.

      An existing completeComponentType can be fetched from the repository using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.fetchOfCompleteComponentType(name).

      Parameters:
      completeComponentType -
      Returns:
      the basic component in the making
      See Also:
    • withPassiveResource

      public BasicComponentCreator withPassiveResource(String capacityStochasticExpression, org.palladiosimulator.pcm.reliability.ResourceTimeoutFailureType failureType, String name)
      Adds a passive resource (e.g. a semaphore) with name name to the basic component.

      The stochastic expression in capacity_stochasticExpression belongs to a PCMRandomVariable and describes the capacity of the passive resource. The given failureType is the failure type that represents a timeout failure of an acquiring action for this passive resource.

      Parameters:
      capacityStochasticExpression - stochastic expression as a string
      failureType - a resource timeout failure
      name - unique name of the passive resource
      Returns:
      the basic component in the making
      See Also:
      • PassiveResource
      • PCMRandomVariable
      • ResourceTimeoutFailureType
    • withPassiveResource

      public BasicComponentCreator withPassiveResource(String capacityStochasticExpression, org.palladiosimulator.pcm.reliability.ResourceTimeoutFailureType failureType)
      Adds a passive resource (e.g. a semaphore) to the basic component.

      The stochastic expression in capacity_stochasticExpression belongs to a PCMRandomVariable and describes the capacity of the passive resource. The given failureType is the failure type that represents a timeout failure of an acquiring action for this passive resource.

      Parameters:
      capacityStochasticExpression - stochastic expression as a string
      failureType - a resource timeout failure
      Returns:
      the basic component in the making
      See Also:
      • PassiveResource
      • PCMRandomVariable
      • ResourceTimeoutFailureType
    • withServiceEffectSpecification

      public BasicComponentCreator withServiceEffectSpecification(Seff seff)
      Adds a service effect specification (SEFF) to the basic component.

      Service Effect Specification Models the effect of invoking a specific service of a basic component. Therefore, it references a signature from an Interface, for which the component takes a ProvidedRole, to identify the described service.

      Create a new SEFF by using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.newSeff().

      Parameters:
      seff -
      Returns:
      the basic component in the making
      See Also:
    • withServiceEffectSpecification

      public BasicComponentCreator withServiceEffectSpecification(org.palladiosimulator.pcm.seff.ServiceEffectSpecification seff)
      Adds a service effect specification (SEFF) to the basic component.

      Service Effect Specification Models the effect of invoking a specific service of a basic component. Therefore, it references a signature from an Interface, for which the component takes a ProvidedRole, to identify the described service.

      Parameters:
      seff -
      Returns:
      the basic component in the making
      See Also:
    • withVariableUsage

      public BasicComponentCreator withVariableUsage(VariableUsageCreator variableUsage)
      Adds a VariableUsage to the basic component.

      Variable usages are used to characterize variables like input and output variables or component parameters. They contain the specification of the variable as VariableCharacterisation and also refer to the name of the characterized variable in its namedReference association.

      Create a new variable usage by using the org.palladiosimulator.generator.fluent.component.factory, i.e. create.newVariableUsage().

      Parameters:
      variableUsage - in the making
      Returns:
      the basic component in the making
      See Also:
    • build

      public org.palladiosimulator.pcm.repository.BasicComponent build()
      Description copied from class: Entity
      Turns the entity in the making into the finished entity.
      Specified by:
      build in class Component
      Returns:
      the finished entity
    • addVariableUsage

      protected void addVariableUsage(org.palladiosimulator.pcm.parameter.VariableUsage varUsage)