Class ParamHTTP

java.lang.Object
org.ivoa.dm.registry.voresource.Interface
org.ivoa.dm.registry.vodataservice.ParamHTTP
All Implemented Interfaces:
org.ivoa.vodml.jpa.JPAManipulations, org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>

@Entity @VoDml(id="VODataService:ParamHTTP", role=objectType) public class ParamHTTP extends Interface implements org.ivoa.vodml.jpa.JPAManipulationsForObjectType<Long>
A service invoked via an HTTP Query (either Get or Post) with a set of arguments consisting of keyword name-value pairs. Note that the URL for help with this service can be put into the service/referenceURL element. objectType: ParamHTTP
  • Field Details

    • queryType

      @VoDml(id="VODataService:ParamHTTP.queryType", role=attribute, type="VODataService:HTTPQueryType", typeRole=enumeration) protected HTTPQueryType[] queryType
      The type of HTTP request, either GET or POST. The service may indicate support for both GET and POST by providing 2 queryType elements, one with GET and one with POST. Since the IVOA standard DALI requires standard services to support both GET and POST, this piece of metadata is not useful in the description of standard DAL services and does not need to be given for those. : Attribute queryType : multiplicity 2
    • resultType

      @VoDml(id="VODataService:ParamHTTP.resultType", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String resultType
      The MIME media type of a document returned in the HTTP response. : Attribute resultType : multiplicity 0..1
    • param

      @VoDml(id="VODataService:ParamHTTP.param", role=composition, type="VODataService:InputParam", typeRole=objectType) protected List<InputParam> param
      A description of a input parameter that can be provided as a name=value argument to the service. composition param : ( Multiplicity : 0..* )
    • testQuery

      @VoDml(id="VODataService:ParamHTTP.testQuery", role=attribute, type="ivoa:string", typeRole=primitiveType) protected String testQuery
      An ampersand-delimited list of arguments that can be used to test this service interface; when provided as the input to this interface, it will produce a legal, non-null response. When the interface supports GET, then the full query URL is formed by the concatenation of the base URL (given by the accessURL) and the value given by this testQuery element. : Attribute testQuery : multiplicity 0..1
  • Constructor Details

    • ParamHTTP

      public ParamHTTP()
      Creates a new ParamHTTP
    • ParamHTTP

      public ParamHTTP(HTTPQueryType[] queryType, String resultType, List<InputParam> param, String testQuery, List<AccessURL> accessURL, List<MirrorURL> mirrorURL, List<SecurityMethod> securityMethod, String testQueryString, String version, String role)
      full parameter constructor.
      Parameters:
      queryType - The type of HTTP request, either GET or POST. The service may indicate support for both GET and POST by providing 2 queryType elements, one with GET and one with POST. Since the IVOA standard DALI requires standard services to support both GET and POST, this piece of metadata is not useful in the description of standard DAL services and does not need to be given for those.
      resultType - The MIME media type of a document returned in the HTTP response.
      param - A description of a input parameter that can be provided as a name=value argument to the service.
      testQuery - An ampersand-delimited list of arguments that can be used to test this service interface; when provided as the input to this interface, it will produce a legal, non-null response. When the interface supports GET, then the full query URL is formed by the concatenation of the base URL (given by the accessURL) and the value given by this testQuery element.
      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.
    • ParamHTTP

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

      public ParamHTTP(Interface superinstance, HTTPQueryType[] queryType, String resultType, List<InputParam> param, String testQuery)
      Constructor from supertype instance.
      Parameters:
      superinstance - The supertype.
      queryType - The type of HTTP request, either GET or POST. The service may indicate support for both GET and POST by providing 2 queryType elements, one with GET and one with POST. Since the IVOA standard DALI requires standard services to support both GET and POST, this piece of metadata is not useful in the description of standard DAL services and does not need to be given for those.
      resultType - The MIME media type of a document returned in the HTTP response.
      param - A description of a input parameter that can be provided as a name=value argument to the service.
      testQuery - An ampersand-delimited list of arguments that can be used to test this service interface; when provided as the input to this interface, it will produce a legal, non-null response. When the interface supports GET, then the full query URL is formed by the concatenation of the base URL (given by the accessURL) and the value given by this testQuery element.
  • Method Details

    • copyMe

      public Interface copyMe()
      make a clone of the object taking into account current polymorhic type.
      Specified by:
      copyMe in class Interface
      Returns:
      the cloned object.
    • updateUsing

      public void updateUsing(ParamHTTP 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.
    • getQueryType

      public HTTPQueryType[] getQueryType()
      Returns queryType Attribute.
      Returns:
      queryType Attribute
    • setQueryType

      public void setQueryType(HTTPQueryType[] pQueryType)
      Set queryType Attribute.
      Parameters:
      pQueryType - value to set
    • withQueryType

      public ParamHTTP withQueryType(HTTPQueryType[] pQueryType)
      fluent setter for queryType Attribute.
      Parameters:
      pQueryType - value to set
      Returns:
      ParamHTTP
    • getResultType

      public String getResultType()
      Returns resultType Attribute.
      Returns:
      resultType Attribute
    • setResultType

      public void setResultType(String pResultType)
      Set resultType Attribute.
      Parameters:
      pResultType - value to set
    • withResultType

      public ParamHTTP withResultType(String pResultType)
      fluent setter for resultType Attribute.
      Parameters:
      pResultType - value to set
      Returns:
      ParamHTTP
    • getParam

      public List<InputParam> getParam()
      Returns param composition as an immutable list.
      Returns:
      param composition.
    • setParam

      public void setParam(List<InputParam> pParam)
      Defines whole param composition.
      Parameters:
      pParam - composition to set.
    • addToParam

      public void addToParam(InputParam p)
      Add a org.ivoa.dm.registry.vodataservice.InputParam to the composition.
      Parameters:
      p - org.ivoa.dm.registry.vodataservice.InputParam to add
    • removeFromParam

      public void removeFromParam(InputParam p)
      Remove a org.ivoa.dm.registry.vodataservice.InputParam from the composition.
      Parameters:
      p - org.ivoa.dm.registry.vodataservice.InputParam to remove
    • replaceInParam

      public void replaceInParam(InputParam _p)
      update a org.ivoa.dm.registry.vodataservice.InputParam in the composition.
      Parameters:
      _p - org.ivoa.dm.registry.vodataservice.InputParam to update the match is done via the database key
    • getTestQuery

      public String getTestQuery()
      Returns testQuery Attribute.
      Returns:
      testQuery Attribute
    • setTestQuery

      public void setTestQuery(String pTestQuery)
      Set testQuery Attribute.
      Parameters:
      pTestQuery - value to set
    • withTestQuery

      public ParamHTTP withTestQuery(String pTestQuery)
      fluent setter for testQuery Attribute.
      Parameters:
      pTestQuery - value to set
      Returns:
      ParamHTTP
    • createParamHTTP

      public static ParamHTTP createParamHTTP(Consumer<ParamHTTP.ParamHTTPBuilder> f)
      create a ParamHTTP 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
      Overrides:
      forceLoad in class Interface
    • delete

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