package com.tibco.as.spacebar.ui.model;
import java.util.ArrayList;
import java.util.List;
public class Spaces extends AbstractElement implements Cloneable {
private Metaspace metaspace;
private List<Space> spaces = new ArrayList<Space>();
public void setMetaspace(Metaspace metaspace) {
this.metaspace = metaspace;
}
public Metaspace getParent() {
return metaspace;
}
@Override
public Space getChild(String name) {
return (Space) super.getChild(name);
}
@Override
public String getName() {
return "Spaces";
}
@Override
public List<Space> getChildren() {
return spaces;
}
@Override
protected boolean add(IElement child) {
return spaces.add((Space) child);
}
@Override
protected boolean remove(IElement child) {
return spaces.remove(child);
}
@Override
protected void copyChild(IElement source, IElement target) {
((Space) source).copyTo((Space) target);
}
@Override
public Spaces clone() {
Spaces clone = new Spaces();
copyTo(clone);
return clone;
}
public List<Space> getSpaces() {
return spaces;
}
public void setSpaces(List<Space> spaces) {
this.spaces = spaces;
}
@Override
public void copyTo(IElement element) {
Spaces target = (Spaces) element;
target.setMetaspace(metaspace);
target.setSpaces(new ArrayList<Space>(spaces));
}
}