| package org.eclipse.ant.internal.ui; | |
| /* | |
| * (c) Copyright IBM Corp. 2000, 2001. | |
| * All Rights Reserved. | |
| */ | |
| import java.util.Vector; | |
| /** | |
| * Object which stores the index and the length of the output for a given | |
| * target or task (represented by a string) | |
| */ | |
| public class OutputStructureElement { | |
| private OutputStructureElement parent = null; | |
| private Vector children; | |
| private String name; | |
| private int startIndex = 0; | |
| private int length = 0; | |
| /** | |
| * This constructor is intended to be used only by the first element of the structure (the root element) | |
| */ | |
| public OutputStructureElement(String name) { | |
| // there's at least one target as it is the root which may be instantiated via this constructor | |
| children = new Vector(1); | |
| this.name = name; | |
| } | |
| /** | |
| * This constructor is used for any element but the first element of the structure (the root element) | |
| */ | |
| public OutputStructureElement(String name, OutputStructureElement parent, int startIndex) { | |
| children = new Vector(0); | |
| this.name = name; | |
| this.startIndex = startIndex; | |
| parent.addChild(this); | |
| } | |
| public void addChild(OutputStructureElement child) { | |
| children.add(child); | |
| child.setParent(this); | |
| } | |
| public boolean hasChildren() { | |
| return !children.isEmpty(); | |
| } | |
| public String getName() { | |
| return name; | |
| } | |
| public void setName(String name) { | |
| this.name = name; | |
| } | |
| public void setParent(OutputStructureElement parent) { | |
| this.parent = parent; | |
| } | |
| public OutputStructureElement getParent() { | |
| return parent; | |
| } | |
| public OutputStructureElement[] getChildren() { | |
| return (OutputStructureElement[]) children.toArray(new OutputStructureElement[children.size()]); | |
| } | |
| public void setStartIndex(int index) { | |
| startIndex = index; | |
| } | |
| public void setEndIndex(int index) { | |
| length = index - startIndex; | |
| } | |
| public int getStartIndex() { | |
| return startIndex; | |
| } | |
| public int getEndIndex() { | |
| return startIndex + length; | |
| } | |
| public int getLength() { | |
| return length; | |
| } | |
| public String toString() { | |
| return name; | |
| } | |
| } | |