nestedscopefinder.java

来自「jbpm-bpel-1.1.Beta3 JBoss jBPM Starters」· Java 代码 · 共 50 行

JAVA
50
字号
/*
 * JBoss, Home of Professional Open Source
 * Copyright 2005, JBoss Inc., and individual contributors as indicated
 * by the @authors tag.
 *
 * This is free software; you can redistribute it and/or modify it
 * under the terms of the JBPM BPEL PUBLIC LICENSE AGREEMENT as
 * published by JBoss Inc.; either version 1.0 of the License, or
 * (at your option) any later version.
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 */
package org.jbpm.bpel.graph.scope;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;

import org.jbpm.bpel.graph.def.Activity;
import org.jbpm.bpel.graph.def.BpelVisitorSupport;
import org.jbpm.graph.def.NodeCollection;

/**
 * @author Juan Cantu
 * @version $Revision: 1.1 $ $Date: 2006/09/27 03:53:01 $
 */
class NestedScopeFinder extends BpelVisitorSupport {

  Collection scopes = new ArrayList();

  protected void propagate(NodeCollection nodeCollection) {
    List nodes = nodeCollection.getNodes();
    if (nodes != null) {
      Iterator nodeIt = nodes.iterator();
      while (nodeIt.hasNext()) {
        Activity activity = (Activity) nodeIt.next();
        if (activity instanceof Scope)
          scopes.add(activity);
        activity.accept(this);
      }
    }
  }

  public Collection getScopes() {
    return scopes;
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?