本文整理了Java中org.ogema.core.model.Resource.addStructureListener
方法的一些代码示例,展示了Resource.addStructureListener
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Resource.addStructureListener
方法的具体详情如下:
包路径:org.ogema.core.model.Resource
类名称:Resource
方法名:addStructureListener
暂无
代码示例来源:origin: org.ogema.tools/resource-utils
/**
* @param resource
* @param listener
* @param reportAllChanges
* If this is false, only the following EventTypes are reported to the structure listener:
* <ul>
* <li>RESOURCE_ACTIVATED
* <li>RESOURCE_DEACTIVATED
* <li>RESOURCE_DELETED
* </ul>
* This should be thought of as an enhanced value listener.
*/
public RegisteredStructureValueListenerImpl(Resource resource, StructureValueListener<T> listener, boolean reportAllChanges) {
this.listener = listener;
this.reportAllChanges = reportAllChanges;
this.resource = resource;
if (reportAllChanges)
resource.addStructureListener(listener);
else
resource.addStructureListener(this);
resource.addValueListener(listener);
}
代码示例来源:origin: org.ogema.tools/resource-utils
public TransitiveValueListenerImpl(Resource topNode, ResourceValueListener<T> listener, Class<T> resourceType, boolean callOnEveryUpdate) {
this.topNode = topNode;
this.resourceType = resourceType;
this.listener = listener;
this.callOnEveryUpdate= callOnEveryUpdate;
this.structureListener = new ValueHelperStructureListener<T>(this);
topNode.addStructureListener(structureListener);
initValueListeners(topNode);
}
代码示例来源:origin: org.ogema.tools/resource-utils
@Override
public void visit(Resource resource) {
if (register) {
if (tvl.valueListenerPaths.contains(resource.getLocation()))
return;
tvl.valueListenerPaths.add(resource.getLocation());
resource.addStructureListener(tvl.structureListener);
if (tvl.resourceType.isAssignableFrom(resource.getResourceType())) {
resource.addValueListener(tvl.listener, tvl.callOnEveryUpdate);
}
}
else {
if (!tvl.valueListenerPaths.remove(resource.getLocation()))
return;
resource.removeStructureListener(tvl.structureListener);
if (tvl.resourceType.isAssignableFrom(resource.getResourceType())) {
resource.removeValueListener(tvl.listener);
}
}
}
代码示例来源:origin: org.ogema.tools/resource-utils
@Override
public void visit(Resource resource) {
if (register) {
if (tsl.structureListeners.contains(resource.getLocation()))
return;
tsl.structureListeners.add(resource.getLocation());
resource.addStructureListener(tsl.helperListener);
if (callback) {
ResourceStructureEvent clone = new StructureEvent(EventType.SUBRESOURCE_ADDED, tsl.topNode, resource);
tsl.listener.resourceStructureChanged(clone);
}
}
else {
if (!tsl.structureListeners.remove(resource.getLocation()))
return;
resource.removeStructureListener(tsl.helperListener);
if (callback) {
ResourceStructureEvent clone = new StructureEvent(EventType.SUBRESOURCE_REMOVED, tsl.topNode, resource);
tsl.listener.resourceStructureChanged(clone);
}
}
}
代码示例来源:origin: org.ogema.tools/resource-manipulators
@Override
public void start() {
if (resourceType == null || program == null) {
logger.error("Cannot start enforcing the program on resource " + target.getLocation()
+ " which is of type " + target.getResourceType().getSimpleName()
+ ". Probably not a suitable resource type. Start of controller will be ignored.");
return;
}
// request write access to the target resource.
requiredWriteAccessGranted = false;
target.addStructureListener(this);
target.addAccessModeListener(this);
if (exclusiveAccess) {
target.requestAccessMode(AccessMode.EXCLUSIVE, priority);
}
else {
target.requestAccessMode(AccessMode.SHARED, priority);
}
// keep informed about changes in the program (incl. structure events)
program.addStructureListener(this);
program.addValueListener(this);
// Create a timer and initialize the target value for the first time.
if (timer != null)
timer.destroy();
timer = appMan.createTimer(10 * 60 * 1000l, this); // this is just a random timer value, timer is re-scheduled after every invocation.
timerElapsed(timer); // check if there is something to do now.
logger.debug("New ProgramEnforcerController started for resource at " + target.getPath());
}
内容来源于网络,如有侵权,请联系作者删除!