package org.insightech.er.editor.model.diagram_contents.not_element.tablespace;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import org.insightech.er.editor.model.AbstractModel;
public class TablespaceSet extends AbstractModel implements
Iterable<Tablespace> {
private static final long serialVersionUID = 9018173533566296453L;
public static final String PROPERTY_CHANGE_TABLESPACE_SET = "TablespaceSet";
private List<Tablespace> tablespaceList;
public TablespaceSet() {
this.tablespaceList = new ArrayList<Tablespace>();
}
public void addTablespace(Tablespace tablespace) {
this.tablespaceList.add(tablespace);
Collections.sort(this.tablespaceList);
this.firePropertyChange(PROPERTY_CHANGE_TABLESPACE_SET, null, null);
}
public int remove(Tablespace tablespace) {
int index = this.tablespaceList.indexOf(tablespace);
this.tablespaceList.remove(index);
this.firePropertyChange(PROPERTY_CHANGE_TABLESPACE_SET, null, null);
return index;
}
public boolean contains(String name) {
for (Tablespace tablespace : tablespaceList) {
if (name.equalsIgnoreCase(tablespace.getName())) {
return true;
}
}
return false;
}
public List<Tablespace> getTablespaceList() {
return this.tablespaceList;
}
public Iterator<Tablespace> iterator() {
return this.tablespaceList.iterator();
}
/**
* {@inheritDoc}
*/
@Override
public TablespaceSet clone() {
TablespaceSet tablespaceSet = (TablespaceSet) super.clone();
List<Tablespace> newTablespaceList = new ArrayList<Tablespace>();
for (Tablespace tablespace : tablespaceList) {
Tablespace newTablespace = (Tablespace) tablespace.clone();
newTablespaceList.add(newTablespace);
}
tablespaceSet.tablespaceList = newTablespaceList;
return tablespaceSet;
}
}