Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright 1&1 Internet AG, http://www.1and1.org
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
  * the Free Software Foundation; either version 2 of the License,
  * or (at your option) any later version.
  *
  * This program 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.
 * See the GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package net.sf.beezle.sushi.fs.filter;
public class TreeAction implements Action {
    private final List<Nodenodes;
    private final List<Treetrees;
    private Tree result;
    
    public TreeAction() {
        this. = new ArrayList<Node>();
        this. = new ArrayList<Tree>();
    }
    
    public void enter(Node nodeboolean isLink) {
        Tree parent;
        
        if (.size() > 0) {
            parent = .get(.size() - 1);
            if (parent != null) {
                for (Tree child : parent.children) {
                    if (node == child.node) {
                        .add(node);
                        .add(child);
                        return;
                    }
                }
            }
        }
        .add(node);
        .add(null);
    }
    
    public void enterFailed(Node nodeboolean isLinkIOException ethrows IOException {
        throw e;
    }
    public void leave(Node nodeboolean isLink) {
        int idx;
        
        idx = .size() - 1;
        .remove(idx);
         = .remove(idx);
    }
    
    public void select(Node nodeboolean isLink) {
        Tree added;
        Tree current;
        
        added = new Tree(node); 
        for (int i = .size() - 1; i >= 0; i--) {
            current = .get(i);
            if (current == null) {
                current = new Tree(.get(i));
                current.children.add(added);
                .set(icurrent);
                added = current;
            } else {
                current.children.add(added);
                break;
            }
        }
    }
    public Tree getResult() {
        if (.size() != 0) {
            throw new IllegalStateException();
        }
        if (.size() != 0) {
            throw new IllegalStateException();
        }
        return ;
    }
New to GrepCode? Check out our FAQ X