Package org.ivoa.dm.proposal.prop
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
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
A builder class for ObservingProposal, mainly for use in the functional builder pattern. -
Field Summary
Modifier and TypeFieldDescriptionprotected Long
inserted database keythe fields observed in the proposal.protected List<Investigator>
the person(s) making the proposal.protected ProposalKind
the type of proposal.protected List<Observation>
the proposed observations.protected List<RelatedProposal>
.protected Justification
scientific justification.protected Boolean
whether the proposal is submitted.protected String
a short summary/abstract of the proposal.protected List<SupportingDocument>
any additional documents.the targets of the proposal.protected List<TechnicalGoal>
the technical goals of the proposal.protected Justification
technical justification.protected String
the proposal title. -
Constructor Summary
ConstructorDescriptionCreates a new ObservingProposalObservingProposal
(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.Copy Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addToFields
(Field p) Add a org.ivoa.dm.proposal.prop.Field to the composition.void
Add a org.ivoa.dm.proposal.prop.Investigator to the composition.void
Add a org.ivoa.dm.proposal.prop.Observation to the composition.void
Add a org.ivoa.dm.proposal.prop.RelatedProposal to the composition.void
Add a org.ivoa.dm.proposal.prop.SupportingDocument to the composition.void
Add a org.ivoa.dm.proposal.prop.Target to the composition.void
Add a org.ivoa.dm.proposal.prop.TechnicalGoal to the composition.static ObservingProposal
create a ObservingProposal in functional builder style.void
Returns fields composition as an immutable list.getId()
Returns investigators composition as an immutable list.getKind()
Returns kind Attribute.Returns observations composition as an immutable list.Returns relatedProposals composition as an immutable list.Returns scientificJustification Attribute.Returns submitted Attribute.Returns summary Attribute.Returns supportingDocuments composition as an immutable list.Returns targets composition as an immutable list.Returns technicalGoals composition as an immutable list.Returns technicalJustification Attribute.getTitle()
Returns title Attribute.getXmlId()
getter for XMLIDboolean
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.void
Remove a org.ivoa.dm.proposal.prop.Field from the composition.void
Remove a org.ivoa.dm.proposal.prop.Investigator from the composition.void
Remove a org.ivoa.dm.proposal.prop.Observation from the composition.void
Remove a org.ivoa.dm.proposal.prop.RelatedProposal from the composition.void
Remove a org.ivoa.dm.proposal.prop.SupportingDocument from the composition.void
Remove a org.ivoa.dm.proposal.prop.Target from the composition.void
Remove a org.ivoa.dm.proposal.prop.TechnicalGoal from the composition.void
replaceInFields
(Field _p) update a org.ivoa.dm.proposal.prop.Field in the composition.void
update a org.ivoa.dm.proposal.prop.Investigator in the composition.void
update a org.ivoa.dm.proposal.prop.Observation in the composition.void
update a org.ivoa.dm.proposal.prop.RelatedProposal in the composition.void
update a org.ivoa.dm.proposal.prop.SupportingDocument in the composition.void
update a org.ivoa.dm.proposal.prop.Target in the composition.void
update a org.ivoa.dm.proposal.prop.TechnicalGoal in the composition.void
Defines whole fields composition.void
setInvestigators
(List<Investigator> pInvestigators) Defines whole investigators composition.void
setKind
(ProposalKind pKind) Set kind Attribute.void
setObservations
(List<Observation> pObservations) Defines whole observations composition.void
setRelatedProposals
(List<RelatedProposal> pRelatedProposals) Defines whole relatedProposals composition.void
setScientificJustification
(Justification pScientificJustification) Set scientificJustification Attribute.void
setSubmitted
(Boolean pSubmitted) Set submitted Attribute.void
setSummary
(String pSummary) Set summary Attribute.void
setSupportingDocuments
(List<SupportingDocument> pSupportingDocuments) Defines whole supportingDocuments composition.void
setTargets
(List<Target> pTargets) Defines whole targets composition.void
setTechnicalGoals
(List<TechnicalGoal> pTechnicalGoals) Defines whole technicalGoals composition.void
setTechnicalJustification
(Justification pTechnicalJustification) Set technicalJustification Attribute.void
Set title Attribute.void
void
updates any cloned references that are contained within the hierarchy.void
updateUsing
(ObservingProposal other) Update this object with the content of the given object.withKind
(ProposalKind pKind) fluent setter for kind Attribute.withScientificJustification
(Justification pScientificJustification) fluent setter for scientificJustification Attribute.withSubmitted
(Boolean pSubmitted) fluent setter for submitted Attribute.withSummary
(String pSummary) fluent setter for summary Attribute.withTechnicalJustification
(Justification pTechnicalJustification) fluent setter for technicalJustification Attribute.fluent setter for title Attribute.
-
Field Details
-
_id
inserted database key -
title
@VoDml(id="proposal:ObservingProposal.title", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String titlethe proposal title. : Attribute title : multiplicity 1 -
summary
@VoDml(id="proposal:ObservingProposal.summary", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String summarya 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 kindthe type of proposal. : Attribute kind : multiplicity 1 -
submitted
@VoDml(id="proposal:ObservingProposal.submitted", role=attribute, type="ivoa:boolean", typeRole=primitiveType) protected Boolean submittedwhether the proposal is submitted. : Attribute submitted : multiplicity 0..1 -
scientificJustification
@VoDml(id="proposal:ObservingProposal.scientificJustification", role=composition, type="proposal:Justification", typeRole=objectType) protected Justification scientificJustificationscientific justification. composition scientificJustification : ( Multiplicity : 1 ) -
technicalJustification
@VoDml(id="proposal:ObservingProposal.technicalJustification", role=composition, type="proposal:Justification", typeRole=objectType) protected Justification technicalJustificationtechnical justification. composition technicalJustification : ( Multiplicity : 1 ) -
investigators
@VoDml(id="proposal:ObservingProposal.investigators", role=composition, type="proposal:Investigator", typeRole=objectType) protected List<Investigator> investigatorsthe person(s) making the proposal. composition investigators : ( Multiplicity : 1..* ) -
supportingDocuments
@VoDml(id="proposal:ObservingProposal.supportingDocuments", role=composition, type="proposal:SupportingDocument", typeRole=objectType) protected List<SupportingDocument> supportingDocumentsany additional documents. composition supportingDocuments : ( Multiplicity : 0..* ) -
targets
@VoDml(id="proposal:ObservingProposal.targets", role=composition, type="proposal:Target", typeRole=objectType) protected List<Target> targetsthe targets of the proposal. composition targets : ( Multiplicity : 0..* ) -
fields
@VoDml(id="proposal:ObservingProposal.fields", role=composition, type="proposal:Field", typeRole=objectType) protected List<Field> fieldsthe 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> technicalGoalsthe 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> observationsthe 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
Copy Constructor. Note that references will remain as is rather than be copied.- Parameters:
other
- the object to be copied.
-
-
Method Details
-
getId
- Specified by:
getId
in interfaceorg.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
- Returns:
- the id
-
getXmlId
getter for XMLID- Specified by:
getXmlId
in interfaceorg.ivoa.vodml.jaxb.XmlIdManagement
-
setXmlId
- Specified by:
setXmlId
in interfaceorg.ivoa.vodml.jaxb.XmlIdManagement
-
hasNaturalKey
public boolean hasNaturalKey()- Specified by:
hasNaturalKey
in interfaceorg.ivoa.vodml.jaxb.XmlIdManagement
-
updateClonedReferences
public void updateClonedReferences()updates any cloned references that are contained within the hierarchy. -
updateUsing
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
Returns title Attribute.- Returns:
- title Attribute
-
setTitle
Set title Attribute.- Parameters:
pTitle
- value to set
-
withTitle
fluent setter for title Attribute.- Parameters:
pTitle
- value to set- Returns:
- ObservingProposal
-
getSummary
Returns summary Attribute.- Returns:
- summary Attribute
-
setSummary
Set summary Attribute.- Parameters:
pSummary
- value to set
-
withSummary
fluent setter for summary Attribute.- Parameters:
pSummary
- value to set- Returns:
- ObservingProposal
-
getScientificJustification
Returns scientificJustification Attribute.- Returns:
- scientificJustification Attribute
-
setScientificJustification
Set scientificJustification Attribute.- Parameters:
pScientificJustification
- value to set
-
withScientificJustification
fluent setter for scientificJustification Attribute.- Parameters:
pScientificJustification
- value to set- Returns:
- ObservingProposal
-
getTechnicalJustification
Returns technicalJustification Attribute.- Returns:
- technicalJustification Attribute
-
setTechnicalJustification
Set technicalJustification Attribute.- Parameters:
pTechnicalJustification
- value to set
-
withTechnicalJustification
fluent setter for technicalJustification Attribute.- Parameters:
pTechnicalJustification
- value to set- Returns:
- ObservingProposal
-
getInvestigators
Returns investigators composition as an immutable list.- Returns:
- investigators composition.
-
setInvestigators
Defines whole investigators composition.- Parameters:
pInvestigators
- composition to set.
-
addToInvestigators
Add a org.ivoa.dm.proposal.prop.Investigator to the composition.- Parameters:
p
- org.ivoa.dm.proposal.prop.Investigator to add
-
removeFromInvestigators
Remove a org.ivoa.dm.proposal.prop.Investigator from the composition.- Parameters:
p
- org.ivoa.dm.proposal.prop.Investigator to remove
-
replaceInInvestigators
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
Returns kind Attribute.- Returns:
- kind Attribute
-
setKind
Set kind Attribute.- Parameters:
pKind
- value to set
-
withKind
fluent setter for kind Attribute.- Parameters:
pKind
- value to set- Returns:
- ObservingProposal
-
getRelatedProposals
Returns relatedProposals composition as an immutable list.- Returns:
- relatedProposals composition.
-
setRelatedProposals
Defines whole relatedProposals composition.- Parameters:
pRelatedProposals
- composition to set.
-
addToRelatedProposals
Add a org.ivoa.dm.proposal.prop.RelatedProposal to the composition.- Parameters:
p
- org.ivoa.dm.proposal.prop.RelatedProposal to add
-
removeFromRelatedProposals
Remove a org.ivoa.dm.proposal.prop.RelatedProposal from the composition.- Parameters:
p
- org.ivoa.dm.proposal.prop.RelatedProposal to remove
-
replaceInRelatedProposals
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
Returns supportingDocuments composition as an immutable list.- Returns:
- supportingDocuments composition.
-
setSupportingDocuments
Defines whole supportingDocuments composition.- Parameters:
pSupportingDocuments
- composition to set.
-
addToSupportingDocuments
Add a org.ivoa.dm.proposal.prop.SupportingDocument to the composition.- Parameters:
p
- org.ivoa.dm.proposal.prop.SupportingDocument to add
-
removeFromSupportingDocuments
Remove a org.ivoa.dm.proposal.prop.SupportingDocument from the composition.- Parameters:
p
- org.ivoa.dm.proposal.prop.SupportingDocument to remove
-
replaceInSupportingDocuments
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
Returns targets composition as an immutable list.- Returns:
- targets composition.
-
setTargets
Defines whole targets composition.- Parameters:
pTargets
- composition to set.
-
addToTargets
Add a org.ivoa.dm.proposal.prop.Target to the composition.- Parameters:
p
- org.ivoa.dm.proposal.prop.Target to add
-
removeFromTargets
Remove a org.ivoa.dm.proposal.prop.Target from the composition.- Parameters:
p
- org.ivoa.dm.proposal.prop.Target to remove
-
replaceInTargets
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
Returns fields composition as an immutable list.- Returns:
- fields composition.
-
setFields
Defines whole fields composition.- Parameters:
pFields
- composition to set.
-
addToFields
Add a org.ivoa.dm.proposal.prop.Field to the composition.- Parameters:
p
- org.ivoa.dm.proposal.prop.Field to add
-
removeFromFields
Remove a org.ivoa.dm.proposal.prop.Field from the composition.- Parameters:
p
- org.ivoa.dm.proposal.prop.Field to remove
-
replaceInFields
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
Returns technicalGoals composition as an immutable list.- Returns:
- technicalGoals composition.
-
setTechnicalGoals
Defines whole technicalGoals composition.- Parameters:
pTechnicalGoals
- composition to set.
-
addToTechnicalGoals
Add a org.ivoa.dm.proposal.prop.TechnicalGoal to the composition.- Parameters:
p
- org.ivoa.dm.proposal.prop.TechnicalGoal to add
-
removeFromTechnicalGoals
Remove a org.ivoa.dm.proposal.prop.TechnicalGoal from the composition.- Parameters:
p
- org.ivoa.dm.proposal.prop.TechnicalGoal to remove
-
replaceInTechnicalGoals
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
Returns observations composition as an immutable list.- Returns:
- observations composition.
-
setObservations
Defines whole observations composition.- Parameters:
pObservations
- composition to set.
-
addToObservations
Add a org.ivoa.dm.proposal.prop.Observation to the composition.- Parameters:
p
- org.ivoa.dm.proposal.prop.Observation to add
-
removeFromObservations
Remove a org.ivoa.dm.proposal.prop.Observation from the composition.- Parameters:
p
- org.ivoa.dm.proposal.prop.Observation to remove
-
replaceInObservations
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
Returns submitted Attribute.- Returns:
- submitted Attribute
-
setSubmitted
Set submitted Attribute.- Parameters:
pSubmitted
- value to set
-
withSubmitted
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 interfaceorg.ivoa.vodml.jpa.JPAManipulations
-
persistRefs
Deprecated.generally better to use the model level reference persistence as only this can deal with "contained" references properly.- Specified by:
persistRefs
in interfaceorg.ivoa.vodml.jpa.JPAManipulations
-