Object.java
package algorithmen.umleditor;
import java.util.*;
/**
* Object einer Class, mit Werten für die Felder.
*/
public class Object extends UmlElement {
protected String type;
protected Vector fields;
/**
* Erzeugt ein neues Objekt vomTyp Interface mit vorgegebenem Namen.
*/
public Object(String name, String type) {
super(name);
this.type = type;
fields = new Vector();
}
/**
* Standard-Konstruktor mit Namen "NewClass"
*/
public Object() {
this("newObject", "String");
}
/**
* Holt den Typ des Objekts.
*/
public String getType() {
return type;
}
/**
* Setzt den Typ des Objekts.
*/
public void setType(String newType) {
type = newType;
}
/**
* Fügt das Field f der Feldliste (am Ende) hinzu.
*/
public void addField(Field f) {
fields.add(f);
}
/**
* Entfernt das Field an der Position index aus der Feldliste.
*/
public void removeField(int index) {
fields.remove(index);
}
/*
* Gibt die Anzahl der Felder zurück.
*/
public int getNFields() {
return fields.size();
}
/**
* Gibt das n-te Feld zurück.
*/
public Field getField(int n) {
return (Field) fields.get(n);
}
/**
* Setzt das n-te Feld.
*/
public void setField(int n, Field f) {
fields.set(n, f);
}
/**
* Gibt die Feldliste zurück.
*/
public Vector getFields() {
return fields;
}
/**
* Ersetzt die komplette Feldliste.
*/
public void setFields(Vector f) {
fields = f;
}
/**
* Liefert eine String-Darstellung eines Object-Objekts.
* Typisches Beispiel:
* "Dreieck meinDreieck {
* private double x = 0.0;
* private double y = 0.0;
* }"
*/
public String toString() {
String s = type + " " + name + " {\n";
// laufe durch die Feldliste
for (Iterator i = fields.iterator(); i.hasNext(); ) {
Field f = (Field) i.next();
s += " " + f + ";\n";
}
s += "}";
return s;
}
}