📄 imagebeancontextchildsupport.java
字号:
package examples.beans;
import java.beans.beancontext.*;
import sunw.demo.methodtracer.MethodTracer;
/** This class provides the BeanContextChild support
* used by the ImageBean4 class
*/
public class ImageBeanContextChildSupport
extends BeanContextChildSupport
implements BeanContextServicesListener {
private Object requestor;
private MethodTracer tracerService;
/** Class constructor
*/
public ImageBeanContextChildSupport( Object r ) {
requestor = r;
}
/**
*
*/
protected void initializeBeanContextResources() {
try {
BeanContextServices bcs
= (BeanContextServices) getBeanContext();
if ( bcs.hasService( MethodTracer.class ) ) {
tracerService
= (MethodTracer) bcs.getService(
this,
requestor,
MethodTracer.class,
null,
this );
} else {
bcs.addBeanContextServicesListener( this );
}
} catch ( ClassCastException x ) {
// The BeanContext of this object is not a
// BeanContextServices object, so there's nothing
// to do
} catch ( Exception x ) {
x.printStackTrace();
}
}
/**
*
*/
protected void releaseBeanContextServices() {
if ( tracerService != null ) {
tracerService = null;
}
try {
BeanContextServices bcs
= (BeanContextServices) getBeanContext();
bcs.removeBeanContextServicesListener( this );
} catch ( ClassCastException x ) {
// The BeanContext of this object is not a
// BeanContextServices object, so there's nothing
// to do
} catch ( Exception x ) {
x.printStackTrace();
}
}
public void
serviceRevoked( BeanContextServiceRevokedEvent e ) {
if ( e.getServiceClass() == MethodTracer.class ) {
tracerService = null;
}
}
public void
serviceAvailable( BeanContextServiceAvailableEvent e ) {
try {
if ( e.getServiceClass() == MethodTracer.class ) {
BeanContextServices bcs
= e.getSourceAsBeanContextServices();
tracerService
= (MethodTracer) bcs.getService(
this,
requestor,
MethodTracer.class,
null,
this );
}
} catch ( Exception x ) {
x.printStackTrace();
}
}
/** Return the tracer service object
* @return the MethodTracer for this context
*/
public MethodTracer getMethodTracer() {
return tracerService;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -