org.ogema.core.model.Resource.addStructureListener()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(3.9k)|赞(0)|评价(0)|浏览(88)

本文整理了Java中org.ogema.core.model.Resource.addStructureListener方法的一些代码示例,展示了Resource.addStructureListener的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Resource.addStructureListener方法的具体详情如下:
包路径:org.ogema.core.model.Resource
类名称:Resource
方法名:addStructureListener

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());
}

相关文章