Token用法小补充

  摘自别人的博客(呵呵,忘记是哪位牛人了!)

ProcessInstance里面有一个findToken(String tokenPath)方法。这里面写的是tokenPath tokenPath跟文件系统的规则差不多。类似 /fork1/fork2 这样的。

那么,怎么到fork2下的一个分支token
token
自己也有findToken这个方法,不同的是ProcessInstance的是以rootToken为起点,token自己的是以自己为起点。那么取到token2下面的分支
token2.findToken("token")
如果有返回token,没有返回null
至于token的名字,我刚才查源码才发现,只有在Fork节点才会给token赋予名字。。。
那么token2.findToken("token") 这里"token"那里来
命名的规则,如下。。
    String tokenName = null;
    if ( transitionName != null ) {
      if ( ! parent.hasChild( transitionName ) ) {
        tokenName = transitionName;
      } else {
        int i = 2;
        tokenName = transitionName + Integer.toString( i );
        while ( parent.hasChild( tokenName ) ) {
          i++;
          tokenName = transitionName + Integer.toString( i );
        }
      }
    } else { // no transition name
      int size = ( parent.getChildren()!=null ? parent.getChildren().size()+1 : 1 );
      tokenName = Integer.toString(size);
    }
    return tokenName;
这里"token"那里来?这个token名字,你自己可以根据命名规则得到 。看到这里应该很明了了
token
的命名规则;首先根据transitionName的名字命名,这个transitionName的名字是你自己的写的你不可能不知道。 如果transitionName的名字重名了,加自然数区分 当然,如果transitionName没有名字,用分支的个数+1作为名字。

posted @ 2009-05-19 08:51  妮子0614  阅读(397)  评论(0编辑  收藏  举报