Package org.ivoa.dm.registry.voresource
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
- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA builder class for Capability, mainly for use in the functional builder pattern. - 
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Longinserted database keyprotected StringA 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.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.protected StringA URI identifier for a standard service.protected List<Validation>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. - 
Constructor Summary
ConstructorsConstructorDescriptionCreates a new CapabilityCapability(List<Validation> validationLevel, String description, List<Interface> interface_, String standardID) full parameter constructor.Capability(Capability other) Copy Constructor. - 
Method Summary
Modifier and TypeMethodDescriptionvoidAdd a org.ivoa.dm.registry.voresource.Interface to the composition.copyMe()make a clone of the object taking into account current polymorhic type.static Capabilitycreate a Capability in functional builder style.voiddelete(jakarta.persistence.EntityManager em) voidReturns description Attribute.getId()Returns interface composition as an immutable list.Returns standardID Attribute.Returns validationLevel Attribute.voidRemove a org.ivoa.dm.registry.voresource.Interface from the composition.voidupdate a org.ivoa.dm.registry.voresource.Interface in the composition.voidsetDescription(String pDescription) Set description Attribute.voidsetInterface(List<Interface> pInterface) Defines whole interface composition.voidsetStandardID(String pStandardID) Set standardID Attribute.voidsetValidationLevel(List<Validation> pValidationLevel) Set validationLevel Attribute.voidupdateUsing(Capability other) Update this object with the content of the given object.withDescription(String pDescription) fluent setter for description Attribute.withStandardID(String pStandardID) fluent setter for standardID Attribute.withValidationLevel(List<Validation> pValidationLevel) fluent setter for validationLevel Attribute. 
- 
Field Details
- 
_id
inserted database key - 
validationLevel
@VoDml(id="VOResource:Capability.validationLevel", role=attribute, type="VOResource:Validation", typeRole=dataType) protected List<Validation> validationLevelA 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 descriptionA 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 standardIDA 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
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:
 getIdin interfaceorg.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>- Returns:
 - the id
 
 - 
copyMe
make a clone of the object taking into account current polymorhic type.- Returns:
 - the cloned object.
 
 - 
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.
 - 
getValidationLevel
Returns validationLevel Attribute.- Returns:
 - validationLevel Attribute
 
 - 
setValidationLevel
Set validationLevel Attribute.- Parameters:
 pValidationLevel- value to set
 - 
withValidationLevel
fluent setter for validationLevel Attribute.- Parameters:
 pValidationLevel- value to set- Returns:
 - Capability
 
 - 
getDescription
Returns description Attribute.- Returns:
 - description Attribute
 
 - 
setDescription
Set description Attribute.- Parameters:
 pDescription- value to set
 - 
withDescription
fluent setter for description Attribute.- Parameters:
 pDescription- value to set- Returns:
 - Capability
 
 - 
getInterface
Returns interface composition as an immutable list.- Returns:
 - interface composition.
 
 - 
setInterface
Defines whole interface composition.- Parameters:
 pInterface- composition to set.
 - 
addToInterface
Add a org.ivoa.dm.registry.voresource.Interface to the composition.- Parameters:
 p- org.ivoa.dm.registry.voresource.Interface to add
 - 
removeFromInterface
Remove a org.ivoa.dm.registry.voresource.Interface from the composition.- Parameters:
 p- org.ivoa.dm.registry.voresource.Interface to remove
 - 
replaceInInterface
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
Returns standardID Attribute.- Returns:
 - standardID Attribute
 
 - 
setStandardID
Set standardID Attribute.- Parameters:
 pStandardID- value to set
 - 
withStandardID
fluent setter for standardID Attribute.- Parameters:
 pStandardID- value to set- Returns:
 - Capability
 
 - 
createCapability
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:
 forceLoadin interfaceorg.ivoa.vodml.jpa.JPAManipulations
 - 
delete
public void delete(jakarta.persistence.EntityManager em) - Specified by:
 deletein interfaceorg.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
 
 -