Class FluentRepositoryFactory

java.lang.Object
org.palladiosimulator.generator.fluent.repository.factory.FluentRepositoryFactory

public class FluentRepositoryFactory extends Object
This class provides all the methods to create a Repository and create Entities that are added to this Repository. Characteristics of the entities are specified by method chaining.
Existing entities that have to be referenced later can be retrieved by using this org.palladiosimulator.generator.fluent.component.factory's fetching methods.

Start creating a repository like this: FluentRepositoryFactory create = new FluentRepositoryFactory();
Repository repo = create.newRepository()

//create datatypes, components, interfaces etc. here

.createRepositoryNow();

Refer to the project's Readme for an introduction and detailed examples. TODO: all public methods can be called before newRepository, leading to a NullPointerException. This can be resolved by checking it at the beginning of every method and throwing an IllegalStateException with something helpful like "newRepository() must be called first!".
  • Constructor Details

    • FluentRepositoryFactory

      public FluentRepositoryFactory()
      Creates an instance of the FluentRepositoryFactory.
  • Method Details

    • newRepository

      public Repo newRepository()
      Creates a representation of the model object 'Repository'.

      The repository entity allows storing components, data types, and interfaces to be fetched and reused for construction of component instances as well as new component types.

      Returns:
      the repository in the making
    • newBasicComponent

      public BasicComponentCreator newBasicComponent()
      Creates a new basic component.

      Basic components are atomic building blocks of a software architecture. Component developers specify basic components by associating interfaces to them in a providing or requiring role.

      Basic components offer the characteristics name, type, SEFF, passive resource, variable usage and conformity.
      The possible roles to other interfaces are providing interfaces, requiring interfaces, emitting event groups, handling event groups, requiring resources, providing infrastructure interfaces, requiring infrastructure interfaces.

      Returns:
      the basic component in the making
      See Also:
      • BasicComponent
    • newCompositeComponent

      public CompositeComponentCreator newCompositeComponent()
      Creates a new composite component.

      Composite components are special implementation component types, which are composed from inner components. Component developers compose inner components within composite components with assembly connectors. A composite component may contain other composite components, which are also themselves composed out of inner components. This enables building arbitrary hierarchies of nested components.

      Composite components offer the characteristics name, type, variable usage and conformity.
      The possible roles to other interfaces are providing interfaces, requiring interfaces, emitting event groups, handling event groups, requiring resources, providing infrastructure interfaces, requiring infrastructure interfaces.
      Composite component/subsystem specific connections with other components/interfaces are assembly context, event channel, assembly connection, assembly event connection, event channel sink connection, event channel source connection, assembly infrastructure connection, provided delegation connection, required delegation connection, sink delegation connection, source delegation connection, provided infrastructure delegation connection, requires infrastructure delegation connection, required resource delegation connection, resource required delegation connection.

      Returns:
      the composite component in the making
      See Also:
      • CompositeComponent
    • newSubSystem

      public SubSystemCreator newSubSystem()
      Creates a new subsystem.

      A SubSystem is structurally comparable to a CompositeComponent. The major difference is the white-box property it preserves for System Deployers, meaning that they can be allocated to different nodes of the resource environment.

      Subsystems offer the characteristics name.
      The possible roles to other interfaces are providing interfaces, requiring interfaces, emitting event groups, handling event groups, requiring resources, providing infrastructure interfaces, requiring infrastructure interfaces.
      Composite component/subsystem specific connections with other components/interfaces are assembly context, event channel, assembly connection, assembly event connection, event channel sink connection, event channel source connection, assembly infrastructure connection, provided delegation connection, required delegation connection, sink delegation connection, source delegation connection, provided infrastructure delegation connection, requires infrastructure delegation connection, required resource delegation connection, resource required delegation connection.

      Returns:
      the subsystem in the making
      See Also:
      • SubSystem
    • newCompleteComponentType

      public CompleteComponentTypeCreator newCompleteComponentType()
      Creates a new complete component type.

      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.

      Complete component types offer the characteristics name and provide the roles providing interfaces, requiring interfaces, emitting event groups, handling event groups, conformity, requiring resources, providing infrastructure interfaces, requiring infrastructure interfaces.

      Returns:
      the complete component type in the making
      See Also:
      • CompleteComponentType
    • newProvidesComponentType

      public ProvidesComponentTypeCreator newProvidesComponentType()
      Creates a new provided component type.

      Provided (Component) Types abstract a component to its provided interfaces, leaving its requirements and implementation details open. So, provided types subsume components which offer the same functionality, but with different implementations.

      Provided component types offer the characteristics name and provide the roles providing interfaces, requiring interfaces, emitting event groups, handling event groups, requiring resources, providing infrastructure interfaces, requiring infrastructure interfaces.

      Returns:
      the provides component type in the making
      See Also:
      • ProvidesComponentType
    • newOperationInterface

      public OperationInterfaceCreator newOperationInterface()
      Creates a new operation interface.

      The OperationInterface is a specific type of interface related to operation calls. For this, it also references a set of operation interfaces. Operations can represent methods, functions or any comparable concept.

      Operation interfaces are defined by their name, their parental interfaces (conformity), their operation signatures and the corresponding required characterizations.

      Returns:
      the operation interface in the making
      See Also:
      • OperationInterface
    • newInfrastructureInterface

      public InfrastructureInterfaceCreator newInfrastructureInterface()
      Creates a new infrastructure interface.

      Infrastructure interfaces are defined by their name, their parental interfaces (conformity), their infrastructure signatures and the corresponding required characterizations.

      Returns:
      the infrastructure interface in the making
      See Also:
      • InfrastructureInterface
    • newEventGroup

      public EventGroupCreator newEventGroup()
      Creates a new event group.

      An EventGroup combines a set of EventTypes that are supported by a Sink and/or a Source. This is comparable to an operation interface combining a set of operation signatures.

      Event groups are defined by their name, their parental interfaces (conformity), their event types and the corresponding required characterizations.

      Returns:
      the event group in the making
      See Also:
      • EventGroup
    • newCollectionDataType

      public org.palladiosimulator.pcm.repository.CollectionDataType newCollectionDataType(String name, Primitive primitive)
      Creates a new collection data type with name name and of type primitive.

      A collection data type represents a list, array, set of items of the particular type. For example, create.newCollectionDataType("StringList", Primitive.String) realizes a data type conforming List<String> in Java.

      Parameters:
      name - the unique name of the new collection data type
      primitive - the primitive data type that the elements have
      Returns:
      the collection data type
      See Also:
    • newCollectionDataType

      public static org.palladiosimulator.pcm.repository.CollectionDataType newCollectionDataType(String name, org.palladiosimulator.pcm.repository.DataType dataType)
      Creates a new collection data type with name name and of type dataType.

      A collection data type represents a list, array, set of items of the particular type. All previously created data types and primitive data types can be referenced using fetching methods, e.g. fetchOfDataType(String).
      For example, create.newCollectionDataType("PersonList", create.fetchOfDataType("Person")) realizes a data type conforming List<Person> in Java, assuming that a different data type called "Person" has been previously declared.

      Parameters:
      name - the unique name of the new collection data type
      dataType - the data type that the elements have
      Returns:
      the collection data type
      See Also:
    • newCompositeDataType

      public CompositeDataTypeCreator newCompositeDataType()
      Creates a new collection data type.

      A composite data type represents a complex data type containing other data types. This construct is common in higher programming languages as record, struct, or class.
      The contained data types can be added using method chaining with .withInnerDeclaration(String, Primitive) and/or .withInnerDeclaration(String, DataType).

      Parameters:
      name - the unique name of the composite data type
      parents - array of parent composite data types
      Returns:
      the composite data type in the making
      See Also:
    • newHardwareInducedFailureType

      public org.palladiosimulator.pcm.reliability.HardwareInducedFailureType newHardwareInducedFailureType(String name, ProcessingResource processingResource)
      Creates a new hardware induced failure type with name name and processing resource processingResource.
      Parameters:
      name -
      processingResource -
      Returns:
      the hardware induced failure type
      See Also:
      • HardwareInducedFailureType
    • newNetworkInducedFailureType

      public org.palladiosimulator.pcm.reliability.NetworkInducedFailureType newNetworkInducedFailureType(String name, CommunicationLinkResource communicationLinkResource)
      Creates a new network induced failure type with name name and communication link resource communicationLinkResource.
      Parameters:
      name -
      communicationLinkResource -
      Returns:
      the network induced failure type
      See Also:
      • NetworkInducedFailureType
    • newResourceTimeoutFailureType

      public ResourceTimeoutFailureTypeCreator newResourceTimeoutFailureType(String name)
      Creates a new resource timeout failure type with name name.
      Parameters:
      name -
      Returns:
      the resource timeout failure type
      See Also:
      • ResourceTimeoutFailureType
    • newSoftwareInducedFailureType

      public static org.palladiosimulator.pcm.reliability.SoftwareInducedFailureType newSoftwareInducedFailureType(String name)
      Creates a new software induced failure type with name name.
      Parameters:
      name -
      Returns:
      the software induced failure type
      See Also:
      • SoftwareInducedFailureType
    • newExceptionType

      public ExceptionTypeCreator newExceptionType()
    • newSeff

      public Seff newSeff()
      Creates a new ResourceDemandingSEFF. A ResourceDemandingSEFF is a 'ServiceEffectSpecification' and a 'Resource-DemandingBehaviour' at the same time inheriting from both classes.

      A resource demanding service effect specification (RDSEFF) is a special type of SEFF designed for performance and reliability predictions. Besides dependencies between provided and required services of a component, it additionally includes notions of resource usage, data flow, and parametric dependencies for more accurate predictions. Therefore, the class contains a chain of AbstractActions.

      Use the methods onSignature(Signature), withSeffTypeID(String) and withInternalBehaviour(InternalSeff) to define the seff.
      In the end use the method withSeffBehaviour() to specify its step-wise behaviour.

      Returns:
      the SEFF in the making
      See Also:
      • Signature
      • ResourceDemandingInternalBehaviour
    • newInternalBehaviour

      public InternalSeff newInternalBehaviour()
      Creates a new ResourceDemandingInternalBehaviour/ResourceDemandingBehaviour/ForkedBehaviour (depending on the context). If the context does not distinctly favor any behaviour, ResourceDemandingBehaviour acts as default.

      It models the behaviour of a component service as a sequence of internal actions with resource demands, control flow constructs, and external calls. Therefore, the class contains a chain of AbstractActions.

      Use the method withStartAction() to specify its step-wise behaviour.

      Returns:
      the internal behaviour in the making
      See Also:
      • ResourceDemandingInternalBehaviour
      • ResourceDemandingBehaviour
      • ForkedBehaviour
    • newRecoveryBehaviour

      public RecoverySeff newRecoveryBehaviour()
      Creates a new RecoveryActionBehaviour.

      A recovery action behaviour provides a behaviour (a chain of AbstractActions) and alternatives of recovery blocks. They are resource demanding behaviours, thus any behaviour can be defined as an alternative. The alternatives of a recovery block form a chain. They are failure handling entities, i.e. they can handle failures that occur in previous alternatives. If one alternative fails, the next alternative is executed that can handle the failure type.

      Use the methods

      The alternatives of a recovery block form a chain and alternatives are referenced by name and have to be previously defined. Thus the chain of alternatives has to be created inversely. The last alternative that has no alternatives itself is created first, so the second last can reference it as its alternative.

      Returns:
      the recovery action behaviour in the making
      See Also:
      • RecoveryActionBehaviour
    • newOperationSignature

      public OperationSignatureCreator newOperationSignature()
      Creates a new OperationSignature.

      Every service of an interface has a unique signature, like void doSomething(int a). A PCM signature is comparable to a method signature in programming languages like C#, Java or the OMG IDL.

      An operation signature contains

      • a type of the return value or void (no return value),
      • an identifier naming the service,
      • an ordered set of parameters (0..*). Each parameter is a tuple of a dataType and an identifier (which is unique across the parameters). Optionally, the modifiers in, out, and inout (with its OMG IDL semantics) can be used for parameters.
      • and an unordered set of org.palladiosimulator.generator.fluent.exceptions.
      • Furthermore failures that may occur inside external services must be specified at the service signatures.
      A signature has to be unique for an interface through the tuple (identifier, order of parameters). Different interfaces can define equally named signatures, however, they are not identical.

      Returns:
      the operation signature in the making
      See Also:
    • newInfrastructureSignature

      public InfrastructureSignatureCreator newInfrastructureSignature()
      Creates a new InfrastructureSignature.

      Every service of an interface has a unique signature, like void doSomething(int a). A PCM signature is comparable to a method signature in programming languages like C#, Java or the OMG IDL.

      An infrastructure signature contains

      • an identifier naming the service,
      • an ordered set of parameters (0..*). Each parameter is a tuple of a dataType and an identifier (which is unique across the parameters). Optionally, the modifiers in, out, and inout (with its OMG IDL semantics) can be used for parameters.
      • and an unordered set of org.palladiosimulator.generator.fluent.exceptions.
      • Furthermore failures that may occur inside external services must be specified at the service signatures.
      A signature has to be unique for an interface through the tuple (identifier, order of parameters). Different interfaces can define equally named signatures, however, they are not identical.

      Returns:
      the infrastructure signature in the making
      See Also:
    • newEventType

      public EventTypeCreator newEventType()
      Creates a new EventType.

      Every service of an interface/event group has a unique signature/event type, like void doSomething(int a). A PCM signature/event type is comparable to a method signature in programming languages like C#, Java or the OMG IDL.

      An event type contains

      • a type of the return value or void (no return value),
      • an identifier naming the service,
      • an ordered set of parameters (0..*). Each parameter is a tuple of a dataType and an identifier (which is unique across the parameters). Optionally, the modifiers in, out, and inout (with its OMG IDL semantics) can be used for parameters.
      • and an unordered set of org.palladiosimulator.generator.fluent.exceptions.
      • Furthermore failures that may occur inside external services must be specified at the service signatures/event types.
      A signature/event type has to be unique for an interface/event group through the tuple (identifier, order of parameters). Different interfaces/event groups can define equally named signatures/event types, however, they are not identical.

      Returns:
      the event type in the making
      See Also:
    • newVariableUsage

      public VariableUsageCreator newVariableUsage()
      Creates a new VariableUsage.

      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.

      Use the methods withVariableCharacterisation(String, VariableCharacterisationType), withVariableReference(String) and withNamespaceReference(String, String...) to define the variable usage.

      Returns:
      the variable usage in the making
      See Also:
    • fetchOfCompositeDataType

      public org.palladiosimulator.pcm.repository.CompositeDataType fetchOfCompositeDataType(String name)
      Extracts the by name referenced composite data type from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no composite data type is present under the given name. If more than one composite data type with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first composite data type it finds.

      Parameters:
      name -
      Returns:
      the composite data type
      See Also:
    • fetchOfDataType

      public org.palladiosimulator.pcm.repository.DataType fetchOfDataType(Primitive primitive)
      Extracts the primitive data type corresponding to the enum primitive from the repository.
      Parameters:
      primitive -
      Returns:
      the data type
      See Also:
      • PrimitiveDataType
    • fetchOfDataType

      public org.palladiosimulator.pcm.repository.DataType fetchOfDataType(String name)
      Extracts the by name referenced data type from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no data type is present under the given name. It is advised to check existence first by calling containsDataType(String). If more than one data type with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first data type it finds.

      Parameters:
      name -
      imported -
      Returns:
      the data type
      See Also:
    • containsDataType

      public boolean containsDataType(String name)
      Checks whether the by name referenced data type is in the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.
      Parameters:
      name -
      Returns:
      true iff the data type is contained
      See Also:
      • apiControlFlowInterfaces.RepoAddition#addToRepository(CollectionDataType)
      • apiControlFlowInterfaces.RepoAddition#addToRepository(CompositeDataTypeCreator)
      • DataType
    • fetchOfResourceTimeoutFailureType

      public org.palladiosimulator.pcm.reliability.ResourceTimeoutFailureType fetchOfResourceTimeoutFailureType(String name)
      Extracts the resource timeout failure type referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no resource timeout failure type is present under the given name. If more than one resource timeout failure type with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first resource timeout failure type it finds.

      Parameters:
      name -
      Returns:
      the resource timeout failure type
      See Also:
      • ResourceTimeoutFailureType
    • fetchOfFailureType

      public org.palladiosimulator.pcm.reliability.FailureType fetchOfFailureType(Failure failure)
      Extracts the failure type referenced by failure from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no failure type is present under the given name. If more than one failure type with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first failure type it finds.

      Parameters:
      failure -
      Returns:
      the failure type
      See Also:
      • FailureType
    • fetchOfFailureType

      public org.palladiosimulator.pcm.reliability.FailureType fetchOfFailureType(String name)
      Extracts the failure type referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no failure type is present under the given name. If more than one failure type with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first failure type it finds.

      Parameters:
      name -
      Returns:
      the failure type
      See Also:
      • FailureType
    • fetchOfExceptionType

      public org.palladiosimulator.pcm.repository.ExceptionType fetchOfExceptionType(String name)
      Extracts the exception type referenced by name from the repository.

      This method throws a FluentApiException if no exception type is present under the given name. If more than one exception type with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first exception type it finds.

      Parameters:
      name -
      Returns:
      the exception type
      See Also:
      • ExceptionType
    • fetchOfComponent

      public org.palladiosimulator.pcm.repository.RepositoryComponent fetchOfComponent(String name)
      Extracts the component referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no component is present under the given name. If more than one component with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first component it finds.

      Parameters:
      name -
      Returns:
      the component
      See Also:
    • fetchOfBasicComponent

      public org.palladiosimulator.pcm.repository.BasicComponent fetchOfBasicComponent(String name)
      Extracts the basic component referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no basic component is present under the given name. If more than one basic component with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first basic component it finds.

      Parameters:
      name -
      Returns:
      the basic component
      See Also:
    • fetchOfCompositeComponent

      public org.palladiosimulator.pcm.repository.CompositeComponent fetchOfCompositeComponent(String name)
      Extracts the composite component referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no composite component is present under the given name. If more than one composite component with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first composite component it finds.

      Parameters:
      name -
      Returns:
      the composite component
      See Also:
    • fetchOfSubSystem

      public org.palladiosimulator.pcm.subsystem.SubSystem fetchOfSubSystem(String name)
      Extracts the subsystem referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no subsystem is present under the given name. If more than one subsystem with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first subsystem it finds.

      Parameters:
      name -
      Returns:
      the subsystem
      See Also:
    • fetchOfCompleteComponentType

      public org.palladiosimulator.pcm.repository.CompleteComponentType fetchOfCompleteComponentType(String name)
      Extracts the complete component type referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no complete component type is present under the given name. If more than one complete component type with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first complete component type it finds.

      Parameters:
      name -
      Returns:
      the complete component type
      See Also:
    • fetchOfProvidesComponentType

      public org.palladiosimulator.pcm.repository.ProvidesComponentType fetchOfProvidesComponentType(String name)
      Extracts the provides component type referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no provides component type is present under the given name. If more than one provides component type with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first provides component type it finds.

      Parameters:
      name -
      Returns:
      the provides component type
      See Also:
    • fetchOfInterface

      public org.palladiosimulator.pcm.repository.Interface fetchOfInterface(String name)
      Extracts the interface referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no interface is present under the given name. If more than one interface with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first interface it finds.

      Parameters:
      name -
      Returns:
      the interface
      See Also:
    • fetchOfOperationInterface

      public org.palladiosimulator.pcm.repository.OperationInterface fetchOfOperationInterface(String name)
      Extracts the operation interface referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no operation interface is present under the given name. If more than one operation interface with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first operation interface it finds.

      Parameters:
      name -
      Returns:
      the operation interface
      See Also:
    • fetchOfInfrastructureInterface

      public org.palladiosimulator.pcm.repository.InfrastructureInterface fetchOfInfrastructureInterface(String name)
      Extracts the infrastructure interface referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no infrastructure interface is present under the given name. If more than one infrastructure interface with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first infrastructure interface it finds.

      Parameters:
      name -
      Returns:
      the infrastructure interface
      See Also:
    • fetchOfEventGroup

      public org.palladiosimulator.pcm.repository.EventGroup fetchOfEventGroup(String name)
      Extracts the event group referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no event group is present under the given name. If more than one event group with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first event group it finds.

      Parameters:
      name -
      Returns:
      the event group
      See Also:
    • fetchOfProvidedRole

      public org.palladiosimulator.pcm.repository.ProvidedRole fetchOfProvidedRole(String name)
      Extracts the provided role referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no provided role is present under the given name. If more than one provided role with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first provided role it finds.

      Parameters:
      name -
      Returns:
      the provided role
      See Also:
      • ProvidedRole
    • fetchOfOperationProvidedRole

      public org.palladiosimulator.pcm.repository.OperationProvidedRole fetchOfOperationProvidedRole(String name)
      Extracts the operation provided role referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no operation provided role is present under the given name. If more than one operation provided role with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first operation provided role it finds.

      Parameters:
      name -
      Returns:
      the operation provided role
      See Also:
      • OperationProvidedRole
    • fetchOfInfrastructureProvidedRole

      public org.palladiosimulator.pcm.repository.InfrastructureProvidedRole fetchOfInfrastructureProvidedRole(String name)
      Extracts the infrastructure provided role referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no infrastructure provided role is present under the given name. If more than one infrastructure provided role with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first infrastructure provided role it finds.

      Parameters:
      name -
      Returns:
      the infrastructure provided role
      See Also:
      • InfrastructureProvidedRole
    • fetchOfSinkRole

      public org.palladiosimulator.pcm.repository.SinkRole fetchOfSinkRole(String name)
      Extracts the sink role referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no sink role is present under the given name. If more than one sink role with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first sink role it finds.

      Parameters:
      name -
      Returns:
      the sink role
      See Also:
      • SinkRole
    • fetchOfRequiredRole

      public org.palladiosimulator.pcm.repository.RequiredRole fetchOfRequiredRole(String name)
      Extracts the required role referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no required role is present under the given name. If more than one required role with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first required role it finds.

      Parameters:
      name -
      Returns:
      the required role
      See Also:
      • RequiredRole
    • fetchOfOperationRequiredRole

      public org.palladiosimulator.pcm.repository.OperationRequiredRole fetchOfOperationRequiredRole(String name)
      Extracts the operation required role referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no operation required role is present under the given name. If more than one operation required role with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first operation required role it finds.

      Parameters:
      name -
      Returns:
      the operation required role
      See Also:
      • OperationRequiredRole
    • fetchOfInfrastructureRequiredRole

      public org.palladiosimulator.pcm.repository.InfrastructureRequiredRole fetchOfInfrastructureRequiredRole(String name)
      Extracts the infrastructure required role referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no infrastructure required role is present under the given name. If more than one infrastructure required role with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first infrastructure required role it finds.

      Parameters:
      name -
      Returns:
      the infrastructure required role
      See Also:
      • InfrastructureRequiredRole
    • fetchOfSourceRole

      public org.palladiosimulator.pcm.repository.SourceRole fetchOfSourceRole(String name)
      Extracts the source role referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no source role is present under the given name. If more than one source role with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first source role it finds.

      Parameters:
      name -
      Returns:
      the source role
      See Also:
      • SourceRole
    • fetchOfResourceRequiredRole

      public org.palladiosimulator.pcm.core.entity.ResourceRequiredRole fetchOfResourceRequiredRole(String name)
      Extracts the resource required role referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no resource required role is present under the given name. If more than one resource required role with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first resource required role it finds.

      Parameters:
      name -
      Returns:
      the resource required role
      See Also:
      • ResourceRequiredRole
    • fetchOfSignature

      public org.palladiosimulator.pcm.repository.Signature fetchOfSignature(String name)
      Extracts the signature referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no signature is present under the given name. If more than one signature with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first signature it finds.

      Parameters:
      name -
      Returns:
      the signature
      See Also:
      • Signature
    • fetchOfOperationSignature

      public org.palladiosimulator.pcm.repository.OperationSignature fetchOfOperationSignature(String name)
      Extracts the operation signature referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no operation signature is present under the given name. If more than one operation signature with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first operation signature it finds.

      Parameters:
      name -
      Returns:
      the operation signature
      See Also:
      • OperationSignature
    • fetchOfInfrastructureSignature

      public org.palladiosimulator.pcm.repository.InfrastructureSignature fetchOfInfrastructureSignature(String name)
      Extracts the infrastructure signature referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no infrastructure signature is present under the given name. If more than one infrastructure signature with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first infrastructure signature it finds.

      Parameters:
      name -
      Returns:
      the infrastructure signature
      See Also:
      • InfrastructureSignature
    • fetchOfEventType

      public org.palladiosimulator.pcm.repository.EventType fetchOfEventType(String name)
      Extracts the event type referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no event type is present under the given name. If more than one event type with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first event type it finds.

      Parameters:
      name -
      Returns:
      the event type
      See Also:
      • EventType
    • fetchOfAssemblyContext

      public org.palladiosimulator.pcm.core.composition.AssemblyContext fetchOfAssemblyContext(String name)
      Extracts the assembly context referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no assembly context is present under the given name. If more than one assembly context with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first assembly context it finds.

      Parameters:
      name -
      Returns:
      the assembly context
      See Also:
      • AssemblyContext
    • fetchOfEventChannel

      public org.palladiosimulator.pcm.core.composition.EventChannel fetchOfEventChannel(String name)
      Extracts the event channel referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no event channel is present under the given name. If more than one event channel with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first event channel it finds.

      Parameters:
      name -
      Returns:
      the event channel
      See Also:
      • EventChannel
    • fetchOfParameter

      public org.palladiosimulator.pcm.repository.Parameter fetchOfParameter(String name)
      Extracts the parameter referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no parameter is present under the given name. If more than one parameter with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first parameter it finds.

      Parameters:
      name -
      Returns:
      the parameter
      See Also:
      • Parameter
    • fetchOfParameter

      public org.palladiosimulator.pcm.repository.Parameter fetchOfParameter(String name, org.palladiosimulator.pcm.repository.Signature context)
      Extracts the parameter referenced by name occurring in the signature context from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no parameter is present under the given name. If more than one parameter with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first parameter it finds.

      Parameters:
      name -
      context -
      Returns:
      the parameter
      See Also:
      • Parameter
    • fetchOfPassiveResource

      public org.palladiosimulator.pcm.repository.PassiveResource fetchOfPassiveResource(String name)
      Extracts the passive resource referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no passive resource is present under the given name. If more than one passive resource with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first passive resource it finds.

      Parameters:
      name -
      Returns:
      the recovery action behaviour
      See Also:
      • RecoveryActionBehaviour
    • fetchOfRecoveryActionBehaviour

      public org.palladiosimulator.pcm.seff.seff_reliability.RecoveryActionBehaviour fetchOfRecoveryActionBehaviour(String name)
      Extracts the recovery action behaviour referenced by name from the repository. If the entity belongs to an imported repository, refer to it as <repositoryName>.<name>.

      This method throws a FluentApiException if no recovery action behaviour is present under the given name. If more than one recovery action behaviour with this name is present, a warning will be printed during runtime and the org.palladiosimulator.generator.fluent.system chooses the first recovery action behaviour it finds.

      Parameters:
      name -
      Returns:
      the recovery action behaviour
      See Also:
      • RecoveryActionBehaviour