com.bstek.dorado.core
public abstract class Context extends java.lang.Object implements ResourceLoader
通过Context可以取到Dorado使用的各种核心服务类、基本的配置信息等。
并且Context是与当前线程相关的,在使用Context.getContext()获取Context的实例之前,
应该首先将具体的Context实现类关联到ThreadLocal中。
ThreadLocal
,
Resource
,
ResourceLoader
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
THREAD
表示当前线程的范围。
|
Constructor and Description |
---|
Context() |
Modifier and Type | Method and Description |
---|---|
protected static void |
attachToThreadLocal(Context context)
将给定的Context对象与当前线程关联起来。
|
protected static Context |
dettachFromThreadLocal()
断开给定的Context对象与当前线程之间的关联关系。
|
java.lang.Object |
getAttribute(java.lang.String key)
获取某个与当前上下文相关的属性值。
|
java.lang.Object |
getAttribute(java.lang.String scope,
java.lang.String key)
返回指定范围内某属性的值。
|
abstract java.lang.ClassLoader |
getClassLoader()
获取内部使用的
ResourceLoader
在查找资源时使用的ClassLoader。 |
static Context |
getCurrent()
获得当前线程相关的Context实例。
使用方法: |
abstract Resource |
getResource(java.lang.String resourceLocation)
根据资源路径获取相应的资源描述对象。
|
abstract Resource[] |
getResources(java.lang.String locationPattern)
根据资源路径获取相应的资源描述对象的数组。
此处的资源路径可支持通配符,因此可以返回一个以上的资源描述对象。 |
abstract java.lang.Object |
getServiceBean(java.lang.String name)
获取某个核心服务类的实例。
|
void |
removeAttribute(java.lang.String key)
删除某个与当前上下文相关的属性。
|
void |
removeAttribute(java.lang.String scope,
java.lang.String key)
删除指定范围内某属性。
|
void |
setAttribute(java.lang.String key,
java.lang.Object value)
设置某个与当前上下文相关的属性值。
|
void |
setAttribute(java.lang.String scope,
java.lang.String key,
java.lang.Object value)
设置指定范围内某属性的值。
|
static void |
setFailSafeContext(Context failSafeContext) |
public static final java.lang.String THREAD
public static Context getCurrent()
Context context = Context.getContext();
public static void setFailSafeContext(Context failSafeContext)
protected static final void attachToThreadLocal(Context context)
protected static final Context dettachFromThreadLocal()
public abstract java.lang.Object getServiceBean(java.lang.String name) throws java.lang.Exception
name
- 服务名称java.lang.Exception
public java.lang.Object getAttribute(java.lang.String key)
key
- 属性的键值public void setAttribute(java.lang.String key, java.lang.Object value)
key
- 属性的键值value
- 属性值public void removeAttribute(java.lang.String key)
key
- 属性的键值public java.lang.Object getAttribute(java.lang.String scope, java.lang.String key)
scope
- 范围。可使用的值包括THREAD
。 注意,在Context的具体实现类中可以支持更多的范围,例如
DoradoContext.getAttribute(java.lang.String)
。key
- 属性名。public void removeAttribute(java.lang.String scope, java.lang.String key)
scope
- 范围。可使用的值包括THREAD
。 注意,在Context的具体实现类中可以支持更多的范围,例如
DoradoContext.getAttribute(java.lang.String)
。key
- 属性名。public void setAttribute(java.lang.String scope, java.lang.String key, java.lang.Object value)
scope
- 范围。可使用的值包括THREAD
。 注意,在Context的具体实现类中可以支持更多的范围,例如
DoradoContext.getAttribute(java.lang.String)
。key
- 属性名。value
- 值。public abstract Resource getResource(java.lang.String resourceLocation)
getResource
in interface ResourceLoader
resourceLocation
- 资源路径Resource
,
ResourceLoader
public abstract Resource[] getResources(java.lang.String locationPattern) throws java.io.IOException
getResources
in interface ResourceLoader
locationPattern
- 资源路径(可支持通配符)java.io.IOException
Resource
,
ResourceLoader
public abstract java.lang.ClassLoader getClassLoader()
ResourceLoader
在查找资源时使用的ClassLoader。getClassLoader
in interface ResourceLoader
ClassLoader
Copyright © 2001-2011 www.BSTEK.com All Rights Reserved.