Enum Feature

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

    public enum Feature
    extends java.lang.Enum<Feature>
    An enumeration of features that may be set in the Features subpacket.
    See Also:
    RFC4880: Features
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      AEAD_ENCRYPTED_DATA
      Support for Authenticated Encryption with Additional Data (AEAD).
      MODIFICATION_DETECTION
      Support for Symmetrically Encrypted Integrity Protected Data Packets (version 1) using Modification Detection Code Packets.
      MODIFICATION_DETECTION_2
      Support for Symmetrically Encrypted Integrity Protected Data packet version 2.
      VERSION_5_PUBLIC_KEY
      If a key announces this feature, it is a version 5 public key.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static java.util.List<Feature> fromBitmask​(int bitmask)
      Convert a bitmask into a list of KeyFlags.
      static Feature fromId​(byte id)
      Return the Feature encoded by the given id.
      byte getFeatureId()
      Return the id of the feature.
      static Feature requireFromId​(byte id)
      Return the Feature encoded by the given id.
      static byte toBitmask​(Feature... features)
      Encode a list of KeyFlags into a bitmask.
      static Feature valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static Feature[] 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

      • AEAD_ENCRYPTED_DATA

        public static final Feature AEAD_ENCRYPTED_DATA
        Support for Authenticated Encryption with Additional Data (AEAD). If a key announces this feature, it signals support for consuming AEAD Encrypted Data Packets. NOTE: PGPAINLESS DOES NOT YET SUPPORT THIS FEATURE!!! NOTE: This value is currently RESERVED.
        See Also:
        AEAD Encrypted Data Packet
      • VERSION_5_PUBLIC_KEY

        public static final Feature VERSION_5_PUBLIC_KEY
        If a key announces this feature, it is a version 5 public key. The version 5 format is similar to the version 4 format except for the addition of a count for the key material. This count helps to parse secret key packets (which are an extension of the public key packet format) in the case of an unknown algorithm. In addition, fingerprints of version 5 keys are calculated differently from version 4 keys. NOTE: PGPAINLESS DOES NOT YET SUPPORT THIS FEATURE!!! NOTE: This value is currently RESERVED.
        See Also:
        Public-Key Packet Formats
    • Method Detail

      • values

        public static Feature[] 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 (Feature c : Feature.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static Feature 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
      • fromId

        @Nullable
        public static Feature fromId​(byte id)
        Return the Feature encoded by the given id. If the id does not match any known features, return null.
        Parameters:
        id - feature id
        Returns:
        feature
      • requireFromId

        @Nonnull
        public static Feature requireFromId​(byte id)
        Return the Feature encoded by the given id. If the id does not match any known features, throw an NoSuchElementException.
        Parameters:
        id - feature id
        Returns:
        feature
        Throws:
        java.util.NoSuchElementException - if an unmatched feature id is encountered
      • getFeatureId

        public byte getFeatureId()
        Return the id of the feature.
        Returns:
        feature id
      • fromBitmask

        @Nonnull
        public static java.util.List<Feature> fromBitmask​(int bitmask)
        Convert a bitmask into a list of KeyFlags.
        Parameters:
        bitmask - bitmask
        Returns:
        list of key flags encoded by the bitmask
      • toBitmask

        public static byte toBitmask​(Feature... features)
        Encode a list of KeyFlags into a bitmask.
        Parameters:
        features - list of flags
        Returns:
        bitmask