Annotation Type PathTemplate


  • @Retention(RUNTIME)
    @Target(TYPE)
    @Documented
    public @interface PathTemplate
    Describes the URI pattern of resources that a type Dispatches. The syntax of the pattern MUST conform to the syntax of Route Patterns.
    Author:
    cdivilly
    • Field Summary

      Fields 
      Modifier and Type Fields Description
      static int DEFAULT_PRIORITY
      Default priority value
    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      java.lang.String value
      The Route pattern
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      java.lang.String[] accepts
      Enumerates the sets of media types that this resource can accept for requests that may contain a resource body (e.g.
      java.lang.String[] allowedOrigins
      The set of Web Origins that can access this resource via CORS
      HTTPAuthenticationScheme[] authSchemes
      Optionally specify the HTTP Authentication Schemes that this pattern can dispatch.
      CrossOriginSharingPolicy cors
      Identifies if the resource can be accessed via CORS or not.
      java.lang.String deprecatedSince
      The version that this resource was deprecated in.
      DocumentationPolicy documentation
      Describes how this resource is documented.
      FramePolicy frameOptions
      Defines if the resource can be framed
      java.lang.String introducedSince
      The version that this resource was introduced in.
      java.lang.String[] methods
      Optionally specify the HTTP methods that this pattern can dispatch
      java.lang.String name
      Optionally assign a mnemonic name to the path template
      boolean overlaps
      Set this attribute to true if this resource may overlap with other (possibly user defined resources)
      int pageSize
      For resources that may be paginated indicates the number of items to display per page.
      PaginationStrategy pagination
      Describes how a resource is paginated.
      PathSyntaxPolicy pathValidation
      Describes how path portion of the request URI should be validated.
      java.lang.String removedSince
      The version that this resource was removed from.
      java.lang.String requiresPrivilege
      Identifies the name of the Privilege that protects this URI pattern
      TransportPolicy transport
      Describes the transport level security requirements for this URI pattern
    • Field Detail

      • DEFAULT_PRIORITY

        static final int DEFAULT_PRIORITY
        Default priority value
    • Element Detail

      • value

        java.lang.String value
        The Route pattern
        Returns:
        Route Pattern
      • accepts

        java.lang.String[] accepts
        Enumerates the sets of media types that this resource can accept for requests that may contain a resource body (e.g. PUT, POST). The media type specification MAY contain wildcards An empty array (the default) indicates that the resource accepts any media type
        Returns:
        The acceptable media types
        Default:
        {}
      • allowedOrigins

        java.lang.String[] allowedOrigins
        The set of Web Origins that can access this resource via CORS
        Returns:
        Array of Web Origins
        Default:
        {}
      • documentation

        DocumentationPolicy documentation
        Describes how this resource is documented.
        Returns:
        DocumentationPolicy instance
        Default:
        oracle.dbtools.plugin.api.http.annotations.DocumentationPolicy.AUTHORIZED
      • pathValidation

        PathSyntaxPolicy pathValidation
        Describes how path portion of the request URI should be validated.
        Returns:
        PathSyntaxPolicy instance
        Default:
        oracle.dbtools.plugin.api.http.annotations.PathSyntaxPolicy.CHECK
      • frameOptions

        FramePolicy frameOptions
        Defines if the resource can be framed
        Returns:
        FramePolicy instance
        Default:
        oracle.dbtools.plugin.api.http.annotations.FramePolicy.SAME_ORIGIN
      • methods

        java.lang.String[] methods
        Optionally specify the HTTP methods that this pattern can dispatch
        Returns:
        supported HTTP methods
        Default:
        {}
      • authSchemes

        HTTPAuthenticationScheme[] authSchemes
        Optionally specify the HTTP Authentication Schemes that this pattern can dispatch. Currently only one explicit HTTPAuthenticationScheme is defined (HTTPAuthenticationScheme.BASIC). It is imagined that in the future we will support more defined HTTPAuthenticationSchemes so an Array is used here.
        Returns:
        supported Auth Schemes
        Default:
        {oracle.dbtools.plugin.api.http.annotations.HTTPAuthenticationScheme.ANY}
      • name

        java.lang.String name
        Optionally assign a mnemonic name to the path template
        Returns:
        mnemonic that uniquely identifies this PathTemplate
        See Also:
        PathTemplateMatch.name()
        Default:
        ""
      • pageSize

        int pageSize
        For resources that may be paginated indicates the number of items to display per page.
        Returns:
        number of items per page
        Default:
        -1
      • pagination

        PaginationStrategy pagination
        Describes how a resource is paginated.
        Returns:
        PaginationStrategy instance
        Default:
        oracle.dbtools.plugin.api.pagination.PaginationStrategy.NONE
      • requiresPrivilege

        java.lang.String requiresPrivilege
        Identifies the name of the Privilege that protects this URI pattern
        Returns:
        privilege name
        Default:
        ""
      • transport

        TransportPolicy transport
        Describes the transport level security requirements for this URI pattern
        Returns:
        TransportPolicy instance
        Default:
        oracle.dbtools.plugin.api.security.annotations.TransportPolicy.ANY
      • introducedSince

        java.lang.String introducedSince
        The version that this resource was introduced in. If not specified then it's value is inherited from the HttpServlet's IntroducedSince annotation or the plugin identified by BelongsTo's IntroducedSince annotation
        Returns:
        Version number string
        See Also:
        IntroducedSince
        Default:
        ""
      • deprecatedSince

        java.lang.String deprecatedSince
        The version that this resource was deprecated in. If not specified then it's value is inherited from the HttpServlet's IntroducedSince annotation or the plugin identified by BelongsTo's IntroducedSince annotation. If no value is inherited then the resource is not deprecated
        Returns:
        Version number string
        See Also:
        DeprecatedSince
        Default:
        ""
      • removedSince

        java.lang.String removedSince
        The version that this resource was removed from. If not specified then it's value is inherited from the HttpServlet's RemovedSince annotation. If no value is inherited then the resource has not been removed.
        Returns:
        Version number string
        See Also:
        RemovedSince
        Default:
        ""
      • overlaps

        boolean overlaps
        Set this attribute to true if this resource may overlap with other (possibly user defined resources)
        Returns:
        true if this resource path may overlap with other resources
        Default:
        false