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 AttributeReturns observations composition as an immutable list.Returns relatedProposals composition as an immutable list.Returns scientificJustification AttributeReturns submitted AttributeReturns summary AttributeReturns supportingDocuments composition as an immutable list.Returns targets composition as an immutable list.Returns technicalGoals composition as an immutable list.Returns technicalJustification AttributegetTitle()
Returns title AttributegetXmlId()
getter for XMLIDboolean
void
jpaClone
(jakarta.persistence.EntityManager em) void
persistRefs
(jakarta.persistence.EntityManager _em) 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) Defines kind Attributevoid
setObservations
(List<Observation> pObservations) Defines whole observations composition.void
setRelatedProposals
(List<RelatedProposal> pRelatedProposals) Defines whole relatedProposals composition.void
setScientificJustification
(Justification pScientificJustification) Defines scientificJustification Attributevoid
setSubmitted
(Boolean pSubmitted) Defines submitted Attributevoid
setSummary
(String pSummary) Defines summary Attributevoid
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) Defines technicalJustification Attributevoid
Defines title Attributevoid
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) withScientificJustification
(Justification pScientificJustification) withSubmitted
(Boolean pSubmitted) withSummary
(String pSummary) withTechnicalJustification
(Justification pTechnicalJustification)
-
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 : 1..* ) -
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 : 1..* ) -
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
Defines title Attribute- Parameters:
pTitle
- value to set
-
withTitle
-
getSummary
Returns summary Attribute- Returns:
- summary Attribute
-
setSummary
Defines summary Attribute- Parameters:
pSummary
- value to set
-
withSummary
-
getScientificJustification
Returns scientificJustification Attribute- Returns:
- scientificJustification Attribute
-
setScientificJustification
Defines scientificJustification Attribute- Parameters:
pScientificJustification
- value to set
-
withScientificJustification
-
getTechnicalJustification
Returns technicalJustification Attribute- Returns:
- technicalJustification Attribute
-
setTechnicalJustification
Defines technicalJustification Attribute- Parameters:
pTechnicalJustification
- value to set
-
withTechnicalJustification
-
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
Defines kind Attribute- Parameters:
pKind
- value to set
-
withKind
-
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
Defines submitted Attribute- Parameters:
pSubmitted
- value to set
-
withSubmitted
-
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
-
jpaClone
public void jpaClone(jakarta.persistence.EntityManager em) - Specified by:
jpaClone
in interfaceorg.ivoa.vodml.jpa.JPAManipulations
-
persistRefs
public void persistRefs(jakarta.persistence.EntityManager _em) - Specified by:
persistRefs
in interfaceorg.ivoa.vodml.jpa.JPAManipulations
-