Exemplo n.º 1
0
 public <R, A, T extends GenericVisitor<R, A>> void addGenericListener(
     Filter2<Object, T, A> filter, In3Out1<T, Node, A, R> listener) {
   final GenericFactory was = genericFactory;
   genericFactory =
       (vis, arg) -> {
         if (filter.filter(vis, arg)) {
           return (In3Out1) listener;
         }
         return was.io(vis, arg);
       };
 }
Exemplo n.º 2
0
 public <A> void modify(ModifierVisitorAdapter a, A arg) {
   final In3Out1<GenericVisitor, Node, Object, Object> mapper = genericFactory.io(a, arg);
   for (int i = 0; i < nodes.length; i++) {
     final Object result = mapper.io(a, nodes[i].out1(), arg);
     nodes[i] = Immutable.immutable1((Node) result);
   }
 }
Exemplo n.º 3
0
 public <A, R, Vis extends GenericVisitor<R, A>> In3Out1<Vis, Node, A, R> genericVisit(
     Vis vis, A arg) {
   final In3Out1 factory = genericFactory.io(vis, arg);
   return (v, n, a) -> {
     try (Do undo = universalListener.io(n, a)) {
       return (R) factory.io(v, n, a);
     }
   };
 }
Exemplo n.º 4
0
 /**
  * Builds a NodeHandle with the actual implementation class of NodeHandle and specifieds <b>id</b>
  * and <b>alive</b> flag.
  *
  * @param id Id of the related Node, to assign to the new instance of NodeNandle.
  * @param alive true if the related Node is alive. false in other case.
  * @return An instance of actual implementation class of NodeHandle.
  * @see planet.commonapi.factory.NodeHandleFactory#buildNodeHandle(planet.commonapi.Id, boolean)
  * @see planet.commonapi.Id Id
  */
 public NodeHandle buildNodeHandle(Id id, boolean alive) throws InitializationException {
   return ((NodeHandle) GenericFactory.newInstance(nodeHandle)).setValues(id, alive);
 }