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
  • Field Details

    • _id

      protected Long _id
      inserted database key
    • type

      @VoDml(id="proposal:Investigator.type", role=attribute, type="proposal:InvestigatorKind", typeRole=enumeration) protected InvestigatorKind type
      the investigator type. : Attribute type : multiplicity 1
    • forPhD

      @VoDml(id="proposal:Investigator.forPhD", role=attribute, type="ivoa:boolean", typeRole=primitiveType) protected Boolean forPhD
      is 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 person
      ReferenceObject person : the investigator. ( Multiplicity : 1 )
  • Constructor Details

    • Investigator

      public Investigator()
      Creates a new Investigator
    • Investigator

      public Investigator(Person person, InvestigatorKind type, Boolean forPhD)
      full parameter constructor.
      Parameters:
      person - the investigator.
      type - the investigator type.
      forPhD - is the investigator making proposal for their PhD.
    • Investigator

      public Investigator(Investigator other)
      Copy Constructor. Note that references will remain as is rather than be copied.
      Parameters:
      other - the object to be copied.
  • Method Details

    • getId

      public Long getId()
      Specified by:
      getId in interface org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
      Returns:
      the id
    • updateUsing

      public void updateUsing(Investigator 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.
    • getPerson

      public Person getPerson()
      Returns person Reference
      Returns:
      person Reference
    • setPerson

      public void setPerson(Person pPerson)
      Defines person Reference
      Parameters:
      pPerson - reference to set
    • getType

      public InvestigatorKind getType()
      Returns type Attribute.
      Returns:
      type Attribute
    • setType

      public void setType(InvestigatorKind pType)
      Set type Attribute.
      Parameters:
      pType - value to set
    • withType

      public Investigator withType(InvestigatorKind pType)
      fluent setter for type Attribute.
      Parameters:
      pType - value to set
      Returns:
      Investigator
    • getForPhD

      public Boolean getForPhD()
      Returns forPhD Attribute.
      Returns:
      forPhD Attribute
    • setForPhD

      public void setForPhD(Boolean pForPhD)
      Set forPhD Attribute.
      Parameters:
      pForPhD - value to set
    • withForPhD

      public Investigator withForPhD(Boolean pForPhD)
      fluent setter for forPhD Attribute.
      Parameters:
      pForPhD - value to set
      Returns:
      Investigator
    • createInvestigator

      public static Investigator createInvestigator(Consumer<Investigator.InvestigatorBuilder> f)
      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 interface org.ivoa.vodml.jpa.JPAManipulations
    • 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