Package org.ivoa.dm.registry.voresource
Class Interface
java.lang.Object
org.ivoa.dm.registry.voresource.Interface
- All Implemented Interfaces:
org.ivoa.vodml.jpa.JPAManipulations,org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
- Direct Known Subclasses:
ParamHTTP,WebBrowser,WebService
@Entity
@VoDml(id="VOResource:Interface",
role=objectType)
public abstract class Interface
extends Object
implements org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
A description of a service interface.
Since this type is abstract, one must use an Interface subclass
to describe an actual interface.
Additional interface subtypes (beyond WebService and WebBrowser) are
defined in the VODataService schema.
objectType: Interface
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Longinserted database keyThe URL (or base URL) that a client uses to access the service.A (base) URL of a mirror of this interface.protected StringA tag name that identifies the role the interface plays in the particular capability.protected List<SecurityMethod>The mechanism the client must employ to authenticate to the service.protected StringTest data for exercising the service.protected StringThe version of a standard interface specification that this interface complies with. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd a org.ivoa.dm.registry.voresource.AccessURL to the composition.voidAdd a org.ivoa.dm.registry.voresource.MirrorURL to the composition.voidAdd a org.ivoa.dm.registry.voresource.SecurityMethod to the composition.abstract InterfacecopyMe()make a clone of the object taking into account current polymorhic type.voidReturns accessURL composition as an immutable list.getId()Returns mirrorURL composition as an immutable list.getRole()Returns role Attribute.Returns securityMethod composition as an immutable list.Returns testQueryString Attribute.Returns version Attribute.voidRemove a org.ivoa.dm.registry.voresource.AccessURL from the composition.voidRemove a org.ivoa.dm.registry.voresource.MirrorURL from the composition.voidRemove a org.ivoa.dm.registry.voresource.SecurityMethod from the composition.voidupdate a org.ivoa.dm.registry.voresource.AccessURL in the composition.voidupdate a org.ivoa.dm.registry.voresource.MirrorURL in the composition.voidupdate a org.ivoa.dm.registry.voresource.SecurityMethod in the composition.voidsetAccessURL(List<AccessURL> pAccessURL) Defines whole accessURL composition.voidsetMirrorURL(List<MirrorURL> pMirrorURL) Defines whole mirrorURL composition.voidSet role Attribute.voidsetSecurityMethod(List<SecurityMethod> pSecurityMethod) Defines whole securityMethod composition.voidsetTestQueryString(String pTestQueryString) Set testQueryString Attribute.voidsetVersion(String pVersion) Set version Attribute.voidupdateUsing(Interface other) Update this object with the content of the given object.fluent setter for role Attribute.withTestQueryString(String pTestQueryString) fluent setter for testQueryString Attribute.withVersion(String pVersion) fluent setter for version Attribute.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.ivoa.vodml.jpa.JPAManipulationsForObjectType
delete
-
Field Details
-
_id
inserted database key -
accessURL
@VoDml(id="VOResource:Interface.accessURL", role=composition, type="VOResource:AccessURL", typeRole=objectType) protected List<AccessURL> accessURLThe URL (or base URL) that a client uses to access the service. How this URL is to be interpreted and used depends on the specific Interface subclass Although the schema allows multiple occurrences of accessURL, multiple accessURLs are deprecated. Each interface should have exactly one access URL. Where an interface has several mirrors, the accessURL should reflect the “primary” (fastest, best-connected, best-maintained) site, the one that non-sophisticated clients will go to. Additional accessURLs should be put into mirrorURLs. Advanced clients can retrieve the mirrorURLs and empirically determine interfaces closer to their network location. composition accessURL : ( Multiplicity : 1..* ) -
mirrorURL
@VoDml(id="VOResource:Interface.mirrorURL", role=composition, type="VOResource:MirrorURL", typeRole=objectType) protected List<MirrorURL> mirrorURLA (base) URL of a mirror of this interface. As with accessURL, how this URL is to be interpreted and used depends on the specific Interface subclass This is intended exclusively for true mirrors, i.e., interfaces that are functionally identical to the original interface and that are operated by the same publisher. Other arrangements should be represented as separate services linked by mirror-of relationships. composition mirrorURL : ( Multiplicity : 0..* ) -
securityMethod
@VoDml(id="VOResource:Interface.securityMethod", role=composition, type="VOResource:SecurityMethod", typeRole=objectType) protected List<SecurityMethod> securityMethodThe mechanism the client must employ to authenticate to the service. Services not requiring authentication must provide at least one interface definition without a securityMethod defined. composition securityMethod : ( Multiplicity : 0..* ) -
testQueryString
@VoDml(id="VOResource:Interface.testQueryString", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String testQueryStringTest data for exercising the service. This contains data that can be passed to the interface to retrieve a non-empty result. This can be used by validators within test suites. Exactly how agents should use the data contained in the testQueryString depends on the concrete interface class. For interfaces employing the HTTP GET method, however, this will typically be urlencoded parameters (as for the application/x-www-form-urlencoded media type). : Attribute testQueryString : multiplicity 0..1 -
version
@VoDml(id="VOResource:Interface.version", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String versionThe version of a standard interface specification that this interface complies with. Most VO standards indicate the version in the standardID attribute of the capability. For these standards, the version attribute should not be used. : Attribute version : multiplicity 1 -
role
@VoDml(id="VOResource:Interface.role", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String roleA tag name that identifies the role the interface plays in the particular capability. If the value is equal to 'std' or begins with 'std:', then the interface refers to a standard interface defined by the standard referred to by the capability's standardID attribute. For an interface complying with some registered standard (i.e. has a legal standardID), the role can be matched against interface roles enumerated in standard resource record. The interface descriptions in the standard record can provide default descriptions so that such details need not be repeated here. : Attribute role : multiplicity 1
-
-
Constructor Details
-
Interface
public Interface()Creates a new Interface -
Interface
public Interface(List<AccessURL> accessURL, List<MirrorURL> mirrorURL, List<SecurityMethod> securityMethod, String testQueryString, String version, String role) full parameter constructor.- Parameters:
accessURL- The URL (or base URL) that a client uses to access the service. How this URL is to be interpreted and used depends on the specific Interface subclass Although the schema allows multiple occurrences of accessURL, multiple accessURLs are deprecated. Each interface should have exactly one access URL. Where an interface has several mirrors, the accessURL should reflect the “primary” (fastest, best-connected, best-maintained) site, the one that non-sophisticated clients will go to. Additional accessURLs should be put into mirrorURLs. Advanced clients can retrieve the mirrorURLs and empirically determine interfaces closer to their network location.mirrorURL- A (base) URL of a mirror of this interface. As with accessURL, how this URL is to be interpreted and used depends on the specific Interface subclass This is intended exclusively for true mirrors, i.e., interfaces that are functionally identical to the original interface and that are operated by the same publisher. Other arrangements should be represented as separate services linked by mirror-of relationships.securityMethod- The mechanism the client must employ to authenticate to the service. Services not requiring authentication must provide at least one interface definition without a securityMethod defined.testQueryString- Test data for exercising the service. This contains data that can be passed to the interface to retrieve a non-empty result. This can be used by validators within test suites. Exactly how agents should use the data contained in the testQueryString depends on the concrete interface class. For interfaces employing the HTTP GET method, however, this will typically be urlencoded parameters (as for the application/x-www-form-urlencoded media type).version- The version of a standard interface specification that this interface complies with. Most VO standards indicate the version in the standardID attribute of the capability. For these standards, the version attribute should not be used.role- A tag name that identifies the role the interface plays in the particular capability. If the value is equal to 'std' or begins with 'std:', then the interface refers to a standard interface defined by the standard referred to by the capability's standardID attribute. For an interface complying with some registered standard (i.e. has a legal standardID), the role can be matched against interface roles enumerated in standard resource record. The interface descriptions in the standard record can provide default descriptions so that such details need not be repeated here.
-
Interface
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.
-
getAccessURL
Returns accessURL composition as an immutable list.- Returns:
- accessURL composition.
-
setAccessURL
Defines whole accessURL composition.- Parameters:
pAccessURL- composition to set.
-
addToAccessURL
Add a org.ivoa.dm.registry.voresource.AccessURL to the composition.- Parameters:
p- org.ivoa.dm.registry.voresource.AccessURL to add
-
removeFromAccessURL
Remove a org.ivoa.dm.registry.voresource.AccessURL from the composition.- Parameters:
p- org.ivoa.dm.registry.voresource.AccessURL to remove
-
replaceInAccessURL
update a org.ivoa.dm.registry.voresource.AccessURL in the composition.- Parameters:
_p- org.ivoa.dm.registry.voresource.AccessURL to update the match is done via the database key
-
getMirrorURL
Returns mirrorURL composition as an immutable list.- Returns:
- mirrorURL composition.
-
setMirrorURL
Defines whole mirrorURL composition.- Parameters:
pMirrorURL- composition to set.
-
addToMirrorURL
Add a org.ivoa.dm.registry.voresource.MirrorURL to the composition.- Parameters:
p- org.ivoa.dm.registry.voresource.MirrorURL to add
-
removeFromMirrorURL
Remove a org.ivoa.dm.registry.voresource.MirrorURL from the composition.- Parameters:
p- org.ivoa.dm.registry.voresource.MirrorURL to remove
-
replaceInMirrorURL
update a org.ivoa.dm.registry.voresource.MirrorURL in the composition.- Parameters:
_p- org.ivoa.dm.registry.voresource.MirrorURL to update the match is done via the database key
-
getSecurityMethod
Returns securityMethod composition as an immutable list.- Returns:
- securityMethod composition.
-
setSecurityMethod
Defines whole securityMethod composition.- Parameters:
pSecurityMethod- composition to set.
-
addToSecurityMethod
Add a org.ivoa.dm.registry.voresource.SecurityMethod to the composition.- Parameters:
p- org.ivoa.dm.registry.voresource.SecurityMethod to add
-
removeFromSecurityMethod
Remove a org.ivoa.dm.registry.voresource.SecurityMethod from the composition.- Parameters:
p- org.ivoa.dm.registry.voresource.SecurityMethod to remove
-
replaceInSecurityMethod
update a org.ivoa.dm.registry.voresource.SecurityMethod in the composition.- Parameters:
_p- org.ivoa.dm.registry.voresource.SecurityMethod to update the match is done via the database key
-
getTestQueryString
Returns testQueryString Attribute.- Returns:
- testQueryString Attribute
-
setTestQueryString
Set testQueryString Attribute.- Parameters:
pTestQueryString- value to set
-
withTestQueryString
fluent setter for testQueryString Attribute.- Parameters:
pTestQueryString- value to set- Returns:
- Interface
-
getVersion
Returns version Attribute.- Returns:
- version Attribute
-
setVersion
Set version Attribute.- Parameters:
pVersion- value to set
-
withVersion
fluent setter for version Attribute.- Parameters:
pVersion- value to set- Returns:
- Interface
-
getRole
Returns role Attribute.- Returns:
- role Attribute
-
setRole
Set role Attribute.- Parameters:
pRole- value to set
-
withRole
fluent setter for role Attribute.- Parameters:
pRole- value to set- Returns:
- Interface
-
forceLoad
public void forceLoad()- Specified by:
forceLoadin interfaceorg.ivoa.vodml.jpa.JPAManipulations
-