Topic-Types

Jedem Topic innerhalb der Topic-Map kann ein Topic-Type zugeordnet werden. Dafür stellt das Topic-Interface die Funktion addType zur Verfügung. Als Argument wird ein Topic erwartet, dass den Topic-Type definiert. Das Beispiel demonstriert diese Zuweisung.

// Topic für die Definition des Topic-Type
Topic city = tm.createTopic();

// Topic das Ilmenau repräsentiert
Topic ilmenau = tm.createTopic();

// Zuweisen des Topic-Type
ilmenau.addType(city);

Zunächst werden zwei Topics erstellt. Das erste steht dabei für das Konzept Stadt und das zweite für Ilmenau. Durch die Zuweisung wird die Aussage „Ilmenau ist eine Stadt“ getroffen.

Wenn Sie Typen zugeordnet haben, können Sie diese auch wieder entfernen. Dazu können Sie die Funktion removeType nutzen. Ähnlich wie bei addType wird ein Topic erwartet. In diesem Fall wird es aber entfernt und nicht hinzugefügt. Im Beispiel „entziehen“ wir Ilmenau das Stadtrecht.

// Entfernen des Topic-Types
ilmenau.removeType(city);

Anders als es bei Occurrences, Topic-Names und Associations üblich ist, kann ein Topic mehrere Topic-Types haben. Im folgenden Beispiel wird mit Hilfe der Funktion getTypes über alle Topic-Types iteriert. Die Funktion liefert dabei eine Menge von Topics die die Topic-Types definieren.

// Menge aller Topic-Types
HashSet types = ilmenau.getTypes();

// Iterator holen
Iterator typesIt = types.iterator();

// Iterieren über die Types
while (typesIt.hasNext()) {
  // Aktuellen Topic-Type ermitteln
  Topic currentType = (Topic) typesIt.next();

  // Topic-Type löschen
  ilmenau.removeType(currentType);
}

Innerhalb der While-Anweisung wird der aktuelle Topic-Type ermittelt und direkt im Anschluss entfernt.

Wenn Sie das komplette Topic nicht mehr benötigen, können Sie es löschen. Der nächste Abschnitt illustriert die nötigen Schritte und auftretenden Probleme.

Leave a Reply