# 所有程序包的分层结构

程序包分层结构:

- javax.persistence,
- org.redkale.boot,
- org.redkale.convert,
- org.redkale.convert.bson,
- org.redkale.convert.ext,
- org.redkale.convert.json,
- org.redkale.net,
- org.redkale.net.http,
- org.redkale.net.sncp,
- org.redkale.service,
- org.redkale.source,
- org.redkale.util,
- org.redkale.watch

## 类分层结构

- java.lang.Object
  - org.redkale.convert.AnyEncoder<T> (implements org.redkale.convert.Encodeable<W,T>)
  - org.redkale.util.AnyValue
    - org.redkale.util.AnyValue.DefaultAnyValue
  - org.redkale.util.AnyValue.Entry<T>
  - org.redkale.boot.Application
  - org.redkale.convert.ArrayDecoder<T> (implements org.redkale.convert.Decodeable<R,T>)
  - org.redkale.convert.ArrayEncoder<T> (implements org.redkale.convert.Encodeable<W,T>)
  - org.redkale.util.AsmMethodVisitor
  - org.redkale.net.AsyncConnection (implements java.nio.channels.AsynchronousByteChannel, java.lang.AutoCloseable)
  - org.redkale.util.ByteArray
  - org.redkale.service.CacheSourceService<K,V> (implements java.lang.AutoCloseable, org.redkale.source.CacheSource<K,V>, org.redkale.service.Service)
  - org.redkale.service.CacheSourceService.CacheEntry<K,T>
  - org.redkale.boot.ClassFilter<T>
  - org.redkale.boot.ClassFilter.FilterEntry<T>
  - org.redkale.boot.ClassFilter.Loader
  - org.redkale.convert.CollectionDecoder<T> (implements org.redkale.convert.Decodeable<R,T>)
  - org.redkale.convert.CollectionEncoder<T> (implements org.redkale.convert.Encodeable<W,T>)
  - org.redkale.net.Context
    - org.redkale.net.http.HttpContext
    - org.redkale.net.sncp.SncpContext
  - org.redkale.convert.Convert<R,W>
    - org.redkale.convert.bson.BsonConvert
    - org.redkale.convert.json.JsonConvert
  - org.redkale.convert.ConvertColumnEntry
  - org.redkale.service.DataCacheListenerService (implements org.redkale.source.DataCacheListener, org.redkale.service.Service)
  - org.redkale.source.DataCallArrayAttribute<T,F> (implements org.redkale.util.Attribute<T,F>)
  - org.redkale.source.DataCallAttribute (implements org.redkale.util.Attribute<T,F>)
  - org.redkale.source.DataDefaultSource (implements java.lang.AutoCloseable, org.redkale.source.DataSource, java.util.function.Function<T,R>)
  - org.redkale.service.DataSourceService (implements java.lang.AutoCloseable, org.redkale.source.DataSource, org.redkale.service.Service)
  - org.redkale.service.DataSQLListenerService (implements org.redkale.source.DataSQLListener, org.redkale.service.Service)
  - org.redkale.convert.DeMember<R,T,F> (implements java.lang.Comparable<T>)
  - org.redkale.convert.EnMember<W,T,F> (implements java.lang.Comparable<T>)
  - org.redkale.source.EntityCache<T>
  - org.redkale.source.EntityInfo<T>
  - org.redkale.convert.Factory<R,W>
    - org.redkale.convert.bson.BsonFactory
    - org.redkale.convert.json.JsonFactory
  - org.redkale.source.FilterNode
    - org.redkale.source.FilterJoinNode
  - org.redkale.source.FilterNodeBean<T> (implements java.lang.Comparable<T>)
  - org.redkale.source.Flipper (implements java.io.Serializable)
  - java.util.logging.Formatter
    - org.redkale.boot.LogFileHandler.LoggingFormater
  - java.util.logging.Handler
    - org.redkale.boot.LogFileHandler
      - org.redkale.boot.LogFileHandler.SncpLogFileHandler
  - org.redkale.net.http.HttpResponse.TransferFileHandler (implements java.nio.channels.CompletionHandler<V,A>)
  - org.redkale.source.JDBCPoolSource
  - org.redkale.convert.MapDecoder<K,V> (implements org.redkale.convert.Decodeable<R,T>)
  - org.redkale.convert.MapEncoder<K,V> (implements org.redkale.convert.Encodeable<W,T>)
  - org.redkale.net.http.MimeType
  - org.redkale.net.http.MultiContext
  - org.redkale.net.http.MultiPart
  - org.redkale.boot.NodeServer
    - org.redkale.boot.NodeHttpServer
    - org.redkale.boot.NodeSncpServer
  - java.lang.Number (implements java.io.Serializable)
    - java.util.concurrent.atomic.AtomicLong (implements java.io.Serializable)
      - org.redkale.watch.WatchNumber (implements org.redkale.watch.WatchNode)
    - org.redkale.util.DLong (implements java.lang.Comparable<T>)
  - org.redkale.convert.ObjectDecoder<R,T> (implements org.redkale.convert.Decodeable<R,T>)
  - org.redkale.convert.ObjectEncoder<W,T> (implements org.redkale.convert.Encodeable<W,T>)
  - org.redkale.util.ObjectPool<T> (implements java.util.function.Supplier<T>)
  - org.redkale.net.PrepareRunner (implements java.lang.Runnable)
  - org.redkale.net.ProtocolServer
  - org.redkale.source.Range.ByteRange (implements org.redkale.source.Range<E>)
  - org.redkale.source.Range.DoubleRange (implements org.redkale.source.Range<E>)
  - org.redkale.source.Range.FloatRange (implements org.redkale.source.Range<E>)
  - org.redkale.source.Range.IntegerRange (implements org.redkale.source.Range<E>)
  - org.redkale.source.Range.LongRange (implements org.redkale.source.Range<E>)
  - org.redkale.source.Range.ShortRange (implements org.redkale.source.Range<E>)
  - org.redkale.source.Range.StringRange (implements org.redkale.source.Range<E>)
  - org.redkale.convert.Reader
    - org.redkale.convert.bson.BsonReader
      - org.redkale.convert.bson.BsonByteBufferReader
    - org.redkale.convert.json.JsonReader
      - org.redkale.convert.json.JsonByteBufferReader
  - org.redkale.net.Request<C>
    - org.redkale.net.http.HttpRequest
    - org.redkale.net.sncp.SncpRequest
  - org.redkale.util.ResourceFactory
  - org.redkale.net.Response<C,R>
    - org.redkale.net.http.HttpResponse
    - org.redkale.net.sncp.SncpResponse
  - org.redkale.service.RetResult<T>
    - org.redkale.service.RetResult.RetSuccessResult<T>
  - org.redkale.util.SelectColumn (implements java.util.function.Predicate<T>)
  - org.redkale.net.Server
    - org.redkale.net.http.HttpServer
    - org.redkale.net.sncp.SncpServer
  - org.redkale.net.sncp.ServiceWrapper<T> (implements java.lang.Comparable<T>)
  - org.redkale.net.Servlet<C,R,P>
    - org.redkale.net.http.HttpServlet
      - org.redkale.net.http.BasedHttpServlet
      - org.redkale.net.http.HttpResourceServlet
      - org.redkale.net.http.WebSocketServlet
    - org.redkale.net.PrepareServlet<C,R,P>
      - org.redkale.net.http.HttpPrepareServlet
      - org.redkale.net.sncp.SncpPrepareServlet
    - org.redkale.net.sncp.SncpServlet (implements java.lang.Comparable<T>)
      - org.redkale.net.sncp.SncpDynServlet
  - org.redkale.util.Sheet<T> (implements java.io.Serializable)
  - org.redkale.convert.SimpledCoder<R,W,T> (implements org.redkale.convert.Decodeable<R,T>, org.redkale.convert.Encodeable<W,T>)
    - org.redkale.convert.ext.BigIntegerSimpledCoder<R,W>
    - org.redkale.convert.ext.BigIntegerSimpledCoder.BigIntegerJsonSimpledCoder<R,W>
    - org.redkale.convert.ext.BoolArraySimpledCoder<R,W>
    - org.redkale.convert.ext.BoolSimpledCoder<R,W>
    - org.redkale.convert.bson.BsonSimpledCoder<T>
    - org.redkale.convert.ext.ByteArraySimpledCoder<R,W>
    - org.redkale.convert.ext.ByteSimpledCoder<R,W>
    - org.redkale.convert.ext.CharArraySimpledCoder<R,W>
    - org.redkale.convert.ext.CharSequenceSimpledCoder<R,W>
    - org.redkale.convert.ext.CharSimpledCoder<R,W>
    - org.redkale.convert.ext.CompletionHandlerSimpledCoder<R,W>
    - org.redkale.convert.ext.DateSimpledCoder<R,W>
    - org.redkale.convert.ext.DLongSimpledCoder<R,W>
    - org.redkale.convert.ext.DLongSimpledCoder.DLongJsonSimpledCoder<R,W>
    - org.redkale.convert.ext.DoubleArraySimpledCoder<R,W>
    - org.redkale.convert.ext.DoubleSimpledCoder<R,W>
    - org.redkale.convert.ext.EnumSimpledCoder<R,W,E>
    - org.redkale.convert.ext.FloatArraySimpledCoder<R,W>
    - org.redkale.convert.ext.FloatSimpledCoder<R,W>
    - org.redkale.convert.ext.InetAddressSimpledCoder<R,W>
    - org.redkale.convert.ext.InetAddressSimpledCoder.InetAddressJsonSimpledCoder<R,W>
    - org.redkale.convert.ext.InetAddressSimpledCoder.InetSocketAddressJsonSimpledCoder<R,W>
    - org.redkale.convert.ext.InetAddressSimpledCoder.InetSocketAddressSimpledCoder<R,W>
    - org.redkale.convert.ext.IntArraySimpledCoder<R,W>
    - org.redkale.convert.ext.IntSimpledCoder<R,W>
    - org.redkale.convert.json.JsonSimpledCoder<T>
    - org.redkale.convert.ext.LongArraySimpledCoder<R,W>
    - org.redkale.convert.ext.LongSimpledCoder<R,W>
    - org.redkale.convert.ext.NumberSimpledCoder<R,W>
    - org.redkale.convert.ext.PatternSimpledCoder<R,W>
    - org.redkale.convert.ext.ShortArraySimpledCoder<R,W>
    - org.redkale.convert.ext.ShortSimpledCoder<R,W>
    - org.redkale.convert.ext.StringArraySimpledCoder<R,W>
    - org.redkale.convert.ext.StringSimpledCoder<R,W>
    - org.redkale.convert.ext.TypeSimpledCoder<R,W>
  - org.redkale.net.sncp.Sncp
  - org.redkale.net.sncp.SncpClient
  - org.redkale.net.sncp.SncpClient.SncpAction
  - org.redkale.net.sncp.SncpClient.SncpFuture<T> (implements java.util.concurrent.Future<V>)
  - org.redkale.net.sncp.SncpDynServlet.SncpServletAction
  - java.lang.Thread (implements java.lang.Runnable)
    - org.redkale.net.http.HttpResourceServlet.WatchThread
    - org.redkale.net.WorkThread
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - org.redkale.convert.ConvertException
  - org.redkale.net.Transport
  - org.redkale.util.TypeToken<T>
  - org.redkale.util.Utility
  - org.redkale.watch.WatchFactory
  - org.redkale.watch.WatchSupplier (implements org.redkale.watch.WatchNode)
  - org.redkale.net.http.WebSocket
  - org.redkale.net.http.WebSocketEngine
  - org.redkale.net.http.WebSocketGroup
  - org.redkale.net.http.WebSocketNode
    - org.redkale.service.WebSocketNodeService (implements org.redkale.service.Service)
  - org.redkale.net.http.WebSocketPacket
  - org.redkale.net.http.WebSocketRunner (implements java.lang.Runnable)
  - org.redkale.convert.Writer
    - org.redkale.convert.bson.BsonWriter
      - org.redkale.convert.bson.BsonByteBufferWriter
    - org.redkale.convert.json.JsonWriter
      - org.redkale.convert.json.JsonByteBufferWriter

