Class Plane

All Implemented Interfaces:
org.ivoa.vodml.jpa.JPAManipulations, org.ivoa.vodml.jpa.JPAManipulationsForObjectType<String>

@Entity @VoDml(id="caom2:Plane", role=objectType) public class Plane extends CaomEntity implements org.ivoa.vodml.jpa.JPAManipulationsForObjectType<String>
A plane is a component of an observation that describes one product of the observation. objectType: Plane
  • Field Details

    • uri

      @VoDml(id="caom2:Plane.uri", role=attribute, type="ivoa:anyURI", typeRole=primitiveType) protected String uri
      A unique logical identifier for this plane. Values of this identifier are used in Plane.provenance.inputs to form a reference from a product to it's progenitors. TODO: limit this to one of two forms that support use cases? (NEW in CAOM-2.5). : Attribute uri : multiplicity 0..1
    • metaRelease

      @VoDml(id="caom2:Plane.metaRelease", role=attribute, type="ivoa:datetime", typeRole=primitiveType) protected Date metaRelease
      This timestamp specifies the point where the metadata for the plane instance is public (can be viewed by anonymous users). A null value means the metadata is not public. The metaRelease timestamp applies to the plane metadata itself and to all artifacts with releaseType=meta. : Attribute metaRelease : multiplicity 0..1
    • metaReadGroups

      @VoDml(id="caom2:Plane.metaReadGroups", role=attribute, type="ivoa:anyURI", typeRole=primitiveType) protected List<String> metaReadGroups
      This is a set of groups with read permission on plane metadata for cases when the metadata is non-public (see metaRelease above). : Attribute metaReadGroups : multiplicity 0..*
    • dataRelease

      @VoDml(id="caom2:Plane.dataRelease", role=attribute, type="ivoa:datetime", typeRole=primitiveType) protected Date dataRelease
      This timestamp specifies the point where the metadata for the plane instance is public (can be viewed by anonymous users). A null value means the metadata is not public. The dataRelease timestamp applies to all artifacts with releaseType=data. : Attribute dataRelease : multiplicity 0..1
    • dataReadGroups

      @VoDml(id="caom2:Plane.dataReadGroups", role=attribute, type="ivoa:anyURI", typeRole=primitiveType) protected List<String> dataReadGroups
      This is a set of groups with read permission on plane data for cases when the data is non-public (see dataRelease above). : Attribute dataReadGroups : multiplicity 0..*
    • calibrationLevel

      @VoDml(id="caom2:Plane.calibrationLevel", role=attribute, type="caom2:CalibrationLevel", typeRole=enumeration) protected CalibrationLevel calibrationLevel
      This describes the degree to which the data is calibrated; it is equivalent to the ObsCore calibration level field. : Attribute calibrationLevel : multiplicity 0..1
    • dataProductType

      @VoDml(id="caom2:Plane.dataProductType", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String dataProductType
      standard classification of the type of data product; describes the logical data type for the main artifacts. : Attribute dataProductType : multiplicity 0..1
    • observable

      @VoDml(id="caom2:Plane.observable", role=composition, type="caom2:Observable", typeRole=objectType) protected Observable observable
      The observable describes the quantity stored in the sample (pixel) values. composition observable : ( Multiplicity : 0..1 )
    • quality

      @VoDml(id="caom2:Plane.quality", role=composition, type="caom2:DataQuality", typeRole=objectType) protected DataQuality quality
      This is a flag that indicates the quality of the data. Existing usage is that this is only assigned when there is something wrong with the data and the quality flag indicates roughly what is wrong. composition quality : ( Multiplicity : 0..1 )
    • metrics

      @VoDml(id="caom2:Plane.metrics", role=composition, type="caom2:Metrics", typeRole=objectType) protected Metrics metrics
      Metrics are measured quantities that describe the content rather than the characteristics of the product. composition metrics : ( Multiplicity : 0..1 )
    • position

      @VoDml(id="caom2:Plane.position", role=composition, type="caom2:Position", typeRole=objectType) protected Position position
      Information about the positional coverage and sampling of the data. composition position : ( Multiplicity : 0..1 )
    • energy

      @VoDml(id="caom2:Plane.energy", role=composition, type="caom2:Energy", typeRole=objectType) protected Energy energy
      Information about the energy coverage and sampling of the data. composition energy : ( Multiplicity : 0..1 )
    • time

      @VoDml(id="caom2:Plane.time", role=composition, type="caom2:Time", typeRole=objectType) protected Time time
      Information about the time coverage and sampling of the data. composition time : ( Multiplicity : 0..1 )
    • polarization

      @VoDml(id="caom2:Plane.polarization", role=composition, type="caom2:Polarization", typeRole=objectType) protected Polarization polarization
      Information about the polarization state(s) of the data. composition polarization : ( Multiplicity : 0..1 )
    • custom

      @VoDml(id="caom2:Plane.custom", role=composition, type="caom2:CustomAxis", typeRole=objectType) protected CustomAxis custom
      Information about the a single custom axis and sampling of the data. Since different custom coordinate types can be used with different planes, instances of CustomAxis can only be compared sensibly if they have the same coordinate type. Existing usage is experimental: Faraday Depth or Rotation Measure axes in radio data cubes. composition custom : ( Multiplicity : 0..1 )
    • uv

      @VoDml(id="caom2:Plane.uv", role=composition, type="caom2:Visibility", typeRole=objectType) protected Visibility uv
      Information about the UV plane coverage and sampling of the data for interferometric observations. composition uv : ( Multiplicity : 0..1 )
    • provenance

      @VoDml(id="caom2:Plane.provenance", role=composition, type="caom2:Provenance", typeRole=objectType) protected Provenance provenance
      The provenance provides a description how the plane was created and the direct input planes that were used. This is a single-step provenance and not a complete description of all activities that led to this product. composition provenance : ( Multiplicity : 0..1 )
    • artifacts

      @VoDml(id="caom2:Plane.artifacts", role=composition, type="caom2:Artifact", typeRole=objectType) protected List<Artifact> artifacts
      This is the set of component artifacts belonging to this plane. composition artifacts : ( Multiplicity : 0..* )
  • Constructor Details

    • Plane

      public Plane()
      Creates a new Plane
    • Plane

      public Plane(String uri, Date metaRelease, List<String> metaReadGroups, Date dataRelease, List<String> dataReadGroups, CalibrationLevel calibrationLevel, String dataProductType, Observable observable, DataQuality quality, Metrics metrics, Position position, Energy energy, Time time, Polarization polarization, CustomAxis custom, Visibility uv, Provenance provenance, List<Artifact> artifacts, Date maxLastModified, String accMetaChecksum, String id, Date lastModified, String metaChecksum, String metaProducer)
      full parameter constructor.
      Parameters:
      uri - A unique logical identifier for this plane. Values of this identifier are used in Plane.provenance.inputs to form a reference from a product to it's progenitors. TODO: limit this to one of two forms that support use cases? (NEW in CAOM-2.5).
      metaRelease - This timestamp specifies the point where the metadata for the plane instance is public (can be viewed by anonymous users). A null value means the metadata is not public. The metaRelease timestamp applies to the plane metadata itself and to all artifacts with releaseType=meta.
      metaReadGroups - This is a set of groups with read permission on plane metadata for cases when the metadata is non-public (see metaRelease above).
      dataRelease - This timestamp specifies the point where the metadata for the plane instance is public (can be viewed by anonymous users). A null value means the metadata is not public. The dataRelease timestamp applies to all artifacts with releaseType=data.
      dataReadGroups - This is a set of groups with read permission on plane data for cases when the data is non-public (see dataRelease above).
      calibrationLevel - This describes the degree to which the data is calibrated; it is equivalent to the ObsCore calibration level field.
      dataProductType - standard classification of the type of data product; describes the logical data type for the main artifacts.
      observable - The observable describes the quantity stored in the sample (pixel) values.
      quality - This is a flag that indicates the quality of the data. Existing usage is that this is only assigned when there is something wrong with the data and the quality flag indicates roughly what is wrong.
      metrics - Metrics are measured quantities that describe the content rather than the characteristics of the product.
      position - Information about the positional coverage and sampling of the data.
      energy - Information about the energy coverage and sampling of the data.
      time - Information about the time coverage and sampling of the data.
      polarization - Information about the polarization state(s) of the data.
      custom - Information about the a single custom axis and sampling of the data. Since different custom coordinate types can be used with different planes, instances of CustomAxis can only be compared sensibly if they have the same coordinate type. Existing usage is experimental: Faraday Depth or Rotation Measure axes in radio data cubes.
      uv - Information about the UV plane coverage and sampling of the data for interferometric observations.
      provenance - The provenance provides a description how the plane was created and the direct input planes that were used. This is a single-step provenance and not a complete description of all activities that led to this product.
      artifacts - This is the set of component artifacts belonging to this plane.
      maxLastModified - The maximum last modification timestamp of this entity and all child entities is used to support incremental synchronization (of Observation instances). As with the instance lastModified timestamp above, this timestamp is intended to be set and/or updated when the entity is stored (e.g. in a database).
      accMetaChecksum - accumulated checksum of the metadata of this entity and all child entities; The URI must conform to the pattern {algorithm}:{hex value}, for example: \begin{verbatim}md5:4be91751541fd804e7207663a0822f56.\end{verbatim} The accumulated checksum of an entity is computed by accumulating the byte representation of entity checksums in the following order: (1) the metaChecksum of the current entity, (2) the accMetaChecksum of all child entities accumulated in order of the child's Entity.id. For an entity with no children, the accMetaChecksum is derived only from the metaChecksum but it is not equal to it because it is a checksum of that checksum and not a checksum of the same metadata directly.
      id - The id is a globally unique identifier (primary key) for an instance.
      lastModified - The timestamp of last modification of this entity tracks changes in metadata and supports incremental operations. The timestamp is intended to be set and/or updated when the entity is stored (e.g. in a database).
      metaChecksum - This checksum of the metadata in this entity signals a change in the metadata of an instance and supports validation (e.g. to compare metadata before and after serialisation or persistence). A change in the metaChecksum can also be used to optimise operations like updating a row in the database only when the metaChecksum changed. A change in metaChecksum normally triggers a change in the lastModified timestamp. The URI must conform to the pattern {algorithm}:{hex value}, for example: \begin{verbatim}md5:4be91751541fd804e7207663a0822f56.\end{verbatim} The checksum of an entity is computed by accumulating byte representation of individual metadata values in the following order: (1) Entity.id for entities, (2) Entity.metaProducer, (3) state fields in alphabetic order (foo.a comes before foo.b) and using depth-first recursion (foo.abc.x comes before foo.def). The lastModified timestamp is not included in the metaChecksum calculation. Null values are ignored so that the addition of new fields in future versions will not change/invalidate existing checksums. Non-null values are converted to bytes as follows: \begin{itemize} \item string: UTF-8 encoded bytes \item URI: UTF-8 encoded bytes of the string representation \item VocabularyTerm: UTF-8 encoded bytes of the term (do not include the namespace) \item enumeration: the literal value converted to bytes \item float: IEEE754 single (4 bytes) \item double: IEEE754 double (8 bytes) \item boolean: convert to single byte, false=0, true=1 (1 byte) \item byte: as-is (1 byte) \item short: (2 bytes, network byte order == big endian)) \item integer: (4 bytes, network byte order == big endian) \item long: (8 bytes, network byte order == big endian) \item date: treat as a long (milliseconds since 1970-01-01 00:00:00 UTC) \end{itemize} TODO: truncatedDates=false, digestFieldNames=true, digestFieldnamesLowerCase=true TODO: external data model components: recursion or specify conversion above (interval, point, shape, multishape) .
      metaProducer - This identifier is used to identify the tools used to produce the metadata. It also implicitly applies to child entities with null metaProducer. The form of the URI is not specified; implementations are free to use this to track metadata curation. For example, a pattern like {organisation}:{software name}-{version} is useful to support a variety of operational uses: query for metadata created by a version with a known bug or query for metadata created by an older version of the software and perform updates.
    • Plane

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

      public Plane(CaomEntity superinstance, String uri, Date metaRelease, List<String> metaReadGroups, Date dataRelease, List<String> dataReadGroups, CalibrationLevel calibrationLevel, String dataProductType, Observable observable, DataQuality quality, Metrics metrics, Position position, Energy energy, Time time, Polarization polarization, CustomAxis custom, Visibility uv, Provenance provenance, List<Artifact> artifacts)
      Constructor from supertype instance.
      Parameters:
      superinstance - The supertype.
      uri - A unique logical identifier for this plane. Values of this identifier are used in Plane.provenance.inputs to form a reference from a product to it's progenitors. TODO: limit this to one of two forms that support use cases? (NEW in CAOM-2.5).
      metaRelease - This timestamp specifies the point where the metadata for the plane instance is public (can be viewed by anonymous users). A null value means the metadata is not public. The metaRelease timestamp applies to the plane metadata itself and to all artifacts with releaseType=meta.
      metaReadGroups - This is a set of groups with read permission on plane metadata for cases when the metadata is non-public (see metaRelease above).
      dataRelease - This timestamp specifies the point where the metadata for the plane instance is public (can be viewed by anonymous users). A null value means the metadata is not public. The dataRelease timestamp applies to all artifacts with releaseType=data.
      dataReadGroups - This is a set of groups with read permission on plane data for cases when the data is non-public (see dataRelease above).
      calibrationLevel - This describes the degree to which the data is calibrated; it is equivalent to the ObsCore calibration level field.
      dataProductType - standard classification of the type of data product; describes the logical data type for the main artifacts.
      observable - The observable describes the quantity stored in the sample (pixel) values.
      quality - This is a flag that indicates the quality of the data. Existing usage is that this is only assigned when there is something wrong with the data and the quality flag indicates roughly what is wrong.
      metrics - Metrics are measured quantities that describe the content rather than the characteristics of the product.
      position - Information about the positional coverage and sampling of the data.
      energy - Information about the energy coverage and sampling of the data.
      time - Information about the time coverage and sampling of the data.
      polarization - Information about the polarization state(s) of the data.
      custom - Information about the a single custom axis and sampling of the data. Since different custom coordinate types can be used with different planes, instances of CustomAxis can only be compared sensibly if they have the same coordinate type. Existing usage is experimental: Faraday Depth or Rotation Measure axes in radio data cubes.
      uv - Information about the UV plane coverage and sampling of the data for interferometric observations.
      provenance - The provenance provides a description how the plane was created and the direct input planes that were used. This is a single-step provenance and not a complete description of all activities that led to this product.
      artifacts - This is the set of component artifacts belonging to this plane.
  • Method Details

    • copyMe

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

      public void updateUsing(Plane 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.
    • getUri

      public String getUri()
      Returns uri Attribute.
      Returns:
      uri Attribute
    • setUri

      public void setUri(String pUri)
      Set uri Attribute.
      Parameters:
      pUri - value to set
    • withUri

      public Plane withUri(String pUri)
      fluent setter for uri Attribute.
      Parameters:
      pUri - value to set
      Returns:
      Plane
    • getMetaRelease

      public Date getMetaRelease()
      Returns metaRelease Attribute.
      Returns:
      metaRelease Attribute
    • setMetaRelease

      public void setMetaRelease(Date pMetaRelease)
      Set metaRelease Attribute.
      Parameters:
      pMetaRelease - value to set
    • withMetaRelease

      public Plane withMetaRelease(Date pMetaRelease)
      fluent setter for metaRelease Attribute.
      Parameters:
      pMetaRelease - value to set
      Returns:
      Plane
    • getMetaReadGroups

      public List<String> getMetaReadGroups()
      Returns metaReadGroups Attribute.
      Returns:
      metaReadGroups Attribute
    • setMetaReadGroups

      public void setMetaReadGroups(List<String> pMetaReadGroups)
      Set metaReadGroups Attribute.
      Parameters:
      pMetaReadGroups - value to set
    • withMetaReadGroups

      public Plane withMetaReadGroups(List<String> pMetaReadGroups)
      fluent setter for metaReadGroups Attribute.
      Parameters:
      pMetaReadGroups - value to set
      Returns:
      Plane
    • getDataRelease

      public Date getDataRelease()
      Returns dataRelease Attribute.
      Returns:
      dataRelease Attribute
    • setDataRelease

      public void setDataRelease(Date pDataRelease)
      Set dataRelease Attribute.
      Parameters:
      pDataRelease - value to set
    • withDataRelease

      public Plane withDataRelease(Date pDataRelease)
      fluent setter for dataRelease Attribute.
      Parameters:
      pDataRelease - value to set
      Returns:
      Plane
    • getDataReadGroups

      public List<String> getDataReadGroups()
      Returns dataReadGroups Attribute.
      Returns:
      dataReadGroups Attribute
    • setDataReadGroups

      public void setDataReadGroups(List<String> pDataReadGroups)
      Set dataReadGroups Attribute.
      Parameters:
      pDataReadGroups - value to set
    • withDataReadGroups

      public Plane withDataReadGroups(List<String> pDataReadGroups)
      fluent setter for dataReadGroups Attribute.
      Parameters:
      pDataReadGroups - value to set
      Returns:
      Plane
    • getCalibrationLevel

      public CalibrationLevel getCalibrationLevel()
      Returns calibrationLevel Attribute.
      Returns:
      calibrationLevel Attribute
    • setCalibrationLevel

      public void setCalibrationLevel(CalibrationLevel pCalibrationLevel)
      Set calibrationLevel Attribute.
      Parameters:
      pCalibrationLevel - value to set
    • withCalibrationLevel

      public Plane withCalibrationLevel(CalibrationLevel pCalibrationLevel)
      fluent setter for calibrationLevel Attribute.
      Parameters:
      pCalibrationLevel - value to set
      Returns:
      Plane
    • getDataProductType

      public String getDataProductType()
      Returns dataProductType Attribute.
      Returns:
      dataProductType Attribute
    • setDataProductType

      public void setDataProductType(String pDataProductType)
      Set dataProductType Attribute.
      Parameters:
      pDataProductType - value to set
    • withDataProductType

      public Plane withDataProductType(String pDataProductType)
      fluent setter for dataProductType Attribute.
      Parameters:
      pDataProductType - value to set
      Returns:
      Plane
    • getObservable

      public Observable getObservable()
      Returns observable Attribute.
      Returns:
      observable Attribute
    • setObservable

      public void setObservable(Observable pObservable)
      Set observable Attribute.
      Parameters:
      pObservable - value to set
    • withObservable

      public Plane withObservable(Observable pObservable)
      fluent setter for observable Attribute.
      Parameters:
      pObservable - value to set
      Returns:
      Plane
    • getQuality

      public DataQuality getQuality()
      Returns quality Attribute.
      Returns:
      quality Attribute
    • setQuality

      public void setQuality(DataQuality pQuality)
      Set quality Attribute.
      Parameters:
      pQuality - value to set
    • withQuality

      public Plane withQuality(DataQuality pQuality)
      fluent setter for quality Attribute.
      Parameters:
      pQuality - value to set
      Returns:
      Plane
    • getMetrics

      public Metrics getMetrics()
      Returns metrics Attribute.
      Returns:
      metrics Attribute
    • setMetrics

      public void setMetrics(Metrics pMetrics)
      Set metrics Attribute.
      Parameters:
      pMetrics - value to set
    • withMetrics

      public Plane withMetrics(Metrics pMetrics)
      fluent setter for metrics Attribute.
      Parameters:
      pMetrics - value to set
      Returns:
      Plane
    • getPosition

      public Position getPosition()
      Returns position Attribute.
      Returns:
      position Attribute
    • setPosition

      public void setPosition(Position pPosition)
      Set position Attribute.
      Parameters:
      pPosition - value to set
    • withPosition

      public Plane withPosition(Position pPosition)
      fluent setter for position Attribute.
      Parameters:
      pPosition - value to set
      Returns:
      Plane
    • getEnergy

      public Energy getEnergy()
      Returns energy Attribute.
      Returns:
      energy Attribute
    • setEnergy

      public void setEnergy(Energy pEnergy)
      Set energy Attribute.
      Parameters:
      pEnergy - value to set
    • withEnergy

      public Plane withEnergy(Energy pEnergy)
      fluent setter for energy Attribute.
      Parameters:
      pEnergy - value to set
      Returns:
      Plane
    • getTime

      public Time getTime()
      Returns time Attribute.
      Returns:
      time Attribute
    • setTime

      public void setTime(Time pTime)
      Set time Attribute.
      Parameters:
      pTime - value to set
    • withTime

      public Plane withTime(Time pTime)
      fluent setter for time Attribute.
      Parameters:
      pTime - value to set
      Returns:
      Plane
    • getPolarization

      public Polarization getPolarization()
      Returns polarization Attribute.
      Returns:
      polarization Attribute
    • setPolarization

      public void setPolarization(Polarization pPolarization)
      Set polarization Attribute.
      Parameters:
      pPolarization - value to set
    • withPolarization

      public Plane withPolarization(Polarization pPolarization)
      fluent setter for polarization Attribute.
      Parameters:
      pPolarization - value to set
      Returns:
      Plane
    • getCustom

      public CustomAxis getCustom()
      Returns custom Attribute.
      Returns:
      custom Attribute
    • setCustom

      public void setCustom(CustomAxis pCustom)
      Set custom Attribute.
      Parameters:
      pCustom - value to set
    • withCustom

      public Plane withCustom(CustomAxis pCustom)
      fluent setter for custom Attribute.
      Parameters:
      pCustom - value to set
      Returns:
      Plane
    • getUv

      public Visibility getUv()
      Returns uv Attribute.
      Returns:
      uv Attribute
    • setUv

      public void setUv(Visibility pUv)
      Set uv Attribute.
      Parameters:
      pUv - value to set
    • withUv

      public Plane withUv(Visibility pUv)
      fluent setter for uv Attribute.
      Parameters:
      pUv - value to set
      Returns:
      Plane
    • getProvenance

      public Provenance getProvenance()
      Returns provenance Attribute.
      Returns:
      provenance Attribute
    • setProvenance

      public void setProvenance(Provenance pProvenance)
      Set provenance Attribute.
      Parameters:
      pProvenance - value to set
    • withProvenance

      public Plane withProvenance(Provenance pProvenance)
      fluent setter for provenance Attribute.
      Parameters:
      pProvenance - value to set
      Returns:
      Plane
    • getArtifacts

      public List<Artifact> getArtifacts()
      Returns artifacts composition as an immutable list.
      Returns:
      artifacts composition.
    • setArtifacts

      public void setArtifacts(List<Artifact> pArtifacts)
      Defines whole artifacts composition.
      Parameters:
      pArtifacts - composition to set.
    • addToArtifacts

      public void addToArtifacts(Artifact p)
      Add a org.ivoa.dm.caom2.Artifact to the composition.
      Parameters:
      p - org.ivoa.dm.caom2.Artifact to add
    • removeFromArtifacts

      public void removeFromArtifacts(Artifact p)
      Remove a org.ivoa.dm.caom2.Artifact from the composition.
      Parameters:
      p - org.ivoa.dm.caom2.Artifact to remove
    • replaceInArtifacts

      public void replaceInArtifacts(Artifact _p)
      update a org.ivoa.dm.caom2.Artifact in the composition.
      Parameters:
      _p - org.ivoa.dm.caom2.Artifact to update the match is done via the database key
    • createPlane

      public static Plane createPlane(Consumer<Plane.PlaneBuilder> f)
      create a Plane 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 CaomEntity
    • delete

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