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()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!".
//create datatypes, components, interfaces etc. here
.createRepositoryNow();
-
-
Constructor Summary
Constructors Constructor Description FluentRepositoryFactory()Creates an instance of the FluentRepositoryFactory.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontainsDataType(String name)Checks whether the bynamereferenced data type is in the repository.org.palladiosimulator.pcm.core.composition.AssemblyContextfetchOfAssemblyContext(String name)Extracts the assembly context referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.BasicComponentfetchOfBasicComponent(String name)Extracts the basic component referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.CompleteComponentTypefetchOfCompleteComponentType(String name)Extracts the complete component type referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.RepositoryComponentfetchOfComponent(String name)Extracts the component referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.CompositeComponentfetchOfCompositeComponent(String name)Extracts the composite component referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.CompositeDataTypefetchOfCompositeDataType(String name)Extracts the bynamereferenced composite data type from the repository.org.palladiosimulator.pcm.repository.DataTypefetchOfDataType(String name)Extracts the bynamereferenced data type from the repository.org.palladiosimulator.pcm.repository.DataTypefetchOfDataType(Primitive primitive)Extracts the primitive data type corresponding to the enumprimitivefrom the repository.org.palladiosimulator.pcm.core.composition.EventChannelfetchOfEventChannel(String name)Extracts the event channel referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.EventGroupfetchOfEventGroup(String name)Extracts the event group referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.EventTypefetchOfEventType(String name)Extracts the event type referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.ExceptionTypefetchOfExceptionType(String name)Extracts the exception type referenced bynamefrom the repository.org.palladiosimulator.pcm.reliability.FailureTypefetchOfFailureType(String name)Extracts the failure type referenced bynamefrom the repository.org.palladiosimulator.pcm.reliability.FailureTypefetchOfFailureType(Failure failure)Extracts the failure type referenced byfailurefrom the repository.org.palladiosimulator.pcm.repository.InfrastructureInterfacefetchOfInfrastructureInterface(String name)Extracts the infrastructure interface referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.InfrastructureProvidedRolefetchOfInfrastructureProvidedRole(String name)Extracts the infrastructure provided role referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.InfrastructureRequiredRolefetchOfInfrastructureRequiredRole(String name)Extracts the infrastructure required role referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.InfrastructureSignaturefetchOfInfrastructureSignature(String name)Extracts the infrastructure signature referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.InterfacefetchOfInterface(String name)Extracts the interface referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.OperationInterfacefetchOfOperationInterface(String name)Extracts the operation interface referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.OperationProvidedRolefetchOfOperationProvidedRole(String name)Extracts the operation provided role referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.OperationRequiredRolefetchOfOperationRequiredRole(String name)Extracts the operation required role referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.OperationSignaturefetchOfOperationSignature(String name)Extracts the operation signature referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.ParameterfetchOfParameter(String name)Extracts the parameter referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.ParameterfetchOfParameter(String name, org.palladiosimulator.pcm.repository.Signature context)Extracts the parameter referenced bynameoccurring in the signaturecontextfrom the repository.org.palladiosimulator.pcm.repository.PassiveResourcefetchOfPassiveResource(String name)Extracts the passive resource referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.ProvidedRolefetchOfProvidedRole(String name)Extracts the provided role referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.ProvidesComponentTypefetchOfProvidesComponentType(String name)Extracts the provides component type referenced bynamefrom the repository.org.palladiosimulator.pcm.seff.seff_reliability.RecoveryActionBehaviourfetchOfRecoveryActionBehaviour(String name)Extracts the recovery action behaviour referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.RequiredRolefetchOfRequiredRole(String name)Extracts the required role referenced bynamefrom the repository.org.palladiosimulator.pcm.core.entity.ResourceRequiredRolefetchOfResourceRequiredRole(String name)Extracts the resource required role referenced bynamefrom the repository.org.palladiosimulator.pcm.reliability.ResourceTimeoutFailureTypefetchOfResourceTimeoutFailureType(String name)Extracts the resource timeout failure type referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.SignaturefetchOfSignature(String name)Extracts the signature referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.SinkRolefetchOfSinkRole(String name)Extracts the sink role referenced bynamefrom the repository.org.palladiosimulator.pcm.repository.SourceRolefetchOfSourceRole(String name)Extracts the source role referenced bynamefrom the repository.org.palladiosimulator.pcm.subsystem.SubSystemfetchOfSubSystem(String name)Extracts the subsystem referenced bynamefrom the repository.BasicComponentCreatornewBasicComponent()Creates a new basic component.org.palladiosimulator.pcm.repository.CollectionDataTypenewCollectionDataType(String name, Primitive primitive)Creates a new collection data type with namenameand of typeprimitive.static org.palladiosimulator.pcm.repository.CollectionDataTypenewCollectionDataType(String name, org.palladiosimulator.pcm.repository.DataType dataType)Creates a new collection data type with namenameand of typedataType.CompleteComponentTypeCreatornewCompleteComponentType()Creates a new complete component type.CompositeComponentCreatornewCompositeComponent()Creates a new composite component.CompositeDataTypeCreatornewCompositeDataType()Creates a new collection data type.EventGroupCreatornewEventGroup()Creates a new event group.EventTypeCreatornewEventType()Creates a newEventType.ExceptionTypeCreatornewExceptionType()org.palladiosimulator.pcm.reliability.HardwareInducedFailureTypenewHardwareInducedFailureType(String name, ProcessingResource processingResource)Creates a new hardware induced failure type with namenameand processing resourceprocessingResource.InfrastructureInterfaceCreatornewInfrastructureInterface()Creates a new infrastructure interface.InfrastructureSignatureCreatornewInfrastructureSignature()Creates a newInfrastructureSignature.InternalSeffnewInternalBehaviour()Creates a new ResourceDemandingInternalBehaviour/ResourceDemandingBehaviour/ForkedBehaviour (depending on the context).org.palladiosimulator.pcm.reliability.NetworkInducedFailureTypenewNetworkInducedFailureType(String name, CommunicationLinkResource communicationLinkResource)Creates a new network induced failure type with namenameand communication link resourcecommunicationLinkResource.OperationInterfaceCreatornewOperationInterface()Creates a new operation interface.OperationSignatureCreatornewOperationSignature()Creates a newOperationSignature.ProvidesComponentTypeCreatornewProvidesComponentType()Creates a new provided component type.RecoverySeffnewRecoveryBehaviour()Creates a newRecoveryActionBehaviour.ReponewRepository()Creates a representation of the model object 'Repository'.ResourceTimeoutFailureTypeCreatornewResourceTimeoutFailureType(String name)Creates a new resource timeout failure type with namename.SeffnewSeff()Creates a newResourceDemandingSEFF.static org.palladiosimulator.pcm.reliability.SoftwareInducedFailureTypenewSoftwareInducedFailureType(String name)Creates a new software induced failure type with namename.SubSystemCreatornewSubSystem()Creates a new subsystem.VariableUsageCreatornewVariableUsage()Creates a newVariableUsage.
-
-
-
Method Detail
-
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 usageandconformity.
The possible roles to other interfaces areproviding 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 usageandconformity.
The possible roles to other interfaces areproviding 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 areassembly 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 areproviding 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 areassembly 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
nameand provide the rolesproviding 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
nameand provide the rolesproviding 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, theirparental interfaces (conformity), theiroperation signaturesand the correspondingrequired 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, theirparental interfaces (conformity), theirinfrastructure signaturesand the correspondingrequired 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, theirparental interfaces (conformity), theirevent typesand the correspondingrequired 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 namenameand of typeprimitive.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 conformingList<String>in Java.- Parameters:
name- the unique name of the new collection data typeprimitive- the primitive data type that the elements have- Returns:
- the collection data type
- See Also:
CollectionDataType,Primitive
-
newCollectionDataType
public static org.palladiosimulator.pcm.repository.CollectionDataType newCollectionDataType(String name, org.palladiosimulator.pcm.repository.DataType dataType)
Creates a new collection data type with namenameand of typedataType.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 conformingList<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 typedataType- the data type that the elements have- Returns:
- the collection data type
- See Also:
fetchOfDataType(String),fetchOfDataType(Primitive),CollectionDataType,DataType
-
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 typeparents- array of parent composite data types- Returns:
- the composite data type in the making
- See Also:
CompositeDataTypeCreator.withInnerDeclaration(String, Primitive),CompositeDataTypeCreator.withInnerDeclaration(String, DataType),CompositeDataType
-
newHardwareInducedFailureType
public org.palladiosimulator.pcm.reliability.HardwareInducedFailureType newHardwareInducedFailureType(String name, ProcessingResource processingResource)
Creates a new hardware induced failure type with namenameand processing resourceprocessingResource.- 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 namenameand communication link resourcecommunicationLinkResource.- 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 namename.- 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 namename.- Parameters:
name-- Returns:
- the software induced failure type
- See Also:
SoftwareInducedFailureType
-
newExceptionType
public ExceptionTypeCreator newExceptionType()
-
newSeff
public Seff newSeff()
Creates a newResourceDemandingSEFF. 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)andwithInternalBehaviour(InternalSeff)to define the seff.
In the end use the methodwithSeffBehaviour()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 newRecoveryActionBehaviour.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
withFailureType(Failure)to add possibly occurring failures to the behaviour,withAlternativeRecoveryBehaviour(RecoveryActionBehaviour)to add previously defined recovery behaviours as alternatives andwithSeffBehaviour()to specify this RecoveryActionBehaviour's step-wise behaviour.
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 newOperationSignature.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 valueor void (no return value), - an
identifiernaming the service, - an ordered set of
parameters(0..*). Each parameter is a tuple of adataTypeand anidentifier(which is unique across the parameters). Optionally, themodifiersin, out, and inout (with its OMG IDL semantics) can be used for parameters. - and an unordered set of
org.palladiosimulator.generator.fluent.exceptions. - Furthermore
failuresthat may occur inside external services must be specified at the service signatures.
- Returns:
- the operation signature in the making
- See Also:
Signature,OperationSignatureCreator.withName(String),OperationSignatureCreator.withReturnType(org.palladiosimulator.pcm.repository.DataType),OperationSignatureCreator.withParameter(String, org.palladiosimulator.pcm.repository.DataType, org.palladiosimulator.pcm.repository.ParameterModifier),OperationSignatureCreator.withParameter(String, org.palladiosimulator.generator.fluent.repository.structure.internals.datatypes.Primitive, org.palladiosimulator.pcm.repository.ParameterModifier),OperationSignatureCreator.withExceptionType(org.palladiosimulator.pcm.repository.ExceptionType),OperationSignatureCreator.withFailureType(org.palladiosimulator.pcm.reliability.FailureType),org.palladiosimulator.generator.fluent.repository.structure.interfaces.OperationSignatureCreator#createSignature()
- a
-
newInfrastructureSignature
public InfrastructureSignatureCreator newInfrastructureSignature()
Creates a newInfrastructureSignature.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
identifiernaming the service, - an ordered set of
parameters(0..*). Each parameter is a tuple of adataTypeand anidentifier(which is unique across the parameters). Optionally, themodifiersin, out, and inout (with its OMG IDL semantics) can be used for parameters. - and an unordered set of
org.palladiosimulator.generator.fluent.exceptions. - Furthermore
failuresthat may occur inside external services must be specified at the service signatures.
- Returns:
- the infrastructure signature in the making
- See Also:
Signature,InfrastructureSignatureCreator.withName(String),org.palladiosimulator.generator.fluent.repository.structure.interfaces.InfrastructureSignatureCreator#withReturnType(org.palladiosimulator.pcm.repository.DataType),InfrastructureSignatureCreator.withParameter(String, org.palladiosimulator.pcm.repository.DataType, org.palladiosimulator.pcm.repository.ParameterModifier),InfrastructureSignatureCreator.withParameter(String, org.palladiosimulator.generator.fluent.repository.structure.internals.datatypes.Primitive, org.palladiosimulator.pcm.repository.ParameterModifier),InfrastructureSignatureCreator.withExceptionType(org.palladiosimulator.pcm.repository.ExceptionType),InfrastructureSignatureCreator.withFailureType(org.palladiosimulator.pcm.reliability.FailureType),org.palladiosimulator.generator.fluent.repository.structure.interfaces.InfrastructureSignatureCreator#createSignature()
- an
-
newEventType
public EventTypeCreator newEventType()
Creates a newEventType.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 valueor void (no return value), - an
identifiernaming the service, - an ordered set of
parameters(0..*). Each parameter is a tuple of adataTypeand anidentifier(which is unique across the parameters). Optionally, themodifiersin, out, and inout (with its OMG IDL semantics) can be used for parameters. - and an unordered set of
org.palladiosimulator.generator.fluent.exceptions. - Furthermore
failuresthat may occur inside external services must be specified at the service signatures/event types.
- Returns:
- the event type in the making
- See Also:
Signature,EventTypeCreator.withName(String),org.palladiosimulator.generator.fluent.repository.structure.interfaces.EventTypeCreator#withReturnType(org.palladiosimulator.pcm.repository.DataType),EventTypeCreator.withParameter(String, org.palladiosimulator.pcm.repository.DataType, org.palladiosimulator.pcm.repository.ParameterModifier),EventTypeCreator.withParameter(String, org.palladiosimulator.generator.fluent.repository.structure.internals.datatypes.Primitive, org.palladiosimulator.pcm.repository.ParameterModifier),EventTypeCreator.withExceptionType(org.palladiosimulator.pcm.repository.ExceptionType),EventTypeCreator.withFailureType(org.palladiosimulator.pcm.reliability.FailureType),org.palladiosimulator.generator.fluent.repository.structure.interfaces.EventTypeCreator#createEventType()
- a
-
newVariableUsage
public VariableUsageCreator newVariableUsage()
Creates a newVariableUsage.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)andwithNamespaceReference(String, String...)to define the variable usage.- Returns:
- the variable usage in the making
- See Also:
VariableUsageCreator.withVariableCharacterisation(String, org.palladiosimulator.pcm.parameter.VariableCharacterisationType),VariableUsageCreator.withVariableReference(String),VariableUsageCreator.withNamespaceReference(String, String...),VariableUsage
-
fetchOfCompositeDataType
public org.palladiosimulator.pcm.repository.CompositeDataType fetchOfCompositeDataType(String name)
Extracts the bynamereferenced 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 thisnameis 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:
RepoAddition.addToRepository(CompositeDataTypeCreator),CompositeDataType
-
fetchOfDataType
public org.palladiosimulator.pcm.repository.DataType fetchOfDataType(Primitive primitive)
Extracts the primitive data type corresponding to the enumprimitivefrom the repository.- Parameters:
primitive-- Returns:
- the data type
- See Also:
PrimitiveDataType
-
fetchOfDataType
public org.palladiosimulator.pcm.repository.DataType fetchOfDataType(String name)
Extracts the bynamereferenced 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 callingcontainsDataType(String). If more than one data type with thisnameis 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:
RepoAddition.addToRepository(CollectionDataType),RepoAddition.addToRepository(CompositeDataTypeCreator),DataType
-
containsDataType
public boolean containsDataType(String name)
Checks whether the bynamereferenced data type is in the repository. If the entity belongs to an imported repository, refer to it as<repositoryName>.<name>.- Parameters:
name-- Returns:
trueiff 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 bynamefrom 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 thisnameis 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 byfailurefrom 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 thisnameis 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 bynamefrom 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 thisnameis 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 bynamefrom the repository.This method throws a FluentApiException if no exception type is present under the given
name. If more than one exception type with thisnameis 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 bynamefrom 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 thisnameis 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:
RepoAddition.addToRepository(org.palladiosimulator.generator.fluent.component.repositoryStructure.components.Component),RepositoryComponent
-
fetchOfBasicComponent
public org.palladiosimulator.pcm.repository.BasicComponent fetchOfBasicComponent(String name)
Extracts the basic component referenced bynamefrom 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 thisnameis 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:
RepoAddition.addToRepository(org.palladiosimulator.generator.fluent.component.repositoryStructure.components.Component),BasicComponent
-
fetchOfCompositeComponent
public org.palladiosimulator.pcm.repository.CompositeComponent fetchOfCompositeComponent(String name)
Extracts the composite component referenced bynamefrom 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 thisnameis 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:
RepoAddition.addToRepository(org.palladiosimulator.generator.fluent.component.repositoryStructure.components.Component),CompositeComponent
-
fetchOfSubSystem
public org.palladiosimulator.pcm.subsystem.SubSystem fetchOfSubSystem(String name)
Extracts the subsystem referenced bynamefrom 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 thisnameis 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:
RepoAddition.addToRepository(org.palladiosimulator.generator.fluent.component.repositoryStructure.components.Component),SubSystem
-
fetchOfCompleteComponentType
public org.palladiosimulator.pcm.repository.CompleteComponentType fetchOfCompleteComponentType(String name)
Extracts the complete component type referenced bynamefrom 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 thisnameis 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:
RepoAddition.addToRepository(org.palladiosimulator.generator.fluent.component.repositoryStructure.components.Component),CompleteComponentType
-
fetchOfProvidesComponentType
public org.palladiosimulator.pcm.repository.ProvidesComponentType fetchOfProvidesComponentType(String name)
Extracts the provides component type referenced bynamefrom 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 thisnameis 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:
RepoAddition.addToRepository(org.palladiosimulator.generator.fluent.component.repositoryStructure.components.Component),ProvidesComponentType
-
fetchOfInterface
public org.palladiosimulator.pcm.repository.Interface fetchOfInterface(String name)
Extracts the interface referenced bynamefrom 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 thisnameis 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:
RepoAddition.addToRepository(org.palladiosimulator.generator.fluent.repository.structure.interfaces.Interface),Interface
-
fetchOfOperationInterface
public org.palladiosimulator.pcm.repository.OperationInterface fetchOfOperationInterface(String name)
Extracts the operation interface referenced bynamefrom 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 thisnameis 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:
RepoAddition.addToRepository(org.palladiosimulator.generator.fluent.repository.structure.interfaces.Interface),OperationInterface
-
fetchOfInfrastructureInterface
public org.palladiosimulator.pcm.repository.InfrastructureInterface fetchOfInfrastructureInterface(String name)
Extracts the infrastructure interface referenced bynamefrom 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 thisnameis 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:
RepoAddition.addToRepository(org.palladiosimulator.generator.fluent.repository.structure.interfaces.Interface),InfrastructureInterface
-
fetchOfEventGroup
public org.palladiosimulator.pcm.repository.EventGroup fetchOfEventGroup(String name)
Extracts the event group referenced bynamefrom 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 thisnameis 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:
RepoAddition.addToRepository(org.palladiosimulator.generator.fluent.repository.structure.interfaces.Interface),EventGroup
-
fetchOfProvidedRole
public org.palladiosimulator.pcm.repository.ProvidedRole fetchOfProvidedRole(String name)
Extracts the provided role referenced bynamefrom 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 thisnameis 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 bynamefrom 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 thisnameis 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 bynamefrom 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 thisnameis 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 bynamefrom 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 thisnameis 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 bynamefrom 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 thisnameis 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 bynamefrom 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 thisnameis 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 bynamefrom 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 thisnameis 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 bynamefrom 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 thisnameis 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 bynamefrom 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 thisnameis 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 bynamefrom 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 thisnameis 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 bynamefrom 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 thisnameis 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 bynamefrom 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 thisnameis 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 bynamefrom 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 thisnameis 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 bynamefrom 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 thisnameis 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 bynamefrom 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 thisnameis 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 bynamefrom 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 thisnameis 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 bynameoccurring in the signaturecontextfrom 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 thisnameis 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 bynamefrom 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 thisnameis 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 bynamefrom 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 thisnameis 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
-
-