Package org.ivoa.dm.executionbroker
Class SimpleExecutionComponents
java.lang.Object
org.ivoa.dm.executionbroker.SimpleExecutionComponents
- All Implemented Interfaces:
org.ivoa.vodml.jpa.JPAManipulations,org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
@Entity
@VoDml(id="execbroker:SimpleExecutionComponents",
role=objectType)
public class SimpleExecutionComponents
extends Object
implements org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
The combination of an executable and the compute, storage, volumes, and data resources it needs.
objectType: SimpleExecutionComponents
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA builder class for SimpleExecutionComponents, mainly for use in the functional builder pattern. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Longinserted database keyprotected AbstractComputeResource.protected List<AbstractDataResource>.protected AbstractExecutable.protected List<AbstractStorageResource>.protected List<AbstractVolumeMount>. -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new SimpleExecutionComponentsSimpleExecutionComponents(AbstractExecutable executable, AbstractComputeResource compute, List<AbstractStorageResource> storage, List<AbstractVolumeMount> volumes, List<AbstractDataResource> data) full parameter constructor.Copy Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd a org.ivoa.dm.executionbroker.AbstractDataResource to the composition.voidAdd a org.ivoa.dm.executionbroker.AbstractStorageResource to the composition.voidAdd a org.ivoa.dm.executionbroker.AbstractVolumeMount to the composition.static SimpleExecutionComponentscreateSimpleExecutionComponents(Consumer<SimpleExecutionComponents.SimpleExecutionComponentsBuilder> f) create a SimpleExecutionComponents in functional builder style.voiddelete(jakarta.persistence.EntityManager em) voidReturns compute Attribute.getData()Returns data composition as an immutable list.Returns executable Attribute.getId()Returns storage composition as an immutable list.Returns volumes composition as an immutable list.voidRemove a org.ivoa.dm.executionbroker.AbstractDataResource from the composition.voidRemove a org.ivoa.dm.executionbroker.AbstractStorageResource from the composition.voidRemove a org.ivoa.dm.executionbroker.AbstractVolumeMount from the composition.voidupdate a org.ivoa.dm.executionbroker.AbstractDataResource in the composition.voidupdate a org.ivoa.dm.executionbroker.AbstractStorageResource in the composition.voidupdate a org.ivoa.dm.executionbroker.AbstractVolumeMount in the composition.voidsetCompute(AbstractComputeResource pCompute) Set compute Attribute.voidsetData(List<AbstractDataResource> pData) Defines whole data composition.voidsetExecutable(AbstractExecutable pExecutable) Set executable Attribute.voidsetStorage(List<AbstractStorageResource> pStorage) Defines whole storage composition.voidsetVolumes(List<AbstractVolumeMount> pVolumes) Defines whole volumes composition.voidUpdate this object with the content of the given object.withCompute(AbstractComputeResource pCompute) fluent setter for compute Attribute.withExecutable(AbstractExecutable pExecutable) fluent setter for executable Attribute.
-
Field Details
-
_id
inserted database key -
executable
@VoDml(id="execbroker:SimpleExecutionComponents.executable", role=composition, type="execbroker:AbstractExecutable", typeRole=objectType) protected AbstractExecutable executable. composition executable : ( Multiplicity : 1 ) -
compute
@VoDml(id="execbroker:SimpleExecutionComponents.compute", role=composition, type="execbroker:AbstractComputeResource", typeRole=objectType) protected AbstractComputeResource compute. composition compute : ( Multiplicity : 1 ) -
storage
@VoDml(id="execbroker:SimpleExecutionComponents.storage", role=composition, type="execbroker:AbstractStorageResource", typeRole=objectType) protected List<AbstractStorageResource> storage. composition storage : ( Multiplicity : 1..* ) -
volumes
@VoDml(id="execbroker:SimpleExecutionComponents.volumes", role=composition, type="execbroker:AbstractVolumeMount", typeRole=objectType) protected List<AbstractVolumeMount> volumes. composition volumes : ( Multiplicity : 1..* ) -
data
@VoDml(id="execbroker:SimpleExecutionComponents.data", role=composition, type="execbroker:AbstractDataResource", typeRole=objectType) protected List<AbstractDataResource> data. composition data : ( Multiplicity : 1..* )
-
-
Constructor Details
-
SimpleExecutionComponents
public SimpleExecutionComponents()Creates a new SimpleExecutionComponents -
SimpleExecutionComponents
public SimpleExecutionComponents(AbstractExecutable executable, AbstractComputeResource compute, List<AbstractStorageResource> storage, List<AbstractVolumeMount> volumes, List<AbstractDataResource> data) full parameter constructor.- Parameters:
executable- .compute- .storage- .volumes- .data- .
-
SimpleExecutionComponents
Copy Constructor. Note that references will remain as is rather than be copied.- Parameters:
other- the object to be copied.
-
-
Method Details
-
getId
- Specified by:
getIdin interfaceorg.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>- Returns:
- the id
-
updateUsing
Update this object with the content of the given object. Note that references will remain as is rather than be copied.- Parameters:
other- the object to be copied.
-
getExecutable
Returns executable Attribute.- Returns:
- executable Attribute
-
setExecutable
Set executable Attribute.- Parameters:
pExecutable- value to set
-
withExecutable
fluent setter for executable Attribute.- Parameters:
pExecutable- value to set- Returns:
- SimpleExecutionComponents
-
getCompute
Returns compute Attribute.- Returns:
- compute Attribute
-
setCompute
Set compute Attribute.- Parameters:
pCompute- value to set
-
withCompute
fluent setter for compute Attribute.- Parameters:
pCompute- value to set- Returns:
- SimpleExecutionComponents
-
getStorage
Returns storage composition as an immutable list.- Returns:
- storage composition.
-
setStorage
Defines whole storage composition.- Parameters:
pStorage- composition to set.
-
addToStorage
Add a org.ivoa.dm.executionbroker.AbstractStorageResource to the composition.- Parameters:
p- org.ivoa.dm.executionbroker.AbstractStorageResource to add
-
removeFromStorage
Remove a org.ivoa.dm.executionbroker.AbstractStorageResource from the composition.- Parameters:
p- org.ivoa.dm.executionbroker.AbstractStorageResource to remove
-
replaceInStorage
update a org.ivoa.dm.executionbroker.AbstractStorageResource in the composition.- Parameters:
_p- org.ivoa.dm.executionbroker.AbstractStorageResource to update the match is done via the database key
-
getVolumes
Returns volumes composition as an immutable list.- Returns:
- volumes composition.
-
setVolumes
Defines whole volumes composition.- Parameters:
pVolumes- composition to set.
-
addToVolumes
Add a org.ivoa.dm.executionbroker.AbstractVolumeMount to the composition.- Parameters:
p- org.ivoa.dm.executionbroker.AbstractVolumeMount to add
-
removeFromVolumes
Remove a org.ivoa.dm.executionbroker.AbstractVolumeMount from the composition.- Parameters:
p- org.ivoa.dm.executionbroker.AbstractVolumeMount to remove
-
replaceInVolumes
update a org.ivoa.dm.executionbroker.AbstractVolumeMount in the composition.- Parameters:
_p- org.ivoa.dm.executionbroker.AbstractVolumeMount to update the match is done via the database key
-
getData
Returns data composition as an immutable list.- Returns:
- data composition.
-
setData
Defines whole data composition.- Parameters:
pData- composition to set.
-
addToData
Add a org.ivoa.dm.executionbroker.AbstractDataResource to the composition.- Parameters:
p- org.ivoa.dm.executionbroker.AbstractDataResource to add
-
removeFromData
Remove a org.ivoa.dm.executionbroker.AbstractDataResource from the composition.- Parameters:
p- org.ivoa.dm.executionbroker.AbstractDataResource to remove
-
replaceInData
update a org.ivoa.dm.executionbroker.AbstractDataResource in the composition.- Parameters:
_p- org.ivoa.dm.executionbroker.AbstractDataResource to update the match is done via the database key
-
createSimpleExecutionComponents
public static SimpleExecutionComponents createSimpleExecutionComponents(Consumer<SimpleExecutionComponents.SimpleExecutionComponentsBuilder> f) create a SimpleExecutionComponents in functional builder style.- Parameters:
f- the functional builder.- Returns:
- an object initialized from the builder.
-
forceLoad
public void forceLoad()- Specified by:
forceLoadin interfaceorg.ivoa.vodml.jpa.JPAManipulations
-
delete
public void delete(jakarta.persistence.EntityManager em) - Specified by:
deletein interfaceorg.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
-