Class Node

java.lang.Object
   |
   +----Node

abstract class Node
extends Object
implements Cloneable
ein Und/Oder-Baum als Java-Datenstruktur


Variable Index

 o children
undef.
 o compressed
true: Unterbaum verstecken ("collapsed")
 o edge
vorlaufende Kante (auch fuer Wurzel)
 o GET_COMMENTARIES
 o GET_HELP
 o GET_IDS
Konstanten fuer den get_selection()-Modus:
 o GET_LABELS
 o help
Hilfetext oder null;
 o name
optionaler Knotenname, der beim Speichern in Textform mit einem "Include-Knoten" z.B.
 o parent
null fuer Wurzelknoten
 o TAB
Einrueckung in autom.
 o unique_ids_all_over
muessen Kanten-Ids.

Constructor Index

 o Node(Node, Edge, Node[], String, boolean)

Method Index

 o activate()
 o activate_edge(String, boolean, String[])
 o activate_edge_by_label(String, boolean, String[])
 o activate_edges(StreamTokenizer, boolean, String[], String)
 o activate_edges(String, String, boolean)
 o activate_edges(String, String, boolean, String[])
selektion aktivieren oder pruefen, ob (Teil-)selection schon aktiv ist (match_only=true).
 o active()
Bottom-Up Test, ob Knoten aktiv
 o add_child(Node)
 o add_child(Node, boolean, Node)
vgl.
 o attributes_toString()
 o check_for_empty_OR_nodes()
 o child_active(Node)
 o childrenToString(Stack, String)
 o clone()
 o copy()
 o copy(boolean)
 o create(boolean, Node, Node)
 o deactivate()
 o display(Point, boolean, View)
stellt Knoten graphisch in view dar Der Aktivierungszustand des Knotens wird top-down waehrend des Zeichnens festgestellt und ueber den Parameter active angegeben.
 o edge_label()
 o find_name(String)
sucht den include-Knoten, dessen (absoluter) Name path ist.
 o find_node_by_edge(String, boolean, boolean, Node, boolean, boolean)
vgl.
 o find_node_by_edge_among_sisters(String, boolean, boolean)
vgl.
 o get_neighbour(Node, boolean)
(nur fuer And/Or-Nodes)
 o get_path()
liefert den absoluten (Datei-)Namen der den Knoten enthaltenden Include-Datei
 o get_selection(String, int)
Sammelt aktive Kanten und Blatt-Texte; das Resultat ist nur fuer aktives this definiert! (Syntax einer Selektion siehe activate_edges()).
 o id_labels_swap(String)
liefert zur Selektion selection das Aequivalent mit vertauschten Ids und Labels
 o match(String)
 o remove_child(Node)
(wird in class OR_Node erweitert)
 o remove_inplace_areas()
entfernt top-down alle Controls zu inplace-Bereichen
 o replace_child(Node, Node)
(wird in class (i)OR_Node erweitert)
 o set_child_activated(Node)
(wird in class (i)OR_Node ueberschrieben)
 o set_child_deactivated(Node)
(wird in class (i)OR_Node ueberschrieben)
 o set_children(Node[])
 o set_collapsed(boolean)
 o set_collapsed_for_all(boolean)
 o set_edge(Edge)
 o set_edge_label(String)
 o set_help(String)
 o set_name(String)
Name eines include-"Knotens" festlegen
 o sort_children()
