Class Language

java.lang.Object
org.ivoa.dm.registry.tap.Language
All Implemented Interfaces:
org.ivoa.vodml.jpa.JPAManipulations, org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>

@Entity @VoDml(id="TAPRegExt:Language", role=objectType) public class Language extends Object implements org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
A query language supported by the service. Each language element can describe one or more versions of a language. Either name alone or name-version can be used as values for the server's LANG parameter. objectType: Language
  • Field Details

    • _id

      protected Long _id
      inserted database key
    • name

      @VoDml(id="TAPRegExt:Language.name", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String name
      The name of the language without a version suffix. : Attribute name : multiplicity 1
    • version

      @VoDml(id="TAPRegExt:Language.version", role=attribute, type="TAPRegExt:Version", typeRole=dataType) protected List<Version> version
      A version of the language supported by the server. : Attribute version : multiplicity 1..*
    • description

      @VoDml(id="TAPRegExt:Language.description", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String description
      A short, human-readable description of the query language. : Attribute description : multiplicity 0..1
    • languageFeatures

      @VoDml(id="TAPRegExt:Language.languageFeatures", role=composition, type="TAPRegExt:LanguageFeatureList", typeRole=objectType) protected List<LanguageFeatureList> languageFeatures
      Optional features of the query language, grouped by feature type. This includes listing user defined functions, geometry support, or similar concepts. composition languageFeatures : ( Multiplicity : 0..* )
  • Constructor Details

    • Language

      public Language()
      Creates a new Language
    • Language

      public Language(String name, List<Version> version, String description, List<LanguageFeatureList> languageFeatures)
      full parameter constructor.
      Parameters:
      name - The name of the language without a version suffix.
      version - A version of the language supported by the server.
      description - A short, human-readable description of the query language.
      languageFeatures - Optional features of the query language, grouped by feature type. This includes listing user defined functions, geometry support, or similar concepts.
    • Language

      public Language(Language 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(Language 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.
    • getName

      public String getName()
      Returns name Attribute.
      Returns:
      name Attribute
    • setName

      public void setName(String pName)
      Set name Attribute.
      Parameters:
      pName - value to set
    • withName

      public Language withName(String pName)
      fluent setter for name Attribute.
      Parameters:
      pName - value to set
      Returns:
      Language
    • getVersion

      public List<Version> getVersion()
      Returns version Attribute.
      Returns:
      version Attribute
    • setVersion

      public void setVersion(List<Version> pVersion)
      Set version Attribute.
      Parameters:
      pVersion - value to set
    • withVersion

      public Language withVersion(List<Version> pVersion)
      fluent setter for version Attribute.
      Parameters:
      pVersion - value to set
      Returns:
      Language
    • getDescription

      public String getDescription()
      Returns description Attribute.
      Returns:
      description Attribute
    • setDescription

      public void setDescription(String pDescription)
      Set description Attribute.
      Parameters:
      pDescription - value to set
    • withDescription

      public Language withDescription(String pDescription)
      fluent setter for description Attribute.
      Parameters:
      pDescription - value to set
      Returns:
      Language
    • getLanguageFeatures

      public List<LanguageFeatureList> getLanguageFeatures()
      Returns languageFeatures composition as an immutable list.
      Returns:
      languageFeatures composition.
    • setLanguageFeatures

      public void setLanguageFeatures(List<LanguageFeatureList> pLanguageFeatures)
      Defines whole languageFeatures composition.
      Parameters:
      pLanguageFeatures - composition to set.
    • addToLanguageFeatures

      public void addToLanguageFeatures(LanguageFeatureList p)
      Add a org.ivoa.dm.registry.tap.LanguageFeatureList to the composition.
      Parameters:
      p - org.ivoa.dm.registry.tap.LanguageFeatureList to add
    • removeFromLanguageFeatures

      public void removeFromLanguageFeatures(LanguageFeatureList p)
      Remove a org.ivoa.dm.registry.tap.LanguageFeatureList from the composition.
      Parameters:
      p - org.ivoa.dm.registry.tap.LanguageFeatureList to remove
    • replaceInLanguageFeatures

      public void replaceInLanguageFeatures(LanguageFeatureList _p)
      update a org.ivoa.dm.registry.tap.LanguageFeatureList in the composition.
      Parameters:
      _p - org.ivoa.dm.registry.tap.LanguageFeatureList to update the match is done via the database key
    • createLanguage

      public static Language createLanguage(Consumer<Language.LanguageBuilder> f)
      create a Language 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
    • delete

      public void delete(jakarta.persistence.EntityManager em)
      Specified by:
      delete in interface org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>