Class ObservingProposal

java.lang.Object
org.ivoa.dm.proposal.prop.AbstractProposal
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 AbstractProposal implements org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>, org.ivoa.vodml.jaxb.XmlIdManagement
a complete proposal. objectType: ObservingProposal
  • 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)
      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.
    • 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.
    • ObservingProposal

      public ObservingProposal(AbstractProposal superinstance)
      Constructor from supertype instance.
      Parameters:
      superinstance - The supertype.
  • Method Details

    • copyMe

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

      public void updateClonedReferences()
      updates any cloned references that are contained within the hierarchy.
      Overrides:
      updateClonedReferences in class AbstractProposal
    • 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.
    • 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
      Overrides:
      forceLoad in class AbstractProposal
    • 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 AbstractProposal
    • delete

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