Class Encode


  • public class Encode
    extends java.lang.Object
    Version:
    $Revision: 1 $
    • Constructor Summary

      Constructors 
      Constructor Description
      Encode()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String decode​(java.lang.String string)  
      static javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> decode​(javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> map)
      decode an encoded map
      static javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> decode​(javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> map, java.lang.String charset)
      decode an encoded map
      private static java.lang.String decodeBytes​(java.lang.String enc, java.nio.charset.CharsetDecoder decoder)  
      static java.lang.String decodePath​(java.lang.String path)  
      private static java.lang.String encode​(int zhar, java.lang.String[] encodingMap)  
      static javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> encode​(javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> map)  
      static java.lang.String encodeFragment​(java.lang.String value)
      Keep encoded values "%..." and template parameters intact.
      static java.lang.String encodeFragmentAsIs​(java.lang.String nameOrValue)  
      protected static java.lang.String encodeFromArray​(java.lang.String segment, java.lang.String[] encodingMap, boolean encodePercent)  
      static java.lang.String encodeMatrixParam​(java.lang.String value)
      Keep encoded values "%..." and template parameters intact.
      static java.lang.String encodeNonCodes​(java.lang.String string)
      Encode '%' if it is not an encoding sequence
      static java.lang.String encodePath​(java.lang.String value)
      Keep encoded values "%...", matrix parameters, template parameters, and '/' characters intact.
      static java.lang.String encodePathAsIs​(java.lang.String segment)
      Encode via RFC 3986.
      static java.lang.String encodePathSaveEncodings​(java.lang.String segment)
      Keep any valid encodings from string i.e.
      static java.lang.String encodePathSegment​(java.lang.String value)
      Keep encoded values "%...", matrix parameters and template parameters intact.
      static java.lang.String encodePathSegmentAsIs​(java.lang.String segment)
      Encode via RFC 3986.
      static java.lang.String encodePathSegmentSaveEncodings​(java.lang.String segment)
      Keep any valid encodings from string i.e.
      static java.lang.String encodeQueryParam​(java.lang.String value)
      Keep encoded values "%..." and template parameters intact.
      static java.lang.String encodeQueryParamAsIs​(java.lang.String nameOrValue)
      Encodes everything of a query parameter name or value.
      static java.lang.String encodeQueryParamSaveEncodings​(java.lang.String segment)
      Keep any valid encodings from string i.e.
      static java.lang.String encodeQueryString​(java.lang.String value)
      Keep encoded values "%..." and template parameters intact.
      static java.lang.String encodeValue​(java.lang.String segment, java.lang.String[] encoding)
      Keep encoded values "%..." and template parameters intact i.e.
      static java.lang.String pathParamReplacement​(java.lang.String segment, java.util.List<java.lang.String> params)  
      static boolean savePathParams​(java.lang.String segment, java.lang.StringBuilder newSegment, java.util.List<java.lang.String> params)  
      • Methods inherited from class java.lang.Object

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

      • UTF_8

        private static final java.lang.String UTF_8
      • PARAM_REPLACEMENT

        private static final java.util.regex.Pattern PARAM_REPLACEMENT
      • pathEncoding

        private static final java.lang.String[] pathEncoding
      • pathSegmentEncoding

        private static final java.lang.String[] pathSegmentEncoding
      • matrixParameterEncoding

        private static final java.lang.String[] matrixParameterEncoding
      • queryNameValueEncoding

        private static final java.lang.String[] queryNameValueEncoding
      • queryStringEncoding

        private static final java.lang.String[] queryStringEncoding
      • nonCodes

        private static final java.util.regex.Pattern nonCodes
      • encodedChars

        private static final java.util.regex.Pattern encodedChars
      • encodedCharsMulti

        private static final java.util.regex.Pattern encodedCharsMulti
    • Constructor Detail

      • Encode

        public Encode()
    • Method Detail

      • encodeQueryString

        public static java.lang.String encodeQueryString​(java.lang.String value)
        Keep encoded values "%..." and template parameters intact.
      • encodePath

        public static java.lang.String encodePath​(java.lang.String value)
        Keep encoded values "%...", matrix parameters, template parameters, and '/' characters intact.
      • encodePathSegment

        public static java.lang.String encodePathSegment​(java.lang.String value)
        Keep encoded values "%...", matrix parameters and template parameters intact.
      • encodeFragment

        public static java.lang.String encodeFragment​(java.lang.String value)
        Keep encoded values "%..." and template parameters intact.
      • encodeMatrixParam

        public static java.lang.String encodeMatrixParam​(java.lang.String value)
        Keep encoded values "%..." and template parameters intact.
      • encodeQueryParam

        public static java.lang.String encodeQueryParam​(java.lang.String value)
        Keep encoded values "%..." and template parameters intact.
      • decodePath

        public static java.lang.String decodePath​(java.lang.String path)
      • decodeBytes

        private static java.lang.String decodeBytes​(java.lang.String enc,
                                                    java.nio.charset.CharsetDecoder decoder)
      • encodeNonCodes

        public static java.lang.String encodeNonCodes​(java.lang.String string)
        Encode '%' if it is not an encoding sequence
        Parameters:
        string -
        Returns:
      • savePathParams

        public static boolean savePathParams​(java.lang.String segment,
                                             java.lang.StringBuilder newSegment,
                                             java.util.List<java.lang.String> params)
      • encodeValue

        public static java.lang.String encodeValue​(java.lang.String segment,
                                                   java.lang.String[] encoding)
        Keep encoded values "%..." and template parameters intact i.e. "{x}"
        Parameters:
        segment -
        encoding -
        Returns:
      • encodePathAsIs

        public static java.lang.String encodePathAsIs​(java.lang.String segment)
        Encode via RFC 3986. PCHAR is allowed allong with '/'

        unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" pchar = unreserved / pct-encoded / sub-delims / ":" / "@"

      • encodePathSaveEncodings

        public static java.lang.String encodePathSaveEncodings​(java.lang.String segment)
        Keep any valid encodings from string i.e. keep "%2D" but don't keep "%p"
        Parameters:
        segment -
        Returns:
      • encodePathSegmentAsIs

        public static java.lang.String encodePathSegmentAsIs​(java.lang.String segment)
        Encode via RFC 3986. PCHAR is allowed allong with '/'

        unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" pchar = unreserved / pct-encoded / sub-delims / ":" / "@"

      • encodePathSegmentSaveEncodings

        public static java.lang.String encodePathSegmentSaveEncodings​(java.lang.String segment)
        Keep any valid encodings from string i.e. keep "%2D" but don't keep "%p"
        Parameters:
        segment -
        Returns:
      • encodeQueryParamAsIs

        public static java.lang.String encodeQueryParamAsIs​(java.lang.String nameOrValue)
        Encodes everything of a query parameter name or value.
        Parameters:
        nameOrValue -
        Returns:
      • encodeQueryParamSaveEncodings

        public static java.lang.String encodeQueryParamSaveEncodings​(java.lang.String segment)
        Keep any valid encodings from string i.e. keep "%2D" but don't keep "%p"
        Parameters:
        segment -
        Returns:
      • encodeFragmentAsIs

        public static java.lang.String encodeFragmentAsIs​(java.lang.String nameOrValue)
      • encodeFromArray

        protected static java.lang.String encodeFromArray​(java.lang.String segment,
                                                          java.lang.String[] encodingMap,
                                                          boolean encodePercent)
      • encode

        private static java.lang.String encode​(int zhar,
                                               java.lang.String[] encodingMap)
        Parameters:
        zhar - integer representation of character
        encodingMap - encoding map
        Returns:
        URL encoded character
      • pathParamReplacement

        public static java.lang.String pathParamReplacement​(java.lang.String segment,
                                                            java.util.List<java.lang.String> params)
      • decode

        public static javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> decode​(javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> map)
        decode an encoded map
        Parameters:
        map -
        Returns:
      • decode

        public static javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> decode​(javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> map,
                                                                                                      java.lang.String charset)
        decode an encoded map
        Parameters:
        map -
        charset -
        Returns:
      • encode

        public static javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> encode​(javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> map)
      • decode

        public static java.lang.String decode​(java.lang.String string)