Class ObservingProposal

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

@Entity @VoDml(id="proposal:ObservingProposal", role=objectType) public class ObservingProposal extends Object implements org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>, org.ivoa.vodml.jaxb.XmlIdManagement
a complete proposal. objectType: ObservingProposal
  • Field Details

    • _id

      protected Long _id
      inserted database key
    • title

      @VoDml(id="proposal:ObservingProposal.title", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String title
      the proposal title. : Attribute title : multiplicity 1
    • summary

      @VoDml(id="proposal:ObservingProposal.summary", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String summary
      a short summary/abstract of the proposal. : Attribute summary : multiplicity 1
    • kind

      @VoDml(id="proposal:ObservingProposal.kind", role=attribute, type="proposal:ProposalKind", typeRole=enumeration) protected ProposalKind kind
      the type of proposal. : Attribute kind : multiplicity 1
    • submitted

      @VoDml(id="proposal:ObservingProposal.submitted", role=attribute, type="ivoa:boolean", typeRole=primitiveType) protected Boolean submitted
      whether the proposal is submitted. : Attribute submitted : multiplicity 0..1
    • scientificJustification

      @VoDml(id="proposal:ObservingProposal.scientificJustification", role=composition, type="proposal:Justification", typeRole=objectType) protected Justification scientificJustification
      scientific justification. composition scientificJustification : ( Multiplicity : 1 )
    • technicalJustification

      @VoDml(id="proposal:ObservingProposal.technicalJustification", role=composition, type="proposal:Justification", typeRole=objectType) protected Justification technicalJustification
      technical justification. composition technicalJustification : ( Multiplicity : 1 )
    • investigators

      @VoDml(id="proposal:ObservingProposal.investigators", role=composition, type="proposal:Investigator", typeRole=objectType) protected List<Investigator> investigators
      the person(s) making the proposal. composition investigators : ( Multiplicity : 1..* )
    • relatedProposals

      @VoDml(id="proposal:ObservingProposal.relatedProposals", role=composition, type="proposal:RelatedProposal", typeRole=objectType) protected List<RelatedProposal> relatedProposals
      . composition relatedProposals : ( Multiplicity : 0..* )
    • supportingDocuments

      @VoDml(id="proposal:ObservingProposal.supportingDocuments", role=composition, type="proposal:SupportingDocument", typeRole=objectType) protected List<SupportingDocument> supportingDocuments
      any additional documents. composition supportingDocuments : ( Multiplicity : 0..* )
    • targets

      @VoDml(id="proposal:ObservingProposal.targets", role=composition, type="proposal:Target", typeRole=objectType) protected List<Target> targets
      the targets of the proposal. composition targets : ( Multiplicity : 0..* )
    • fields

      @VoDml(id="proposal:ObservingProposal.fields", role=composition, type="proposal:Field", typeRole=objectType) protected List<Field> fields
      the fields observed in the proposal. composition fields : ( Multiplicity : 0..* )
    • technicalGoals

      @VoDml(id="proposal:ObservingProposal.technicalGoals", role=composition, type="proposal:TechnicalGoal", typeRole=objectType) protected List<TechnicalGoal> technicalGoals
      the technical goals of the proposal. composition technicalGoals : ( Multiplicity : 1..* )
    • observations

      @VoDml(id="proposal:ObservingProposal.observations", role=composition, type="proposal:Observation", typeRole=objectType) protected List<Observation> observations
      the proposed observations. composition observations : ( Multiplicity : 1..* )
  • Constructor Details

    • ObservingProposal

      public ObservingProposal()
      Creates a new ObservingProposal
    • ObservingProposal

      public ObservingProposal(String title, String summary, Justification scientificJustification, Justification technicalJustification, List<Investigator> investigators, ProposalKind kind, List<RelatedProposal> relatedProposals, List<SupportingDocument> supportingDocuments, List<Target> targets, List<Field> fields, List<TechnicalGoal> technicalGoals, List<Observation> observations, Boolean submitted)
      full parameter constructor.
      Parameters:
      title - the proposal title.
      summary - a short summary/abstract of the proposal.
      scientificJustification - scientific justification.
      technicalJustification - technical justification.
      investigators - the person(s) making the proposal.
      kind - the type of proposal.
      relatedProposals - .
      supportingDocuments - any additional documents.
      targets - the targets of the proposal.
      fields - the fields observed in the proposal.
      technicalGoals - the technical goals of the proposal.
      observations - the proposed observations.
      submitted - whether the proposal is submitted.
    • ObservingProposal

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

    • getId

      public Long getId()
      Specified by:
      getId in interface org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
      Returns:
      the id
    • getXmlId

      public String getXmlId()
      getter for XMLID
      Specified by:
      getXmlId in interface org.ivoa.vodml.jaxb.XmlIdManagement
    • setXmlId

      public void setXmlId(String id)
      Specified by:
      setXmlId in interface org.ivoa.vodml.jaxb.XmlIdManagement
    • hasNaturalKey

      public boolean hasNaturalKey()
      Specified by:
      hasNaturalKey in interface org.ivoa.vodml.jaxb.XmlIdManagement
    • updateClonedReferences

      public void updateClonedReferences()
      updates any cloned references that are contained within the hierarchy.
    • updateUsing

      public void updateUsing(ObservingProposal 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.
    • getTitle

      public String getTitle()
      Returns title Attribute.
      Returns:
      title Attribute
    • setTitle

      public void setTitle(String pTitle)
      Set title Attribute.
      Parameters:
      pTitle - value to set
    • withTitle

      public ObservingProposal withTitle(String pTitle)
      fluent setter for title Attribute.
      Parameters:
      pTitle - value to set
      Returns:
      ObservingProposal
    • getSummary

      public String getSummary()
      Returns summary Attribute.
      Returns:
      summary Attribute
    • setSummary

      public void setSummary(String pSummary)
      Set summary Attribute.
      Parameters:
      pSummary - value to set
    • withSummary

      public ObservingProposal withSummary(String pSummary)
      fluent setter for summary Attribute.
      Parameters:
      pSummary - value to set
      Returns:
      ObservingProposal
    • getScientificJustification

      public Justification getScientificJustification()
      Returns scientificJustification Attribute.
      Returns:
      scientificJustification Attribute
    • setScientificJustification

      public void setScientificJustification(Justification pScientificJustification)
      Set scientificJustification Attribute.
      Parameters:
      pScientificJustification - value to set
    • withScientificJustification

      public ObservingProposal withScientificJustification(Justification pScientificJustification)
      fluent setter for scientificJustification Attribute.
      Parameters:
      pScientificJustification - value to set
      Returns:
      ObservingProposal
    • getTechnicalJustification

      public Justification getTechnicalJustification()
      Returns technicalJustification Attribute.
      Returns:
      technicalJustification Attribute
    • setTechnicalJustification

      public void setTechnicalJustification(Justification pTechnicalJustification)
      Set technicalJustification Attribute.
      Parameters:
      pTechnicalJustification - value to set
    • withTechnicalJustification

      public ObservingProposal withTechnicalJustification(Justification pTechnicalJustification)
      fluent setter for technicalJustification Attribute.
      Parameters:
      pTechnicalJustification - value to set
      Returns:
      ObservingProposal
    • getInvestigators

      public List<Investigator> getInvestigators()
      Returns investigators composition as an immutable list.
      Returns:
      investigators composition.
    • setInvestigators

      public void setInvestigators(List<Investigator> pInvestigators)
      Defines whole investigators composition.
      Parameters:
      pInvestigators - composition to set.
    • addToInvestigators

      public void addToInvestigators(Investigator p)
      Add a org.ivoa.dm.proposal.prop.Investigator to the composition.
      Parameters:
      p - org.ivoa.dm.proposal.prop.Investigator to add
    • removeFromInvestigators

      public void removeFromInvestigators(Investigator p)
      Remove a org.ivoa.dm.proposal.prop.Investigator from the composition.
      Parameters:
      p - org.ivoa.dm.proposal.prop.Investigator to remove
    • replaceInInvestigators

      public void replaceInInvestigators(Investigator _p)
      update a org.ivoa.dm.proposal.prop.Investigator in the composition.
      Parameters:
      _p - org.ivoa.dm.proposal.prop.Investigator to update the match is done via the database key
    • getKind

      public ProposalKind getKind()
      Returns kind Attribute.
      Returns:
      kind Attribute
    • setKind

      public void setKind(ProposalKind pKind)
      Set kind Attribute.
      Parameters:
      pKind - value to set
    • withKind

      public ObservingProposal withKind(ProposalKind pKind)
      fluent setter for kind Attribute.
      Parameters:
      pKind - value to set
      Returns:
      ObservingProposal
    • getRelatedProposals

      public List<RelatedProposal> getRelatedProposals()
      Returns relatedProposals composition as an immutable list.
      Returns:
      relatedProposals composition.
    • setRelatedProposals

      public void setRelatedProposals(List<RelatedProposal> pRelatedProposals)
      Defines whole relatedProposals composition.
      Parameters:
      pRelatedProposals - composition to set.
    • addToRelatedProposals

      public void addToRelatedProposals(RelatedProposal p)
      Add a org.ivoa.dm.proposal.prop.RelatedProposal to the composition.
      Parameters:
      p - org.ivoa.dm.proposal.prop.RelatedProposal to add
    • removeFromRelatedProposals

      public void removeFromRelatedProposals(RelatedProposal p)
      Remove a org.ivoa.dm.proposal.prop.RelatedProposal from the composition.
      Parameters:
      p - org.ivoa.dm.proposal.prop.RelatedProposal to remove
    • replaceInRelatedProposals

      public void replaceInRelatedProposals(RelatedProposal _p)
      update a org.ivoa.dm.proposal.prop.RelatedProposal in the composition.
      Parameters:
      _p - org.ivoa.dm.proposal.prop.RelatedProposal to update the match is done via the database key
    • getSupportingDocuments

      public List<SupportingDocument> getSupportingDocuments()
      Returns supportingDocuments composition as an immutable list.
      Returns:
      supportingDocuments composition.
    • setSupportingDocuments

      public void setSupportingDocuments(List<SupportingDocument> pSupportingDocuments)
      Defines whole supportingDocuments composition.
      Parameters:
      pSupportingDocuments - composition to set.
    • addToSupportingDocuments

      public void addToSupportingDocuments(SupportingDocument p)
      Add a org.ivoa.dm.proposal.prop.SupportingDocument to the composition.
      Parameters:
      p - org.ivoa.dm.proposal.prop.SupportingDocument to add
    • removeFromSupportingDocuments

      public void removeFromSupportingDocuments(SupportingDocument p)
      Remove a org.ivoa.dm.proposal.prop.SupportingDocument from the composition.
      Parameters:
      p - org.ivoa.dm.proposal.prop.SupportingDocument to remove
    • replaceInSupportingDocuments

      public void replaceInSupportingDocuments(SupportingDocument _p)
      update a org.ivoa.dm.proposal.prop.SupportingDocument in the composition.
      Parameters:
      _p - org.ivoa.dm.proposal.prop.SupportingDocument to update the match is done via the database key
    • getTargets

      public List<Target> getTargets()
      Returns targets composition as an immutable list.
      Returns:
      targets composition.
    • setTargets

      public void setTargets(List<Target> pTargets)
      Defines whole targets composition.
      Parameters:
      pTargets - composition to set.
    • addToTargets

      public void addToTargets(Target p)
      Add a org.ivoa.dm.proposal.prop.Target to the composition.
      Parameters:
      p - org.ivoa.dm.proposal.prop.Target to add
    • removeFromTargets

      public void removeFromTargets(Target p)
      Remove a org.ivoa.dm.proposal.prop.Target from the composition.
      Parameters:
      p - org.ivoa.dm.proposal.prop.Target to remove
    • replaceInTargets

      public void replaceInTargets(Target _p)
      update a org.ivoa.dm.proposal.prop.Target in the composition.
      Parameters:
      _p - org.ivoa.dm.proposal.prop.Target to update the match is done via the database key
    • getFields

      public List<Field> getFields()
      Returns fields composition as an immutable list.
      Returns:
      fields composition.
    • setFields

      public void setFields(List<Field> pFields)
      Defines whole fields composition.
      Parameters:
      pFields - composition to set.
    • addToFields

      public void addToFields(Field p)
      Add a org.ivoa.dm.proposal.prop.Field to the composition.
      Parameters:
      p - org.ivoa.dm.proposal.prop.Field to add
    • removeFromFields

      public void removeFromFields(Field p)
      Remove a org.ivoa.dm.proposal.prop.Field from the composition.
      Parameters:
      p - org.ivoa.dm.proposal.prop.Field to remove
    • replaceInFields

      public void replaceInFields(Field _p)
      update a org.ivoa.dm.proposal.prop.Field in the composition.
      Parameters:
      _p - org.ivoa.dm.proposal.prop.Field to update the match is done via the database key
    • getTechnicalGoals

      public List<TechnicalGoal> getTechnicalGoals()
      Returns technicalGoals composition as an immutable list.
      Returns:
      technicalGoals composition.
    • setTechnicalGoals

      public void setTechnicalGoals(List<TechnicalGoal> pTechnicalGoals)
      Defines whole technicalGoals composition.
      Parameters:
      pTechnicalGoals - composition to set.
    • addToTechnicalGoals

      public void addToTechnicalGoals(TechnicalGoal p)
      Add a org.ivoa.dm.proposal.prop.TechnicalGoal to the composition.
      Parameters:
      p - org.ivoa.dm.proposal.prop.TechnicalGoal to add
    • removeFromTechnicalGoals

      public void removeFromTechnicalGoals(TechnicalGoal p)
      Remove a org.ivoa.dm.proposal.prop.TechnicalGoal from the composition.
      Parameters:
      p - org.ivoa.dm.proposal.prop.TechnicalGoal to remove
    • replaceInTechnicalGoals

      public void replaceInTechnicalGoals(TechnicalGoal _p)
      update a org.ivoa.dm.proposal.prop.TechnicalGoal in the composition.
      Parameters:
      _p - org.ivoa.dm.proposal.prop.TechnicalGoal to update the match is done via the database key
    • getObservations

      public List<Observation> getObservations()
      Returns observations composition as an immutable list.
      Returns:
      observations composition.
    • setObservations

      public void setObservations(List<Observation> pObservations)
      Defines whole observations composition.
      Parameters:
      pObservations - composition to set.
    • addToObservations

      public void addToObservations(Observation p)
      Add a org.ivoa.dm.proposal.prop.Observation to the composition.
      Parameters:
      p - org.ivoa.dm.proposal.prop.Observation to add
    • removeFromObservations

      public void removeFromObservations(Observation p)
      Remove a org.ivoa.dm.proposal.prop.Observation from the composition.
      Parameters:
      p - org.ivoa.dm.proposal.prop.Observation to remove
    • replaceInObservations

      public void replaceInObservations(Observation _p)
      update a org.ivoa.dm.proposal.prop.Observation in the composition.
      Parameters:
      _p - org.ivoa.dm.proposal.prop.Observation to update the match is done via the database key
    • getSubmitted

      public Boolean getSubmitted()
      Returns submitted Attribute.
      Returns:
      submitted Attribute
    • setSubmitted

      public void setSubmitted(Boolean pSubmitted)
      Set submitted Attribute.
      Parameters:
      pSubmitted - value to set
    • withSubmitted

      public ObservingProposal withSubmitted(Boolean pSubmitted)
      fluent setter for submitted Attribute.
      Parameters:
      pSubmitted - value to set
      Returns:
      ObservingProposal
    • createObservingProposal

      public static ObservingProposal createObservingProposal(Consumer<ObservingProposal.ObservingProposalBuilder> f)
      create a ObservingProposal 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
    • 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