## 接口分层结构

- org.redkale.util.Attribute<T,F>
- org.redkale.source.CacheSource<K,V>
- org.redkale.util.Creator<T>
- org.redkale.source.DataCacheListener
- org.redkale.source.DataSource
- org.redkale.source.DataSQLListener
- org.redkale.convert.Decodeable<R,T>
- org.redkale.convert.Encodeable<W,T>
- org.redkale.source.FilterBean
- org.redkale.net.http.HttpResponse.BufferHandler
- java.util.function.Predicate<T>
  - org.redkale.source.Range<E> (并 extends java.io.Serializable)
- org.redkale.util.Reproduce<D,S>
- org.redkale.util.ResourceFactory.ResourceLoader
- java.io.Serializable
  - org.redkale.source.Range<E> (并 extends java.util.function.Predicate<T>)
- org.redkale.service.Service
- org.redkale.watch.WatchNode

## 注释类型分层结构

- javax.persistence.Cacheable (implements java.lang.annotation.Annotation)
- javax.persistence.Column (implements java.lang.annotation.Annotation)
- javax.persistence.Entity (implements java.lang.annotation.Annotation)
- javax.persistence.GeneratedValue (implements java.lang.annotation.Annotation)
- javax.persistence.Id (implements java.lang.annotation.Annotation)
- javax.persistence.Table (implements java.lang.annotation.Annotation)
- javax.persistence.Transient (implements java.lang.annotation.Annotation)
- org.redkale.boot.NodeProtocol (implements java.lang.annotation.Annotation)
- org.redkale.convert.ConvertColumn (implements java.lang.annotation.Annotation)
- org.redkale.convert.ConvertColumns (implements java.lang.annotation.Annotation)
- org.redkale.convert.ConvertEntity (implements java.lang.annotation.Annotation)
- org.redkale.net.http.BasedHttpServlet.AuthIgnore (implements java.lang.annotation.Annotation)
- org.redkale.net.http.BasedHttpServlet.WebAction (implements java.lang.annotation.Annotation)
- org.redkale.net.http.BasedHttpServlet.HttpCacheable (implements java.lang.annotation.Annotation)
- org.redkale.net.http.WebInitParam (implements java.lang.annotation.Annotation)
- org.redkale.net.http.WebServlet (implements java.lang.annotation.Annotation)
- org.redkale.net.http.WebSocketBinary (implements java.lang.annotation.Annotation)
- org.redkale.net.sncp.SncpDyn (implements java.lang.annotation.Annotation)
- org.redkale.service.DynAttachment (implements java.lang.annotation.Annotation)
- org.redkale.service.DynCall (implements java.lang.annotation.Annotation)
- org.redkale.service.DynRemote (implements java.lang.annotation.Annotation)
- org.redkale.service.DynSourceAddress (implements java.lang.annotation.Annotation)
- org.redkale.service.DynTargetAddress (implements java.lang.annotation.Annotation)
- org.redkale.service.LocalService (implements java.lang.annotation.Annotation)
- org.redkale.service.MultiRun (implements java.lang.annotation.Annotation)
- org.redkale.source.DistributeGenerator (implements java.lang.annotation.Annotation)
- org.redkale.source.DistributeTables (implements java.lang.annotation.Annotation)
- org.redkale.source.FilterColumn (implements java.lang.annotation.Annotation)
- org.redkale.source.FilterGroup (implements java.lang.annotation.Annotation)
- org.redkale.source.FilterJoinColumn (implements java.lang.annotation.Annotation)
- org.redkale.source.VirtualEntity (implements java.lang.annotation.Annotation)
- org.redkale.util.AutoLoad (implements java.lang.annotation.Annotation)
- org.redkale.util.Creator.ConstructorParameters (implements java.lang.annotation.Annotation)
- org.redkale.util.LogLevel (implements java.lang.annotation.Annotation)
- org.redkale.util.ResourceType (implements java.lang.annotation.Annotation)
- org.redkale.watch.Watchable (implements java.lang.annotation.Annotation)

## 枚举分层结构

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - javax.persistence.GenerationType
    - org.redkale.convert.ConvertType
    - org.redkale.net.http.WebSocketPacket.FrameType
    - org.redkale.service.CacheSourceService.CacheEntryType
    - org.redkale.source.FilterExpress
    - org.redkale.source.FilterFunc