Class Capability

java.lang.Object
org.ivoa.dm.registry.voresource.Capability
All Implemented Interfaces:
org.ivoa.vodml.jpa.JPAManipulations, org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
Direct Known Subclasses:
ConeSearch, SimpleImageAccess, SimpleLineAccess, SimpleSpectralAccess, TAPCapRestriction

@Entity @VoDml(id="VOResource:Capability", role=objectType) public class Capability extends Object implements org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
a description of what the service does (in terms of context-specific behavior), and how to use it (in terms of an interface) . objectType: Capability
  • Field Details

    • _id

      protected Long _id
      inserted database key
    • validationLevel

      @VoDml(id="VOResource:Capability.validationLevel", role=attribute, type="VOResource:Validation", typeRole=dataType) protected List<Validation> validationLevel
      A numeric grade describing the quality of the capability description and interface, when applicable, to be used to indicate the confidence an end-user can put in the resource as part of a VO application or research study. See VOResource:ValidationLevel for an explanation of the allowed levels. : Attribute validationLevel : multiplicity 0..*
    • description

      @VoDml(id="VOResource:Capability.description", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String description
      A human-readable description of what this capability provides as part of the over-all service Use of this optional element is especially encouraged when this capability is non-standard and is one of several capabilities listed. : Attribute description : multiplicity 0..1
    • interface_

      @VoDml(id="VOResource:Capability.interface", role=composition, type="VOResource:Interface", typeRole=objectType) protected List<Interface> interface_
      a description of how to call the service to access this capability Since the Interface type is abstract, one must describe the interface using a subclass of Interface, denoting it via xsi:type. Multiple occurences can describe different interfaces to the logically same capability, i.e. data or functionality. That is, the inputs accepted and the output provides should be logically the same. For example, a WebBrowser interface given in addition to a WebService interface would simply provide an interactive, human-targeted interface to the underlying WebService interface. composition interface : ( Multiplicity : 0..* )
    • standardID

      @VoDml(id="VOResource:Capability.standardID", role=attribute, type="ivoa:anyURI", typeRole=primitiveType) protected String standardID
      A URI identifier for a standard service. This provides a unique way to refer to a service specification standard, such as a Simple Image Access service. The use of an IVOA identifier here implies that a VOResource description of the standard is registered and accessible. : Attribute standardID : multiplicity 1
  • Constructor Details

    • Capability

      public Capability()
      Creates a new Capability
    • Capability

      public Capability(List<Validation> validationLevel, String description, List<Interface> interface_, String standardID)
      full parameter constructor.
      Parameters:
      validationLevel - A numeric grade describing the quality of the capability description and interface, when applicable, to be used to indicate the confidence an end-user can put in the resource as part of a VO application or research study. See VOResource:ValidationLevel for an explanation of the allowed levels.
      description - A human-readable description of what this capability provides as part of the over-all service Use of this optional element is especially encouraged when this capability is non-standard and is one of several capabilities listed.
      interface_ - a description of how to call the service to access this capability Since the Interface type is abstract, one must describe the interface using a subclass of Interface, denoting it via xsi:type. Multiple occurences can describe different interfaces to the logically same capability, i.e. data or functionality. That is, the inputs accepted and the output provides should be logically the same. For example, a WebBrowser interface given in addition to a WebService interface would simply provide an interactive, human-targeted interface to the underlying WebService interface.
      standardID - A URI identifier for a standard service. This provides a unique way to refer to a service specification standard, such as a Simple Image Access service. The use of an IVOA identifier here implies that a VOResource description of the standard is registered and accessible.
    • Capability

      public Capability(Capability 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
    • copyMe

      public Capability copyMe()
      make a clone of the object taking into account current polymorhic type.
      Returns:
      the cloned object.
    • updateUsing

      public void updateUsing(Capability 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.
    • getValidationLevel

      public List<Validation> getValidationLevel()
      Returns validationLevel Attribute.
      Returns:
      validationLevel Attribute
    • setValidationLevel

      public void setValidationLevel(List<Validation> pValidationLevel)
      Set validationLevel Attribute.
      Parameters:
      pValidationLevel - value to set
    • withValidationLevel

      public Capability withValidationLevel(List<Validation> pValidationLevel)
      fluent setter for validationLevel Attribute.
      Parameters:
      pValidationLevel - value to set
      Returns:
      Capability
    • 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 Capability withDescription(String pDescription)
      fluent setter for description Attribute.
      Parameters:
      pDescription - value to set
      Returns:
      Capability
    • getInterface

      public List<Interface> getInterface()
      Returns interface composition as an immutable list.
      Returns:
      interface composition.
    • setInterface

      public void setInterface(List<Interface> pInterface)
      Defines whole interface composition.
      Parameters:
      pInterface - composition to set.
    • addToInterface

      public void addToInterface(Interface p)
      Add a org.ivoa.dm.registry.voresource.Interface to the composition.
      Parameters:
      p - org.ivoa.dm.registry.voresource.Interface to add
    • removeFromInterface

      public void removeFromInterface(Interface p)
      Remove a org.ivoa.dm.registry.voresource.Interface from the composition.
      Parameters:
      p - org.ivoa.dm.registry.voresource.Interface to remove
    • replaceInInterface

      public void replaceInInterface(Interface _p)
      update a org.ivoa.dm.registry.voresource.Interface in the composition.
      Parameters:
      _p - org.ivoa.dm.registry.voresource.Interface to update the match is done via the database key
    • getStandardID

      public String getStandardID()
      Returns standardID Attribute.
      Returns:
      standardID Attribute
    • setStandardID

      public void setStandardID(String pStandardID)
      Set standardID Attribute.
      Parameters:
      pStandardID - value to set
    • withStandardID

      public Capability withStandardID(String pStandardID)
      fluent setter for standardID Attribute.
      Parameters:
      pStandardID - value to set
      Returns:
      Capability
    • createCapability

      public static Capability createCapability(Consumer<Capability.CapabilityBuilder> f)
      create a Capability 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>