package runjettyrun.tabs.classpath;
import java.util.Iterator;
public class ClasspathGroup extends AbstractClasspathEntry {
private String name;
private boolean canBeRemoved= true;
private boolean editable = false;
public ClasspathGroup(String name, IRJRClasspathEntry parent, boolean canBeRemoved, boolean editable) {
this.parent= parent;
this.name= name;
this.canBeRemoved= canBeRemoved;
this.editable = editable;
}
public void addEntry(IRJRClasspathEntry entry, Object beforeEntry) {
if (!childEntries.contains(entry)) {
int index = -1;
if (beforeEntry != null) {
index = childEntries.indexOf(beforeEntry);
}
if (index >= 0) {
childEntries.add(index, entry);
} else {
childEntries.add(entry);
}
}
}
public void removeEntry(IRJRClasspathEntry entry) {
childEntries.remove(entry);
}
public boolean contains(IRJRClasspathEntry entry) {
return childEntries.contains(entry);
}
public String toString() {
return name;
}
public void removeAll() {
@SuppressWarnings("rawtypes")
Iterator iter= childEntries.iterator();
while (iter.hasNext()) {
Object entry = iter.next();
if (entry instanceof ClasspathGroup) {
((ClasspathGroup)entry).removeAll();
}
}
childEntries.clear();
}
public boolean canBeRemoved() {
return canBeRemoved;
}
/* (non-Javadoc)
* @see org.eclipse.jdt.internal.debug.ui.classpath.IClasspathEntry#isEditable()
*/
public boolean isEditable() {
return editable;
}
public String getRealPath() {
return name;
}
public boolean isDefaultChecked(){
return true;
}
public boolean isDefaultGrayed(){
return true;
}
}