类 ExsCodecImpl

java.lang.Object
org.opoo.ootp.client.impl.ExsCodecImpl
所有已实现的接口:
ExsCodec

public class ExsCodecImpl extends 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, 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()
    • getKeyProviderManager

      public KeyProviderManager getKeyProviderManager()
    • getMode

      public ExsCodec.CodecMode getMode()
    • getDiskCacheSizeThreshold

      public long getDiskCacheSizeThreshold()
    • setDiskCacheSizeThreshold

      public void setDiskCacheSizeThreshold(long diskCacheSizeThreshold)
    • getDecodingExsMetadataConfigurerProvider

      public ExsMetadataConfigurerProvider getDecodingExsMetadataConfigurerProvider()
    • setDecodingExsMetadataConfigurerProvider

      public void setDecodingExsMetadataConfigurerProvider(ExsMetadataConfigurerProvider decodingExsMetadataConfigurerProvider)
    • addDecodingExsMetadataConfigurer

      public ExsCodecImpl addDecodingExsMetadataConfigurer(String from, Consumer<ExsMetadata> decodingMetadataConfigurer)
    • buildEncodeContext

      protected Map<String,Object> buildEncodeContext(ExsMetadata metadata)
    • getSM3Digest

      protected MessageDigest getSM3Digest()
    • createTempFile

      protected Path createTempFile(ExsMetadata metadata) throws IOException
      抛出:
      IOException
    • encode

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

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

      protected Map<String,Object> buildDecodeContext(ExsMetadata metadata)
    • configureDecodingExsMetadata

      protected void configureDecodingExsMetadata(ExsMetadata metadata)
    • getUnencodeSize

      protected String getUnencodeSize(String transformMode, ExsMetadata metadata)
    • decode

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

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

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