Package org.ivoa.dm.proposal.prop
Class Investigator
java.lang.Object
org.ivoa.dm.proposal.prop.Investigator
- All Implemented Interfaces:
org.ivoa.vodml.jpa.JPAManipulations
,org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
@Entity
@VoDml(id="proposal:Investigator",
role=objectType)
public class Investigator
extends Object
implements org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
.
objectType: Investigator
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
A builder class for Investigator, mainly for use in the functional builder pattern. -
Field Summary
-
Constructor Summary
ConstructorDescriptionCreates a new InvestigatorInvestigator
(Investigator other) Copy Constructor.Investigator
(Person person, InvestigatorKind type, Boolean forPhD) full parameter constructor. -
Method Summary
Modifier and TypeMethodDescriptionstatic Investigator
create a Investigator in functional builder style.void
Returns forPhD Attribute.getId()
Returns person ReferencegetType()
Returns type Attribute.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
Set forPhD Attribute.void
Defines person Referencevoid
setType
(InvestigatorKind pType) Set type Attribute.void
updateUsing
(Investigator other) Update this object with the content of the given object.withForPhD
(Boolean pForPhD) fluent setter for forPhD Attribute.withType
(InvestigatorKind pType) fluent setter for type Attribute.
-
Field Details
-
_id
inserted database key -
type
@VoDml(id="proposal:Investigator.type", role=attribute, type="proposal:InvestigatorKind", typeRole=enumeration) protected InvestigatorKind typethe investigator type. : Attribute type : multiplicity 1 -
forPhD
@VoDml(id="proposal:Investigator.forPhD", role=attribute, type="ivoa:boolean", typeRole=primitiveType) protected Boolean forPhDis the investigator making proposal for their PhD. : Attribute forPhD : multiplicity 0..1 -
person
@VoDml(id="proposal:Investigator.person", role=reference, type="proposal:Person", typeRole=objectType) protected Person personReferenceObject person : the investigator. ( Multiplicity : 1 )
-
-
Constructor Details
-
Investigator
public Investigator()Creates a new Investigator -
Investigator
full parameter constructor.- Parameters:
person
- the investigator.type
- the investigator type.forPhD
- is the investigator making proposal for their PhD.
-
Investigator
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
-
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.
-
getPerson
Returns person Reference- Returns:
- person Reference
-
setPerson
Defines person Reference- Parameters:
pPerson
- reference to set
-
getType
Returns type Attribute.- Returns:
- type Attribute
-
setType
Set type Attribute.- Parameters:
pType
- value to set
-
withType
fluent setter for type Attribute.- Parameters:
pType
- value to set- Returns:
- Investigator
-
getForPhD
Returns forPhD Attribute.- Returns:
- forPhD Attribute
-
setForPhD
Set forPhD Attribute.- Parameters:
pForPhD
- value to set
-
withForPhD
fluent setter for forPhD Attribute.- Parameters:
pForPhD
- value to set- Returns:
- Investigator
-
createInvestigator
create a Investigator 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
-