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

      public AbstractExecutable(LifecycleComponent lifecycle, String kind, ComponentMetadata meta)
      full parameter constructor.
      Parameters:
      lifecycle - .
      kind - The component type identifier.
      meta - The component metadata.
    • AbstractExecutable

      public AbstractExecutable(AbstractExecutable other)
      Copy Constructor. Note that references will remain as is rather than be copied.
      Parameters:
      other - the object to be copied.
    • AbstractExecutable

      public AbstractExecutable(AbstractComponent superinstance, LifecycleComponent lifecycle)
      Constructor from supertype instance.
      Parameters:
      superinstance - The supertype.
      lifecycle - .
  • Method Details

    • copyMe

      public AbstractComponent copyMe()
      make a clone of the object taking into account current polymorhic type.
      Specified by:
      copyMe in class AbstractComponent
      Returns:
      the cloned object.
    • updateUsing

      public void updateUsing(AbstractExecutable other)
      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

      public LifecycleComponent getLifecycle()
      Returns lifecycle Attribute.
      Returns:
      lifecycle Attribute
    • setLifecycle

      public void setLifecycle(LifecycleComponent pLifecycle)
      Set lifecycle Attribute.
      Parameters:
      pLifecycle - value to set
    • withLifecycle

      public AbstractExecutable withLifecycle(LifecycleComponent pLifecycle)
      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:
      forceLoad in interface org.ivoa.vodml.jpa.JPAManipulations
      Overrides:
      forceLoad in class AbstractComponent
    • delete

      public void delete(jakarta.persistence.EntityManager em)
      Specified by:
      delete in interface org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>