@Retention(value=RUNTIME)
@Target(value=TYPE)
public @interface Component
服务组件注释。
用来注释服务组件所要使用的服务提供者类型(providerTypes()
),且设置的服务提供者类型必须是Java接口,不支持普通类。比如,设置 providerTypes={MapProvider.class} 表示当前服务组件需要使用的地图服务提供者。
通过设置 optional
来设置服务提供者类型是否可选,比如配置了 providerTypes={Provider1.class,Provider2.class},当 optional = true 时,表示可以使用 Provider1 和 Provider2 其中任意一种类型的服务提供者;当 optional = false 时,表示这两种类型的服务提供者都必须使用。默认值为 false。
限定符和类型 | 必需的元素和说明 |
---|---|
java.lang.String |
type
服务组件类型。
|
限定符和类型 | 可选元素和说明 |
---|---|
java.lang.Class<? extends DigestMapping> |
digestMapping
服务摘要信息映射对象。
|
java.lang.Class<? extends NameMapping> |
nameMapping
名称映射对象。
|
boolean |
optional
服务提供者类型是否可选。
|
java.lang.Class[] |
providerTypes
服务提供者类型。
|
public abstract java.lang.String type
服务组件类型。
标识本服务组件的类型,已有的组件模块的类型有:"Data"、"Map"、"TransportationAnalyst"、"Realspace"、"SpatialAnalyst"。
public abstract java.lang.Class[] providerTypes
服务提供者类型。
用来设置服务组件所用到的服务提供者类型,必须是Java接口,不支持普通类。默认值为Class空数组。
public abstract boolean optional
服务提供者类型是否可选。
ture 表示可选,false 表示不可选(每一种服务提供者都是必须的)。比如配置了 providerTypes={Provider1.class,Provider2.class},当 optional = true 时,表示可以使用 Provider1 和 Provider2 其中一种类型的服务提供者即可;当 optional = false 时,表示这两种类型的服务提供者都必须使用。
默认值为 false。
public abstract java.lang.Class<? extends NameMapping> nameMapping
名称映射对象。
名称映射对象可以将业务组件中对应的名称(如地图名、数据源名称、场景名称等)获取到,这些名称主要被用于集群中用于区分同类对象。
public abstract java.lang.Class<? extends DigestMapping> digestMapping
服务摘要信息映射对象。