Package org.ivoa.dm.executionbroker
Class AbstractExecutable
java.lang.Object
org.ivoa.dm.executionbroker.AbstractComponent
org.ivoa.dm.executionbroker.AbstractExecutable
- All Implemented Interfaces:
org.ivoa.vodml.jpa.JPAManipulations,org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
- Direct Known Subclasses:
DockerContainer,JupyterNotebook,SingularityContainer
@Entity
@VoDml(id="execbroker:AbstractExecutable",
role=objectType)
public class AbstractExecutable
extends AbstractComponent
implements org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
Abstract base class for executables.
objectType: AbstractExecutable
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA builder class for AbstractExecutable, mainly for use in the functional builder pattern. -
Field Summary
FieldsFields inherited from class org.ivoa.dm.executionbroker.AbstractComponent
_id, kind, meta -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new AbstractExecutableAbstractExecutable(AbstractComponent superinstance, LifecycleComponent lifecycle) Constructor from supertype instance.Copy Constructor.AbstractExecutable(LifecycleComponent lifecycle, String kind, ComponentMetadata meta) full parameter constructor. -
Method Summary
Modifier and TypeMethodDescriptioncopyMe()make a clone of the object taking into account current polymorhic type.static AbstractExecutablecreate a AbstractExecutable in functional builder style.voiddelete(jakarta.persistence.EntityManager em) voidReturns lifecycle Attribute.voidsetLifecycle(LifecycleComponent pLifecycle) Set lifecycle Attribute.voidupdateUsing(AbstractExecutable other) Update this object with the content of the given object.withLifecycle(LifecycleComponent pLifecycle) fluent setter for lifecycle Attribute.Methods inherited from class org.ivoa.dm.executionbroker.AbstractComponent
getId, getKind, getMeta, setKind, setMeta, updateUsing, withKind, withMetaMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.ivoa.vodml.jpa.JPAManipulationsForObjectType
getId
-
Field Details
-
lifecycle
@VoDml(id="execbroker:AbstractExecutable.lifecycle", role=composition, type="execbroker:LifecycleComponent", typeRole=objectType) protected LifecycleComponent lifecycle. composition lifecycle : ( Multiplicity : 1 )
-
-
Constructor Details
-
AbstractExecutable
public AbstractExecutable()Creates a new AbstractExecutable -
AbstractExecutable
full parameter constructor.- Parameters:
lifecycle- .kind- The component type identifier.meta- The component metadata.
-
AbstractExecutable
Copy Constructor. Note that references will remain as is rather than be copied.- Parameters:
other- the object to be copied.
-
AbstractExecutable
Constructor from supertype instance.- Parameters:
superinstance- The supertype.lifecycle- .
-
-
Method Details
-
copyMe
make a clone of the object taking into account current polymorhic type.- Specified by:
copyMein classAbstractComponent- Returns:
- the cloned object.
-
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.
-
getLifecycle
Returns lifecycle Attribute.- Returns:
- lifecycle Attribute
-
setLifecycle
Set lifecycle Attribute.- Parameters:
pLifecycle- value to set
-
withLifecycle
fluent setter for lifecycle Attribute.- Parameters:
pLifecycle- value to set- Returns:
- AbstractExecutable
-
createAbstractExecutable
public static AbstractExecutable createAbstractExecutable(Consumer<AbstractExecutable.AbstractExecutableBuilder> f) create a AbstractExecutable 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- Overrides:
forceLoadin classAbstractComponent
-
delete
public void delete(jakarta.persistence.EntityManager em) - Specified by:
deletein interfaceorg.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
-