# 所有程序包的分层结构

程序包分层结构:

- me.chanjar.weixin.common.annotation,
- me.chanjar.weixin.common.api,
- me.chanjar.weixin.common.bean,
- me.chanjar.weixin.common.bean.menu,
- me.chanjar.weixin.common.bean.result,
- me.chanjar.weixin.common.exception,
- me.chanjar.weixin.common.session,
- me.chanjar.weixin.common.util,
- me.chanjar.weixin.common.util.crypto,
- me.chanjar.weixin.common.util.fs,
- me.chanjar.weixin.common.util.http,
- me.chanjar.weixin.common.util.json,
- me.chanjar.weixin.common.util.res,
- me.chanjar.weixin.common.util.xml

## 类分层结构

- java.lang.Object
  - com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter (implements com.thoughtworks.xstream.converters.SingleValueConverter)
    - com.thoughtworks.xstream.converters.basic.StringConverter
      - me.chanjar.weixin.common.util.xml.XStreamCDataConverter
        - me.chanjar.weixin.common.util.xml.XStreamMediaIdConverter
  - me.chanjar.weixin.common.util.BeanUtils
  - me.chanjar.weixin.common.util.crypto.ByteGroup
  - me.chanjar.weixin.common.session.Constants
  - me.chanjar.weixin.common.util.http.DefaultApacheHttpClientBuilder (implements me.chanjar.weixin.common.util.http.ApacheHttpClientBuilder)
  - me.chanjar.weixin.common.util.fs.FileUtils
  - me.chanjar.weixin.common.util.json.GsonHelper
  - me.chanjar.weixin.common.util.http.InputStreamResponseHandler (implements org.apache.http.client.ResponseHandler<T>)
  - me.chanjar.weixin.common.util.LogExceptionHandler (implements me.chanjar.weixin.common.api.WxErrorExceptionHandler)
  - me.chanjar.weixin.common.util.http.MediaDownloadRequestExecutor (implements me.chanjar.weixin.common.util.http.RequestExecutor<T,E>)
  - me.chanjar.weixin.common.util.http.MediaUploadRequestExecutor (implements me.chanjar.weixin.common.util.http.RequestExecutor<T,E>)
  - me.chanjar.weixin.common.util.crypto.PKCS7Encoder
  - me.chanjar.weixin.common.util.RandomUtils
  - me.chanjar.weixin.common.util.crypto.SHA1
  - me.chanjar.weixin.common.util.http.SimpleGetRequestExecutor (implements me.chanjar.weixin.common.util.http.RequestExecutor<T,E>)
  - me.chanjar.weixin.common.util.http.SimplePostRequestExecutor (implements me.chanjar.weixin.common.util.http.RequestExecutor<T,E>)
  - me.chanjar.weixin.common.session.StandardSession (implements me.chanjar.weixin.common.session.InternalSession, me.chanjar.weixin.common.session.WxSession)
  - me.chanjar.weixin.common.session.StandardSessionFacade (implements me.chanjar.weixin.common.session.WxSession)
  - me.chanjar.weixin.common.session.StandardSessionManager (implements me.chanjar.weixin.common.session.InternalSessionManager, me.chanjar.weixin.common.session.WxSessionManager)
  - me.chanjar.weixin.common.util.res.StringManager
  - java.lang.Thread (implements java.lang.Runnable)
    - me.chanjar.weixin.common.util.http.DefaultApacheHttpClientBuilder.IdleConnectionMonitorThread
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - java.lang.IllegalStateException
          - me.chanjar.weixin.common.session.TooManyActiveSessionsException
      - me.chanjar.weixin.common.exception.WxErrorException
  - me.chanjar.weixin.common.util.ToStringUtils
  - me.chanjar.weixin.common.util.http.URIUtil
  - me.chanjar.weixin.common.util.http.Utf8ResponseHandler (implements org.apache.http.client.ResponseHandler<T>)
  - me.chanjar.weixin.common.bean.WxAccessToken (implements java.io.Serializable)
  - me.chanjar.weixin.common.util.json.WxAccessTokenAdapter (implements com.google.gson.JsonDeserializer<T>)
  - me.chanjar.weixin.common.bean.WxCardApiSignature (implements java.io.Serializable)
  - me.chanjar.weixin.common.api.WxConsts
  - me.chanjar.weixin.common.util.crypto.WxCryptUtil
  - me.chanjar.weixin.common.bean.result.WxError (implements java.io.Serializable)
  - me.chanjar.weixin.common.bean.result.WxError.Builder
  - me.chanjar.weixin.common.util.json.WxErrorAdapter (implements com.google.gson.JsonDeserializer<T>)
  - me.chanjar.weixin.common.util.json.WxGsonBuilder
  - me.chanjar.weixin.common.bean.WxJsapiSignature (implements java.io.Serializable)
  - me.chanjar.weixin.common.bean.result.WxMediaUploadResult (implements java.io.Serializable)
  - me.chanjar.weixin.common.util.json.WxMediaUploadResultAdapter (implements com.google.gson.JsonDeserializer<T>)
  - me.chanjar.weixin.common.bean.menu.WxMenu (implements java.io.Serializable)
  - me.chanjar.weixin.common.bean.menu.WxMenuButton
  - me.chanjar.weixin.common.util.json.WxMenuGsonAdapter (implements com.google.gson.JsonDeserializer<T>, com.google.gson.JsonSerializer<T>)
  - me.chanjar.weixin.common.bean.menu.WxMenuRule
  - me.chanjar.weixin.common.api.WxMessageInMemoryDuplicateChecker (implements me.chanjar.weixin.common.api.WxMessageDuplicateChecker)
  - me.chanjar.weixin.common.util.xml.XStreamInitializer

## 接口分层结构

- me.chanjar.weixin.common.util.http.ApacheHttpClientBuilder
- me.chanjar.weixin.common.session.InternalSession
- me.chanjar.weixin.common.session.InternalSessionManager
- me.chanjar.weixin.common.util.http.RequestExecutor<T,E>
- me.chanjar.weixin.common.api.WxErrorExceptionHandler
- me.chanjar.weixin.common.api.WxMessageDuplicateChecker
- me.chanjar.weixin.common.session.WxSession
- me.chanjar.weixin.common.session.WxSessionManager

## 注释类型分层结构

- me.chanjar.weixin.common.annotation.Required (implements java.lang.annotation.Annotation)