primitives Austauschverfahren (tut's hier aber)
 o swap_children(Node, boolean)
(nur fuer And/Or-Nodes)
 o toggle_activation()
Anwender doppelklickte auf Kante ==> Aktivierung umschalten
 o toggle_compression()
 o toString()
 o toString(Stack, String, boolean)
Include-Knoten werden auf includes gepusht.
 o update_edge_id_no()
sucht den hoechsten vorkommenden Index eines autom.

Variables

 o TAB
 static final String TAB
Einrueckung in autom. erzeugten Selektionsdateien (.sel) wg. Fehler in Java 1.0-Core von J++ nicht zu gebrauchen!

 o unique_ids_all_over
 static boolean unique_ids_all_over
muessen Kanten-Ids. ueberall eindeutig sein oder nur unter ihren Geschwistern?

 o GET_IDS
 static final int GET_IDS
Konstanten fuer den get_selection()-Modus:

 o GET_LABELS
 static final int GET_LABELS
 o GET_COMMENTARIES
 static final int GET_COMMENTARIES
 o GET_HELP
 static final int GET_HELP
 o parent
 Node parent
null fuer Wurzelknoten

 o edge
 Edge edge
vorlaufende Kante (auch fuer Wurzel)

 o children
 Node children[]
undef. bei einem Text-Blatt, [0] bei einem AND-Blatt

 o name
 String name
optionaler Knotenname, der beim Speichern in Textform mit einem "Include-Knoten" z.B. als Datei-/URL-Name verwendet wird, oder null andernfalls

 o compressed
 boolean compressed
true: Unterbaum verstecken ("collapsed")

 o help
 String help
Hilfetext oder null;

Constructors

 o Node
 Node(Node parent,
      Edge edge,
      Node children[],
      String help,
      boolean compressed)

Methods

 o toggle_activation
 void toggle_activation()
Anwender doppelklickte auf Kante ==> Aktivierung umschalten

 o activate
 void activate()
 o match
 boolean match(String pattern)
 o activate_edges
 boolean activate_edges(String selection,
                        String previous,
                        boolean match_only)
 o id_labels_swap
 String id_labels_swap(String selection)
liefert zur Selektion selection das Aequivalent mit vertauschten Ids und Labels

 o activate_edges
 boolean activate_edges(String selection,
                        String previous,
                        boolean match_only,
                        String id_labels_swap[])
selektion aktivieren oder pruefen, ob (Teil-)selection schon aktiv ist (match_only=true). Ist id_labels_swap!=null, wird die Selektion neu erzeugt, wobei Labels und Identifizierer vertauscht werden.

 o activate_edges
 boolean activate_edges(StreamTokenizer selstream,
                        boolean match_only,
                        String id_labels_swap[],
                        String indent)
 o activate_edge
 Node activate_edge(String name,
                    boolean match_only,
                    String id_labels_swap[])
 o activate_edge_by_label
 Node activate_edge_by_label(String name,
                             boolean match_only,
                             String id_labels_swap[])
 o get_selection
 abstract String get_selection(String indent,
                               int what)
Sammelt aktive Kanten und Blatt-Texte; das Resultat ist nur fuer aktives this definiert! (Syntax einer Selektion siehe activate_edges()). what=0: Kopf=id, 1:=Label, 2:Kommentar/Knoten-Hilfe

 o deactivate
 abstract void deactivate()
 o set_child_activated
 void set_child_activated(Node child)
(wird in class (i)OR_Node ueberschrieben)

 o set_child_deactivated
 void set_child_deactivated(Node dummy)
(wird in class (i)OR_Node ueberschrieben)

 o child_active
 abstract boolean child_active(Node child)
 o active
 boolean active()
Bottom-Up Test, ob Knoten aktiv

 o toString
 abstract String toString(Stack includes,
                          String indent,
                          boolean top)
Include-Knoten werden auf includes gepusht.

 o attributes_toString
 String attributes_toString()
 o childrenToString
 String childrenToString(Stack includes,
                         String indent)
 o toString
 public String toString()
Overrides:
toString in class Object
 o set_edge_label
 void set_edge_label(String label)
 o set_edge
 void set_edge(Edge edge)
 o edge_label
 String edge_label()
 o display
 abstract synchronized Area display(Point position,
                                    boolean active,
                                    View view)
stellt Knoten graphisch in view dar Der Aktivierungszustand des Knotens wird top-down waehrend des Zeichnens festgestellt und ueber den Parameter active angegeben.

 o set_children
 void set_children(Node children[])
 o add_child
 void add_child(Node child)
 o add_child
 void add_child(Node child,
                boolean as_first,
                Node pivot)
vgl. Methode Document.paste(); Erlaeuterung von as_first und pivot siehe bei Methode Document.paste()

 o remove_child
 void remove_child(Node child)
(wird in class OR_Node erweitert)

 o replace_child
 void replace_child(Node child,
                    Node node)
(wird in class (i)OR_Node erweitert)

 o get_neighbour
 Node get_neighbour(Node node,
                    boolean upper)
(nur fuer And/Or-Nodes)

 o swap_children
 void swap_children(Node pivot,
                    boolean upper)
(nur fuer And/Or-Nodes)

 o sort_children
 void sort_children()
primitives Austauschverfahren (tut's hier aber)

 o set_name
 void set_name(String name)
Name eines include-"Knotens" festlegen

 o toggle_compression
 void toggle_compression()
 o set_collapsed
 void set_collapsed(boolean collapsed)
 o set_collapsed_for_all
 void set_collapsed_for_all(boolean collapsed)
 o remove_inplace_areas
 void remove_inplace_areas()
entfernt top-down alle Controls zu inplace-Bereichen

 o check_for_empty_OR_nodes
 Node check_for_empty_OR_nodes()
 o set_help
 void set_help(String help)
 o find_node_by_edge
 Node find_node_by_edge(String identifier,
                        boolean include_labels,
                        boolean ignore_case,
                        Node ignore,
                        boolean prefix,
                        boolean part)
vgl. find_node_by_edge_among_sisters()

 o find_node_by_edge_among_sisters
 Node find_node_by_edge_among_sisters(String identifier,
                                      boolean include_labels,
                                      boolean ignore_case)
vgl. find_node_by_edge()

 o update_edge_id_no
 void update_edge_id_no()
sucht den hoechsten vorkommenden Index eines autom. erzeugten Identifizierers (wird nur einmal beim Oeffnen einer .cat-Datei aufgerufen)

 o get_path
 String get_path()
liefert den absoluten (Datei-)Namen der den Knoten enthaltenden Include-Datei

 o find_name
 Node find_name(String path)
sucht den include-Knoten, dessen (absoluter) Name path ist. Leider fkt. der Vergleich nicht, wenn (nur) der Vergleichs-Pfad mit /../ zum darueberliegenden Verzeichnis verzweigt.

 o copy
 abstract Node copy(boolean copy_source) throws CloneNotSupportedException
 o create
 abstract Node create(boolean copy_source,
                      Node subroot,
                      Node parent) throws CloneNotSupportedException
 o copy
 Node copy() throws CloneNotSupportedException
 o clone
 protected Object clone() throws CloneNotSupportedException
Overrides:
clone in class Object