Package org.ivoa.dm.proposal.prop
Class AbstractProposal
java.lang.Object
org.ivoa.dm.proposal.prop.AbstractProposal
- All Implemented Interfaces:
org.ivoa.vodml.jaxb.XmlIdManagement
,org.ivoa.vodml.jpa.JPAManipulations
,org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
- Direct Known Subclasses:
ObservingProposal
,SubmittedProposal
@Entity
@VoDml(id="proposal:AbstractProposal",
role=objectType)
public abstract class AbstractProposal
extends Object
implements org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>, org.ivoa.vodml.jaxb.XmlIdManagement
base proposal.
objectType: AbstractProposal
-
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 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 AbstractProposalAbstractProposal
(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.AbstractProposal
(AbstractProposal other) 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.abstract AbstractProposal
copyMe()
make a clone of the object taking into account current polymorhic type.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 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
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
(AbstractProposal 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.withSummary
(String pSummary) fluent setter for summary Attribute.withTechnicalJustification
(Justification pTechnicalJustification) fluent setter for technicalJustification Attribute.fluent setter for title Attribute.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.ivoa.vodml.jpa.JPAManipulationsForObjectType
delete
-
Field Details
-
_id
inserted database key -
title
@VoDml(id="proposal:AbstractProposal.title", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String titlethe proposal title. : Attribute title : multiplicity 1 -
summary
@VoDml(id="proposal:AbstractProposal.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:AbstractProposal.kind", role=attribute, type="proposal:ProposalKind", typeRole=enumeration) protected ProposalKind kindthe type of proposal. : Attribute kind : multiplicity 1 -
scientificJustification
@VoDml(id="proposal:AbstractProposal.scientificJustification", role=composition, type="proposal:Justification", typeRole=objectType) protected Justification scientificJustificationscientific justification. composition scientificJustification : ( Multiplicity : 1 ) -
technicalJustification
@VoDml(id="proposal:AbstractProposal.technicalJustification", role=composition, type="proposal:Justification", typeRole=objectType) protected Justification technicalJustificationtechnical justification. composition technicalJustification : ( Multiplicity : 1 ) -
investigators
@VoDml(id="proposal:AbstractProposal.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:AbstractProposal.supportingDocuments", role=composition, type="proposal:SupportingDocument", typeRole=objectType) protected List<SupportingDocument> supportingDocumentsany additional documents. composition supportingDocuments : ( Multiplicity : 0..* ) -
targets
@VoDml(id="proposal:AbstractProposal.targets", role=composition, type="proposal:Target", typeRole=objectType) protected List<Target> targetsthe targets of the proposal. composition targets : ( Multiplicity : 0..* ) -
fields
@VoDml(id="proposal:AbstractProposal.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:AbstractProposal.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:AbstractProposal.observations", role=composition, type="proposal:Observation", typeRole=objectType) protected List<Observation> observationsthe proposed observations. composition observations : ( Multiplicity : 1..* )
-
-
Constructor Details
-
AbstractProposal
public AbstractProposal()Creates a new AbstractProposal -
AbstractProposal
public AbstractProposal(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.
-
AbstractProposal
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
-
copyMe
make a clone of the object taking into account current polymorhic type.- Returns:
- the cloned object.
-
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:
- AbstractProposal
-
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:
- AbstractProposal
-
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:
- AbstractProposal
-
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:
- AbstractProposal
-
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:
- AbstractProposal
-
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
-
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
-