Enum Method

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<Method>

    public enum Method
    extends java.lang.Enum<Method>
    Common HTTP methods defined by the HTTP specification.

    Each method is:

    • Either safe or unsafe: An HTTP method is safe if it doesn't change the state of the server. In other words, a method is safe if it's read-only.
    • Either idempotent or non-idempotent: An HTTP method is idempotent if making a single request has the same effect as making several identical requests. All safe methods are also idempotent, but not all idempotent methods are safe. For example, PUT and DELETE are both idempotent but unsafe.
    Since:
    5.0
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      CONNECT
      The HTTP CONNECT method is unsafe and non-idempotent.
      DELETE
      The HTTP DELETE method is unsafe and idempotent.
      GET
      The HTTP GET method is safe and idempotent.
      HEAD
      The HTTP HEAD method is safe and idempotent.
      OPTIONS
      The HTTP OPTIONS method is safe and idempotent.
      PATCH
      The HTTP PATCH method is unsafe and non-idempotent.
      POST
      The HTTP POST method is unsafe and non-idempotent.
      PUT
      The HTTP PUT method is unsafe and idempotent.
      QUERY
      The HTTP QUERY method is safe and idempotent.
      TRACE
      The HTTP TRACE method is safe and idempotent.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private boolean idempotent  
      private boolean safe  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Method​(boolean safe, boolean idempotent)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean isIdempotent()
      Tests whether this method is idempotent.
      static boolean isIdempotent​(java.lang.String value)  
      boolean isSafe()
      Tests whether this method is safe.
      static boolean isSafe​(java.lang.String value)  
      boolean isSame​(java.lang.String value)  
      static Method normalizedValueOf​(java.lang.String method)
      Returns the Method for a normalized value of a method name.
      static Method valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static Method[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • GET

        public static final Method GET
        The HTTP GET method is safe and idempotent.
      • HEAD

        public static final Method HEAD
        The HTTP HEAD method is safe and idempotent.
      • POST

        public static final Method POST
        The HTTP POST method is unsafe and non-idempotent.
      • PUT

        public static final Method PUT
        The HTTP PUT method is unsafe and idempotent.
      • DELETE

        public static final Method DELETE
        The HTTP DELETE method is unsafe and idempotent.
      • CONNECT

        public static final Method CONNECT
        The HTTP CONNECT method is unsafe and non-idempotent.
      • TRACE

        public static final Method TRACE
        The HTTP TRACE method is safe and idempotent.
      • OPTIONS

        public static final Method OPTIONS
        The HTTP OPTIONS method is safe and idempotent.
      • PATCH

        public static final Method PATCH
        The HTTP PATCH method is unsafe and non-idempotent.
      • QUERY

        @Experimental
        public static final Method QUERY
        The HTTP QUERY method is safe and idempotent.

        QUERY is a method defined to represent a safe, idempotent request that carries a body. This allows clients to send a body while enjoying the GET-like properties (such as easy caching, safe CORS handling [if supported] and bookmarking), as well as the POST-like properties (such as being able to send a query in a richer format, and not being limited by URI length and escaping restrictions).

        Since:
        5.4
    • Field Detail

      • safe

        private final boolean safe
      • idempotent

        private final boolean idempotent
    • Constructor Detail

      • Method

        private Method​(boolean safe,
                       boolean idempotent)
    • Method Detail

      • values

        public static Method[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (Method c : Method.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static Method valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • isSafe

        public boolean isSafe()
        Tests whether this method is safe.
        Returns:
        whether this method is safe.
      • isIdempotent

        public boolean isIdempotent()
        Tests whether this method is idempotent.
        Returns:
        whether this method is idempotent.
      • isSafe

        public static boolean isSafe​(java.lang.String value)
      • isIdempotent

        public static boolean isIdempotent​(java.lang.String value)
      • normalizedValueOf

        public static Method normalizedValueOf​(java.lang.String method)
        Returns the Method for a normalized value of a method name.
        Parameters:
        method - A method name like "delete", "DELETE", or any mixed-case variant.
        Returns:
        the Method for the given method name.
      • isSame

        public boolean isSame​(java.lang.String value)