类 BaseURLStore

java.lang.Object
gu.sql2java.store.BaseURLStore
所有已实现的接口:
URLStore, URLStreamHandlerFactory
直接已知子类:
BasesLocalBinaryStore

public abstract class BaseURLStore extends Object implements URLStreamHandlerFactory, URLStore
基于URLStreamHandler实现二进制存储接口URLStore的抽象类
实现URLStreamHandlerFactory接口,应用启动时应调用intall()将当前实例安装到JVM
作者:
guyadong
  • 字段详细资料

  • 构造器详细资料

    • BaseURLStore

      protected BaseURLStore()
    • BaseURLStore

      protected BaseURLStore(Map<String,Class<?>> optionalParamTypes)
  • 方法详细资料

    • doStore

      protected abstract URL doStore(byte[] binary, String md5, String extension, boolean overwrite, boolean makeURLOnly) throws IOException
      存储图像数据
      参数:
      binary - 二进制数据字节数组
      md5 - imageBytes的MD5校验码
      extension - 文件后缀,可为null
      overwrite - 文件存在时是否重写
      makeURLOnly - 为true时不存储数据只返回存储URL
      返回:
      存储URL
      抛出:
      IOException
    • doExists

      protected abstract boolean doExists(URL storedURL)
      判断存储 URl 是否存在
      参数:
      storedURL - 存储URL
    • doFind

      protected abstract URL doFind(String md5)
      查找指定MD5的二进制数据
      参数:
      md5 - MD5校验码
      返回:
      数据存储URL,找不到返回null
    • doDelete

      protected abstract boolean doDelete(URL storedURL) throws IOException
      指定指定的二进制数据
      参数:
      storedURL - 存储的URL
      返回:
      删除成功返回true,否则返回false
      抛出:
      IOException
    • doGetURLStreamHandler

      protected abstract URLStreamHandler doGetURLStreamHandler()
    • find

      protected final URL find(URLInfo binary)
    • isStored

      public final boolean isStored(URL url)
      从接口复制的说明: URLStore
      判断指定的URL是否当前实例的协议一致
      指定者:
      isStored 在接口中 URLStore
      参数:
      url - 为null返回false
      返回:
      协议一致返回true,否则返回false
    • exists

      public final boolean exists(URL url)
      从接口复制的说明: URLStore
      判断URL指定的数据是否存在
      指定者:
      exists 在接口中 URLStore
      参数:
      url - 为null返回false
      返回:
      数据存在返回true,否则返回false
    • store

      public final <T> URL store(T input, String md5, String extension, boolean overwrite, boolean makeURLOnly) throws IOException
      从接口复制的说明: URLStore
      保存二进制数据
      指定者:
      store 在接口中 URLStore
      类型参数:
      T - 数据类型可以是byte[],InputStream,ByteBuffer,String(base64编码), File,URL,URI 否则抛出IllegalArgumentException
      参数:
      input - 二进制数据
      md5 - 二进制数据的MD5校验码,为null时会自动计算
      extension - 数据类型(文件后缀),可为null
      overwrite - 是否覆盖已存在数据
      makeURLOnly - 为true时不存储数据只返回存储URL
      返回:
      保存的URL
      抛出:
      IOException
    • delete

      public final boolean delete(String md5) throws IOException
      从接口复制的说明: URLStore
      删除md5指定的存储数据
      指定者:
      delete 在接口中 URLStore
      返回:
      true if deleted, otherwise false
      抛出:
      IOException
    • store

      public final URL store(URL url, boolean overwrite, boolean makeURLOnly) throws IOException
      从接口复制的说明: URLStore
      保存二进制数据
      如果数据已经被保存则不做任何事
      指定者:
      store 在接口中 URLStore
      参数:
      overwrite - 是否覆盖已存在数据
      makeURLOnly - 为true时不存储数据只返回存储URL
      返回:
      保存的URL
      抛出:
      IOException
    • delete

      public final boolean delete(URL url) throws IOException
      从接口复制的说明: URLStore
      删除指定的存储数据
      指定者:
      delete 在接口中 URLStore
      参数:
      url - 存储的URL
      返回:
      true if deleted, otherwise false
      抛出:
      IOException
    • setAdditionalParam

      public final BaseURLStore setAdditionalParam(String name, Object value)
      从接口复制的说明: URLStore
      设置当前线程有效的附加参数
      指定者:
      setAdditionalParam 在接口中 URLStore
      参数:
      name - 参数名
      value - 参数值
      返回:
      当前对象
    • createURLStreamHandler

      public final URLStreamHandler createURLStreamHandler(String protocol)
      指定者:
      createURLStreamHandler 在接口中 URLStreamHandlerFactory
    • intall

      public final BaseURLStore intall() throws Exception
      从接口复制的说明: URLStore
      将当前URLStreamHandlerFactory实例安装到JVM
      指定者:
      intall 在接口中 URLStore
      返回:
      当前对象
      抛出:
      Exception
    • hashCode

      public int hashCode()
      覆盖:
      hashCode 在类中 Object
    • equals

      public boolean equals(Object obj)
      覆盖:
      equals 在类中 Object
    • toString

      public String toString()
      覆盖:
      toString 在类中 Object