Class Request

  • Direct Known Subclasses:
    ValidatingRequest

    public abstract class Request
    extends java.lang.Object
    Since:
    4.2
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static interface  Request.Param<T>
      Represents a Request parameter, provides information whether is was specified or not (check Request.Param.isPresent()) and utility method to nicely handles cases where the parameter is not present.
      static interface  Request.Part  
      static interface  Request.StringParam
      Extends Request.Param with convenience methods specific to the type String.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static java.lang.String MSG_PARAMETER_MISSING  
    • Constructor Summary

      Constructors 
      Constructor Description
      Request()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Map<java.lang.String,​java.lang.String> getHeaders()  
      abstract java.lang.String getMediaType()
      Returns the requested MIME type, or "application/octet-stream" if not specified.
      Request.StringParam getParam​(java.lang.String key)  
      <T> Request.Param<T> getParam​(java.lang.String key, java.util.function.BiFunction<Request,​java.lang.String,​T> retrieveAndValidate)  
      Request.StringParam getParam​(java.lang.String key, java.util.function.Consumer<java.lang.String> validate)  
      abstract java.util.Map<java.lang.String,​java.lang.String[]> getParams()  
      abstract java.lang.String getPath()
      Return path of the request
      java.io.BufferedReader getReader()  
      abstract boolean hasParam​(java.lang.String key)
      Return true of the parameter is set in the request.
      abstract java.util.Optional<java.lang.String> header​(java.lang.String name)
      Optional value of the HTTP header with specified name.
      abstract LocalConnector localConnector()
      Allows a web service to call another web service.
      java.util.List<java.lang.String> mandatoryMultiParam​(java.lang.String key)  
      java.lang.String mandatoryParam​(java.lang.String key)
      Returns a non-null value.
      boolean mandatoryParamAsBoolean​(java.lang.String key)
      Returns a boolean value.
      <E extends java.lang.Enum<E>>
      E
      mandatoryParamAsEnum​(java.lang.String key, java.lang.Class<E> enumClass)  
      int mandatoryParamAsInt​(java.lang.String key)
      Returns an int value.
      long mandatoryParamAsLong​(java.lang.String key)
      Returns a long value.
      Request.Part mandatoryParamAsPart​(java.lang.String key)  
      java.util.List<java.lang.String> mandatoryParamAsStrings​(java.lang.String key)  
      abstract java.lang.String method()
      Returns the name of the HTTP method with which this request was made.
      abstract java.util.List<java.lang.String> multiParam​(java.lang.String key)  
      abstract java.lang.String param​(java.lang.String key)  
      java.lang.Boolean paramAsBoolean​(java.lang.String key)  
      java.util.Date paramAsDate​(java.lang.String key)  
      java.util.Date paramAsDateTime​(java.lang.String key)  
      <E extends java.lang.Enum<E>>
      E
      paramAsEnum​(java.lang.String key, java.lang.Class<E> enumClass)  
      <E extends java.lang.Enum<E>>
      java.util.List<E>
      paramAsEnums​(java.lang.String key, java.lang.Class<E> enumClass)  
      abstract java.io.InputStream paramAsInputStream​(java.lang.String key)  
      java.lang.Integer paramAsInt​(java.lang.String key)  
      java.lang.Long paramAsLong​(java.lang.String key)  
      abstract Request.Part paramAsPart​(java.lang.String key)  
      abstract java.util.List<java.lang.String> paramAsStrings​(java.lang.String key)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • MSG_PARAMETER_MISSING

        protected static final java.lang.String MSG_PARAMETER_MISSING
        See Also:
        Constant Field Values
    • Constructor Detail

      • Request

        public Request()
    • Method Detail

      • method

        public abstract java.lang.String method()
        Returns the name of the HTTP method with which this request was made. Possible values are GET and POST. Others are not supported.
      • getReader

        public java.io.BufferedReader getReader()
      • getMediaType

        public abstract java.lang.String getMediaType()
        Returns the requested MIME type, or "application/octet-stream" if not specified.
      • hasParam

        public abstract boolean hasParam​(java.lang.String key)
        Return true of the parameter is set in the request. Does NOT take into account the deprecated key of a parameter.
      • mandatoryParam

        public java.lang.String mandatoryParam​(java.lang.String key)
        Returns a non-null value. To be used when parameter is required or has a default value.
        Throws:
        java.lang.IllegalArgumentException - is value is null or blank
      • mandatoryParamAsBoolean

        public boolean mandatoryParamAsBoolean​(java.lang.String key)
        Returns a boolean value. To be used when parameter is required or has a default value.
        Throws:
        java.lang.IllegalArgumentException - is value is null or blank
      • mandatoryParamAsInt

        public int mandatoryParamAsInt​(java.lang.String key)
        Returns an int value. To be used when parameter is required or has a default value.
        Throws:
        java.lang.IllegalArgumentException - is value is null or blank
      • mandatoryParamAsLong

        public long mandatoryParamAsLong​(java.lang.String key)
        Returns a long value. To be used when parameter is required or has a default value.
        Throws:
        java.lang.IllegalArgumentException - is value is null or blank
      • mandatoryParamAsEnum

        public <E extends java.lang.Enum<E>> E mandatoryParamAsEnum​(java.lang.String key,
                                                                    java.lang.Class<E> enumClass)
      • mandatoryParamAsStrings

        public java.util.List<java.lang.String> mandatoryParamAsStrings​(java.lang.String key)
      • mandatoryMultiParam

        public java.util.List<java.lang.String> mandatoryMultiParam​(java.lang.String key)
      • paramAsStrings

        @CheckForNull
        public abstract java.util.List<java.lang.String> paramAsStrings​(java.lang.String key)
      • getParams

        public abstract java.util.Map<java.lang.String,​java.lang.String[]> getParams()
      • param

        @CheckForNull
        public abstract java.lang.String param​(java.lang.String key)
      • multiParam

        public abstract java.util.List<java.lang.String> multiParam​(java.lang.String key)
      • paramAsInputStream

        @CheckForNull
        public abstract java.io.InputStream paramAsInputStream​(java.lang.String key)
      • paramAsPart

        @CheckForNull
        public abstract Request.Part paramAsPart​(java.lang.String key)
      • mandatoryParamAsPart

        public Request.Part mandatoryParamAsPart​(java.lang.String key)
      • paramAsBoolean

        @CheckForNull
        public java.lang.Boolean paramAsBoolean​(java.lang.String key)
      • paramAsInt

        @CheckForNull
        public java.lang.Integer paramAsInt​(java.lang.String key)
      • paramAsLong

        @CheckForNull
        public java.lang.Long paramAsLong​(java.lang.String key)
      • paramAsEnum

        @CheckForNull
        public <E extends java.lang.Enum<E>> E paramAsEnum​(java.lang.String key,
                                                           java.lang.Class<E> enumClass)
      • paramAsEnums

        @CheckForNull
        public <E extends java.lang.Enum<E>> java.util.List<E> paramAsEnums​(java.lang.String key,
                                                                            java.lang.Class<E> enumClass)
      • paramAsDateTime

        @CheckForNull
        public java.util.Date paramAsDateTime​(java.lang.String key)
      • paramAsDate

        @CheckForNull
        public java.util.Date paramAsDate​(java.lang.String key)
      • getParam

        public <T> Request.Param<T> getParam​(java.lang.String key,
                                             java.util.function.BiFunction<Request,​java.lang.String,​T> retrieveAndValidate)
      • getParam

        public Request.StringParam getParam​(java.lang.String key,
                                            java.util.function.Consumer<java.lang.String> validate)
      • header

        public abstract java.util.Optional<java.lang.String> header​(java.lang.String name)
        Optional value of the HTTP header with specified name. If present, the result can have an empty string value ("").
        Since:
        6.6
      • getHeaders

        public java.util.Map<java.lang.String,​java.lang.String> getHeaders()
      • localConnector

        public abstract LocalConnector localConnector()
        Allows a web service to call another web service.
        Since:
        5.5
        See Also:
        LocalConnector
      • getPath

        public abstract java.lang.String getPath()
        Return path of the request
        Since:
        6.0