Class TelescopeArray

java.lang.Object
org.ivoa.dm.proposal.management.ObservingPlatform
org.ivoa.dm.proposal.management.TelescopeArray
All Implemented Interfaces:
org.ivoa.vodml.jaxb.XmlIdManagement, org.ivoa.vodml.jpa.JPAManipulations, org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>

@Entity @VoDml(id="proposalManagement:TelescopeArray", role=objectType) public class TelescopeArray extends ObservingPlatform implements org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>, org.ivoa.vodml.jaxb.XmlIdManagement
a set of telescopes that are operated together for an observation. objectType: TelescopeArray
  • Field Details

    • name

      @VoDml(id="proposalManagement:TelescopeArray.name", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String name
      the array name. : Attribute name : multiplicity 1
    • arrayMembers

      @VoDml(id="proposalManagement:TelescopeArray.arrayMembers", role=composition, type="proposalManagement:TelescopeArrayMember", typeRole=objectType) protected List<TelescopeArrayMember> arrayMembers
      the telescopes that make up the array. composition arrayMembers : ( Multiplicity : 1..* )
  • Constructor Details

    • TelescopeArray

      public TelescopeArray()
      Creates a new TelescopeArray
    • TelescopeArray

      public TelescopeArray(String name, List<TelescopeArrayMember> arrayMembers)
      full parameter constructor.
      Parameters:
      name - the array name.
      arrayMembers - the telescopes that make up the array.
    • TelescopeArray

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

      public TelescopeArray(ObservingPlatform superinstance, String name, List<TelescopeArrayMember> arrayMembers)
      Constructor from supertype instance.
      Parameters:
      superinstance - The supertype.
      name - the array name.
      arrayMembers - the telescopes that make up the array.
  • Method Details

    • copyMe

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

      public void updateClonedReferences()
      updates any cloned references that are contained within the hierarchy.
      Overrides:
      updateClonedReferences in class ObservingPlatform
    • updateUsing

      public void updateUsing(TelescopeArray 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.
    • getName

      public String getName()
      Returns name Attribute.
      Returns:
      name Attribute
    • setName

      public void setName(String pName)
      Set name Attribute.
      Parameters:
      pName - value to set
    • withName

      public TelescopeArray withName(String pName)
      fluent setter for name Attribute.
      Parameters:
      pName - value to set
      Returns:
      TelescopeArray
    • getArrayMembers

      public List<TelescopeArrayMember> getArrayMembers()
      Returns arrayMembers composition as an immutable list.
      Returns:
      arrayMembers composition.
    • setArrayMembers

      public void setArrayMembers(List<TelescopeArrayMember> pArrayMembers)
      Defines whole arrayMembers composition.
      Parameters:
      pArrayMembers - composition to set.
    • addToArrayMembers

      public void addToArrayMembers(TelescopeArrayMember p)
      Add a org.ivoa.dm.proposal.management.TelescopeArrayMember to the composition.
      Parameters:
      p - org.ivoa.dm.proposal.management.TelescopeArrayMember to add
    • removeFromArrayMembers

      public void removeFromArrayMembers(TelescopeArrayMember p)
      Remove a org.ivoa.dm.proposal.management.TelescopeArrayMember from the composition.
      Parameters:
      p - org.ivoa.dm.proposal.management.TelescopeArrayMember to remove
    • replaceInArrayMembers

      public void replaceInArrayMembers(TelescopeArrayMember _p)
      update a org.ivoa.dm.proposal.management.TelescopeArrayMember in the composition.
      Parameters:
      _p - org.ivoa.dm.proposal.management.TelescopeArrayMember to update the match is done via the database key
    • createTelescopeArray

      public static TelescopeArray createTelescopeArray(Consumer<TelescopeArray.TelescopeArrayBuilder> f)
      create a TelescopeArray 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 ObservingPlatform
    • persistRefs

      @Deprecated public void persistRefs(jakarta.persistence.EntityManager _em)
      Deprecated.
      generally better to use the model level reference persistence as only this can deal with "contained" references properly.
      Specified by:
      persistRefs in interface org.ivoa.vodml.jpa.JPAManipulations
      Overrides:
      persistRefs in class ObservingPlatform