类 ExsCodecImpl

  • 所有已实现的接口:
    ExsCodec

    public class ExsCodecImpl
    extends java.lang.Object
    implements ExsCodec
    • 字段详细资料

      • DEFAULT_DISK_CACHE_SIZE_THRESHOLD

        public static final long DEFAULT_DISK_CACHE_SIZE_THRESHOLD
        另请参阅:
        常量字段值
    • 构造器详细资料

      • ExsCodecImpl

        public ExsCodecImpl​(KeyProviderManager keyProviderManager,
                            ExsCodec.CodecMode mode,
                            java.lang.String... encodeSpecs)
        构建 Codec,用于加密/解密(编码/解码)。
        参数:
        keyProviderManager - 加密/解密(编码/解码)中用到的密钥信息
        mode - 编码模式
        encodeSpecs - 编码器集合的描述,主要用于加密(编码)
      • ExsCodecImpl

        public ExsCodecImpl​(KeyProviderManager keyProviderManager)
        构建 Codec 专用于解密。加密的加密器是空的集合。
        参数:
        keyProviderManager - 加密/解密(编码/解码)中用到的密钥信息
    • 方法详细资料

      • getEncoder

        public org.opoo.ootp.codec.CodecEncoder getEncoder()
      • getDecoder

        public org.opoo.ootp.codec.CodecDecoder getDecoder()
      • getDiskCacheSizeThreshold

        public long getDiskCacheSizeThreshold()
      • setDiskCacheSizeThreshold

        public void setDiskCacheSizeThreshold​(long diskCacheSizeThreshold)
      • setDecodingExsMetadataConfigurerProvider

        public void setDecodingExsMetadataConfigurerProvider​(ExsMetadataConfigurerProvider decodingExsMetadataConfigurerProvider)
      • addDecodingExsMetadataConfigurer

        public ExsCodecImpl addDecodingExsMetadataConfigurer​(java.lang.String from,
                                                             java.util.function.Consumer<ExsMetadata> decodingMetadataConfigurer)
      • buildEncodeContext

        protected java.util.Map<java.lang.String,​java.lang.Object> buildEncodeContext​(ExsMetadata metadata)
      • getSM3Digest

        protected java.security.MessageDigest getSM3Digest()
      • createTempFile

        protected java.nio.file.Path createTempFile​(ExsMetadata metadata)
                                             throws java.io.IOException
        抛出:
        java.io.IOException
      • encode

        public org.apache.http.HttpEntity encode​(org.apache.http.HttpEntity entity,
                                                 ExsMetadata metadata)
                                          throws java.io.IOException
        从接口复制的说明: ExsCodec
        对实体进行加密/编码。如果是文件上传,一定要指定 meta 的 ContentLength,大文件可以使用磁盘缓存,否则将使用内存 处理大数据,可能消耗大量的内存。
        指定者:
        encode 在接口中 ExsCodec
        参数:
        entity - 消息实体
        metadata - 原数据,头信息
        返回:
        处理后的消息,未经处理时是原对象
        抛出:
        java.io.IOException - IO异常
      • encode

        public java.io.InputStream encode​(java.io.InputStream inputStream,
                                          ExsMetadata metadata)
                                   throws java.io.IOException
        从接口复制的说明: ExsCodec
        对输入流进行加密/编码。如果是文件上传,一定要指定 meta 的 ContentLength,大文件可以使用磁盘缓存,否则将使用内存 处理大数据,可能消耗大量的内存。
        指定者:
        encode 在接口中 ExsCodec
        参数:
        inputStream - 输入流
        metadata - 原数据,头信息
        返回:
        处理后(封装)后的输入流
        抛出:
        java.io.IOException - IO异常
      • buildDecodeContext

        protected java.util.Map<java.lang.String,​java.lang.Object> buildDecodeContext​(ExsMetadata metadata)
      • configureDecodingExsMetadata

        protected void configureDecodingExsMetadata​(ExsMetadata metadata)
      • getUnencodeSize

        protected java.lang.String getUnencodeSize​(java.lang.String transformMode,
                                                   ExsMetadata metadata)
      • decode

        public org.apache.http.HttpEntity decode​(org.apache.http.HttpEntity entity,
                                                 ExsMetadata metadata)
                                          throws java.io.IOException
        从接口复制的说明: ExsCodec
        对实体解密/解码。
        指定者:
        decode 在接口中 ExsCodec
        参数:
        entity - 消息实体
        metadata - 原数据,头信息
        返回:
        处理后的消息,未经处理时是原对象
        抛出:
        java.io.IOException - IO异常
      • decode

        public java.io.InputStream decode​(java.io.InputStream inputStream,
                                          ExsMetadata metadata)
                                   throws java.io.IOException
        从接口复制的说明: ExsCodec
        对输入流程解密/解码。
        指定者:
        decode 在接口中 ExsCodec
        参数:
        inputStream - 输入流
        metadata - 元数据
        返回:
        处理后的输入流
        抛出:
        java.io.IOException - IO异常
      • decode

        public java.io.OutputStream decode​(java.io.OutputStream outputStream,
                                           ExsMetadata metadata)
                                    throws java.io.IOException
        从接口复制的说明: ExsCodec
        对输出流程解密/解码。
        指定者:
        decode 在接口中 ExsCodec
        参数:
        outputStream - 输出流
        metadata - 元数据
        返回:
        输出流
        抛出:
        java.io.IOException - IO异常