## 类的使用
org.redkale.util.AnyValue

- 使用AnyValue的程序包
  程序包 | 说明
  --- | ---
  org.redkale.boot | 提供RedKale服务器的启动、初始化和加载功能
  org.redkale.net | 网络TCP/UDP基础服务包
  org.redkale.net.http | HTTP协议包,提供HTTP协议服务器
  org.redkale.net.sncp | SNCP协议包,提供SNCP协议服务器
  org.redkale.service | Service接口和模式配置包
  org.redkale.util | RedKale工具包

- - ### org.redkale.boot中AnyValue的使用

    声明为AnyValue的org.redkale.boot中的字段
    限定符和类型 | 字段和说明
    --- | ---
    `protected AnyValue` | NodeServer.`serverConf`

    返回AnyValue的org.redkale.boot中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `AnyValue` | ClassFilter.FilterEntry.`getProperty()`

    参数类型为AnyValue的org.redkale.boot中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `boolean` | ClassFilter.`accept(AnyValue property, java.lang.Class clazz, boolean autoscan)` 判断class是否有效
    `boolean` | ClassFilter.`accept(AnyValue property, java.lang.String classname)` 判断class是否有效
    `static <T extends NodeServer> NodeServer` | NodeServer.`create(java.lang.Class<T> clazz, Application application, AnyValue serconf)`
    `void` | ClassFilter.`filter(AnyValue property, java.lang.String clazzname)` 自动扫描地过滤指定的class
    `void` | ClassFilter.`filter(AnyValue property, java.lang.String clazzname, boolean autoscan)` 过滤指定的class
    `void` | NodeServer.`init(AnyValue config)`
    `void` | NodeSncpServer.`init(AnyValue config)`
    `protected void` | NodeHttpServer.`loadHttpServlet(AnyValue conf, ClassFilter<? extends Servlet> filter)`

    参数类型为AnyValue的org.redkale.boot中的构造器
    构造器和说明
    `ClassFilter(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass, java.lang.Class superClass, AnyValue conf)`
    `FilterEntry(java.lang.Class<T> type, AnyValue property)`
    `FilterEntry(java.lang.Class<T> type, boolean autoload, AnyValue property)`
    `NodeHttpServer(Application application, AnyValue serconf)`
    `NodeSncpServer(Application application, AnyValue serconf)`

  - ### org.redkale.net中AnyValue的使用

    声明为AnyValue的org.redkale.net中的字段
    限定符和类型 | 字段和说明
    --- | ---
    `protected AnyValue` | Server.`config`

    参数类型为AnyValue的org.redkale.net中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | Server.`destroy(AnyValue config)`
    `void` | Servlet.`destroy(C context, AnyValue config)`
    `void` | Server.`init(AnyValue config)`
    `void` | Servlet.`init(C context, AnyValue config)`

  - ### org.redkale.net.http中AnyValue的使用

    参数类型为AnyValue的org.redkale.net.http中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | HttpPrepareServlet.`addHttpServlet(HttpServlet servlet, java.lang.String prefix, AnyValue conf, java.lang.String... mappings)`
    `void` | HttpServer.`addHttpServlet(HttpServlet servlet, java.lang.String prefix, AnyValue conf, java.lang.String... mappings)`
    `void` | WebSocketNode.`destroy(AnyValue conf)`
    `void` | HttpPrepareServlet.`destroy(HttpContext context, AnyValue config)`
    `void` | HttpResourceServlet.`destroy(HttpContext context, AnyValue config)`
    `void` | HttpServer.`init(AnyValue config)`
    `void` | WebSocketNode.`init(AnyValue conf)`
    `void` | BasedHttpServlet.`init(HttpContext context, AnyValue config)`
    `void` | HttpPrepareServlet.`init(HttpContext context, AnyValue config)`
    `void` | HttpResourceServlet.`init(HttpContext context, AnyValue config)`
    `void` | WebSocketServlet.`postDestroy(HttpContext context, AnyValue conf)`
    `void` | WebSocketServlet.`preInit(HttpContext context, AnyValue conf)`

  - ### org.redkale.net.sncp中AnyValue的使用

    返回AnyValue的org.redkale.net.sncp中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `AnyValue` | ServiceWrapper.`getConf()`

    参数类型为AnyValue的org.redkale.net.sncp中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | SncpPrepareServlet.`destroy(SncpContext context, AnyValue config)`
    `void` | SncpServer.`init(AnyValue config)`
    `void` | SncpPrepareServlet.`init(SncpContext context, AnyValue config)`

    参数类型为AnyValue的org.redkale.net.sncp中的构造器
    构造器和说明
    `ServiceWrapper(java.lang.Class<T> type, T service, java.lang.String name, java.lang.String sncpGroup, java.util.Set<java.lang.String> groups, AnyValue conf)`
    `SncpDynServlet(BsonConvert convert, java.lang.String serviceName, java.lang.Class<? extends Service> type, Service service, AnyValue conf)`

  - ### org.redkale.service中AnyValue的使用

    参数类型为AnyValue的org.redkale.service中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | CacheSourceService.`destroy(AnyValue conf)`
    `void` | DataSQLListenerService.`destroy(AnyValue config)` 已过时。
    `default void` | Service.`destroy(AnyValue config)` 进程退出时，调用Service销毁
    `void` | WebSocketNodeService.`destroy(AnyValue conf)`
    `void` | CacheSourceService.`init(AnyValue conf)`
    `void` | DataSQLListenerService.`init(AnyValue config)` 已过时。
    `default void` | Service.`init(AnyValue config)` 该方法必须是可以重复调用， 当reload时需要重复调用init方法
    `void` | WebSocketNodeService.`init(AnyValue conf)`

  - ### org.redkale.util中AnyValue的使用

    org.redkale.util中AnyValue的子类
    限定符和类型 | 类和说明
    --- | ---
    `static class` | `AnyValue.DefaultAnyValue` 可读写的AnyValue默认实现类 详情见: http://www.redkale.org

    返回AnyValue的org.redkale.util中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `static AnyValue` | AnyValue.`create()`
    `abstract AnyValue` | AnyValue.`getAnyValue(java.lang.String name)`
    `AnyValue` | AnyValue.DefaultAnyValue.`getAnyValue(java.lang.String name)`
    `abstract AnyValue[]` | AnyValue.`getAnyValues(java.lang.String... names)`
    `AnyValue[]` | AnyValue.DefaultAnyValue.`getAnyValues(java.lang.String... names)`
    `abstract AnyValue[]` | AnyValue.`getAnyValues(java.lang.String name)`
    `AnyValue[]` | AnyValue.DefaultAnyValue.`getAnyValues(java.lang.String name)`

    参数类型为AnyValue的org.redkale.util中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `AnyValue.DefaultAnyValue` | AnyValue.DefaultAnyValue.`addAll(AnyValue av)`
    `AnyValue.DefaultAnyValue` | AnyValue.DefaultAnyValue.`addValue(java.lang.String name, AnyValue value)`
    `static AnyValue.DefaultAnyValue` | AnyValue.DefaultAnyValue.`create(java.lang.String name, AnyValue value)`
    `AnyValue.DefaultAnyValue` | AnyValue.DefaultAnyValue.`setAll(AnyValue av)`
    `AnyValue.DefaultAnyValue` | AnyValue.DefaultAnyValue.`setValue(java.lang.String name, AnyValue value)`