package com.tibco.as.spacebar.ui.model;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = { "metaspaces" })
@XmlRootElement(name = "metaspaces")
public class Metaspaces extends AbstractElement {
@XmlElement(required = true)
private List<Metaspace> metaspaces = new ArrayList<Metaspace>();
@Override
public Metaspaces clone() {
Metaspaces clone = new Metaspaces();
copyTo(clone);
return clone;
}
@Override
public void copyTo(IElement element) {
Metaspaces clone = (Metaspaces) element;
clone.setMetaspaces(new ArrayList<Metaspace>(metaspaces));
}
@Override
public String getName() {
return "Metaspaces";
}
public List<Metaspace> getMetaspaces() {
return metaspaces;
}
public void setMetaspaces(List<Metaspace> metaspaces) {
this.metaspaces = metaspaces;
}
@Override
public IElement getParent() {
return null;
}
@Override
protected boolean remove(IElement child) {
return metaspaces.remove(child);
}
@Override
public List<Metaspace> getChildren() {
return metaspaces;
}
@Override
protected void copyChild(IElement source, IElement target) {
((Metaspace) source).copyTo((Metaspace) target);
}
@Override
protected boolean add(IElement child) {
return metaspaces.add((Metaspace) child);
}
public List<Metaspace> getConnectedMetaspaces() {
List<Metaspace> connectedMetaspaces = new ArrayList<Metaspace>();
for (Metaspace metaspace : metaspaces) {
if (metaspace.isConnected()) {
connectedMetaspaces.add(metaspace);
}
}
return connectedMetaspaces;
}
}