Class BasicComponentCreator


  • 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 Detail

    • Method Detail

      • 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

        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:
        FluentRepositoryFactory.newOperationInterface()
      • 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:
        FluentRepositoryFactory.fetchOfOperationInterface(String)
      • 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:
        FluentRepositoryFactory.fetchOfOperationInterface(String)
      • 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:
        FluentRepositoryFactory.newInfrastructureInterface()
      • 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:
        FluentRepositoryFactory.fetchOfInfrastructureInterface(String)
      • 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:
        FluentRepositoryFactory.fetchOfInfrastructureInterface(String)
      • 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:
        FluentRepositoryFactory.newEventGroup()
      • 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:
        FluentRepositoryFactory.fetchOfEventGroup(String)
      • 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:
        FluentRepositoryFactory.fetchOfEventGroup(String)
      • 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:
        FluentRepositoryFactory.newOperationInterface()
      • 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:
        FluentRepositoryFactory.fetchOfOperationInterface(String)
      • 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:
        FluentRepositoryFactory.fetchOfOperationInterface(String)
      • 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:
        FluentRepositoryFactory.newInfrastructureInterface()
      • 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:
        FluentRepositoryFactory.fetchOfInfrastructureInterface(String)
      • 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:
        FluentRepositoryFactory.fetchOfInfrastructureInterface(String)
      • 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:
        FluentRepositoryFactory.newEventGroup()
      • 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:
        FluentRepositoryFactory.fetchOfEventGroup(String)
      • 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:
        FluentRepositoryFactory.fetchOfEventGroup(String)
      • 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:
        FluentRepositoryFactory.newCompleteComponentType(), ImplementationComponentType.getParentCompleteComponentTypes(), CompleteComponentType
      • 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:
        FluentRepositoryFactory.fetchOfCompleteComponentType(String), ImplementationComponentType.getParentCompleteComponentTypes(), CompleteComponentType
      • 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:
        FluentRepositoryFactory.newSeff(), ServiceEffectSpecification, ResourceDemandingSEFF
      • 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:
        FluentRepositoryFactory.newVariableUsage(), VariableUsage
      • 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)