Interface.java
package algorithmen.umleditor;
import java.util.*;
/**
* Interface defining methods.
*/
public class Interface extends UmlElement {
protected Vector methods;
/**
* Erzeugt ein neues Objekt vom Typ Interface mit vorgegebenem Namen.
*/
public Interface(String name) {
super(name);
methods = new Vector();
}
/**
* Standard-Konstruktor mit Namen "NewInterface"
*/
public Interface() {
this("NewInterface");
}
/**
* Fügt die Method m der Methodenliste (am Ende) hinzu.
*/
public void addMethod(Method m) {
methods.add(m);
}
/**
* Entfernt die Method an der Position index aus der Methodenliste.
*/
public void removeMethod(int index) {
methods.remove(index);
}
/*
* Gibt die Anzahl der Methoden zurück.
*/
public int getNMethods() {
return methods.size();
}
/**
* Gibt die n-te Methode zurück.
*/
public Method getMethod(int n) {
return (Method) methods.get(n);
}
/**
* Setzt die n-te Methode.
*/
public void setMethod(int n, Method f) {
methods.set(n, f);
}
/**
* Gibt die Methodenliste zurück.
*/
public Vector getMethods() {
return methods;
}
/**
* Ersetzt die komplette Methodenliste.
*/
public void setMethods(Vector m) {
methods = m;
}
/**
* Liefert eine String-Darstellung eines Interface-Objekts.
* Typisches Beispiel:
* "public interface Drawable {
* void draw();
* void move(double dx, double dy);
* }"
*/
public String toString() {
String s = "public interface " + name + " {\n";
// laufe durch die Methodenliste
for (Iterator i = methods.iterator(); i.hasNext(); ) {
Method m = (Method) i.next();
s += " " + m + ";\n";
}
s += "}";
return s;
}
}