# Hierarchy For All Packages

Package Hierarchies:

- sop,
- sop.enums,
- sop.exception,
- sop.operation,
- sop.util

## Class Hierarchy

- java.lang.Object
  - sop.ByteArrayAndResult<T>
  - sop.DecryptionResult
  - sop.util.HexUtil
  - sop.MicAlg
  - sop.util.Optional<T>
  - java.io.OutputStream (implements java.io.Closeable, java.io.Flushable)
    - sop.util.ProxyOutputStream
  - sop.Profile
  - sop.Ready
    - sop.Signatures
  - sop.ReadyWithResult<T>
  - sop.SessionKey
  - sop.SigningResult
  - sop.SigningResult.Builder
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - sop.exception.SOPGPException
          - sop.exception.SOPGPException.AmbiguousInput
          - sop.exception.SOPGPException.BadData
          - sop.exception.SOPGPException.CannotDecrypt
          - sop.exception.SOPGPException.CertCannotEncrypt
          - sop.exception.SOPGPException.ExpectedText
          - sop.exception.SOPGPException.IncompatibleOptions
          - sop.exception.SOPGPException.IncompleteVerification
          - sop.exception.SOPGPException.KeyCannotSign
          - sop.exception.SOPGPException.KeyIsProtected
          - sop.exception.SOPGPException.MissingArg
          - sop.exception.SOPGPException.MissingInput
          - sop.exception.SOPGPException.NoSignature
          - sop.exception.SOPGPException.OutputExists
          - sop.exception.SOPGPException.PasswordNotHumanReadable
          - sop.exception.SOPGPException.UnsupportedAsymmetricAlgo
          - sop.exception.SOPGPException.UnsupportedOption
          - sop.exception.SOPGPException.UnsupportedProfile
          - sop.exception.SOPGPException.UnsupportedSpecialPrefix
          - sop.exception.SOPGPException.UnsupportedSubcommand
  - sop.util.UTCUtil
  - sop.util.UTF8Util
  - sop.Verification

## Interface Hierarchy

- sop.operation.AbstractSign<T>
  - sop.operation.DetachedSign
  - sop.operation.InlineSign
- sop.operation.AbstractVerify<T>
  - sop.operation.DetachedVerify (also extends sop.operation.VerifySignatures)
  - sop.operation.InlineVerify
- sop.operation.Armor
- sop.operation.ChangeKeyPassword
- sop.operation.Dearmor
- sop.operation.Decrypt
- sop.operation.Encrypt
- sop.operation.ExtractCert
- sop.operation.GenerateKey
- sop.operation.InlineDetach
- sop.operation.ListProfiles
- sop.operation.RevokeKey
- sop.SOP
- sop.operation.VerifySignatures
  - sop.operation.DetachedVerify (also extends sop.operation.AbstractVerify<T>)
- sop.operation.Version

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - sop.enums.ArmorLabel
    - sop.enums.EncryptAs
    - sop.enums.InlineSignAs
    - sop.enums.SignAs
    - sop.enums.SignatureMode