AuD
Lecture 'Algorithmen und Datenstrukturen' (code examples)
SimpleDecorator.java
Go to the documentation of this file.
1package aud.util;
2
3import java.util.HashSet;
4
11
12 protected GraphvizDecorable hilit_node = null;
13 protected GraphvizDecorable hilit_edge = null;
14
15 protected HashSet<GraphvizDecorable> marked_nodes = new HashSet<GraphvizDecorable>();
16 protected HashSet<GraphvizDecorable> marked_edges = new HashSet<GraphvizDecorable>();
17
18 @Override public void highlightNode(GraphvizDecorable object) {
19 hilit_node=object;
20 }
21 @Override public void highlightEdge(GraphvizDecorable object) {
22 hilit_edge=object;
23 }
24
25 @Override public void markNode(GraphvizDecorable object) {
26 marked_nodes.add(object);
27 }
28 @Override public void unmarkNode(GraphvizDecorable object) {
29 marked_nodes.remove(object);
30 }
31 @Override public void unmarkAllNodes() {
32 marked_nodes.clear();
33 }
34
35 @Override public void markEdge(GraphvizDecorable object) {
36 marked_edges.add(object);
37 }
38 @Override public void unmarkEdge(GraphvizDecorable object) {
39 marked_edges.remove(object);
40 }
41 @Override public void unmarkAllEdges() {
42 marked_edges.clear();
43 }
44
45 @Override public String getNodeDecoration(GraphvizDecorable object) {
46 if (object==hilit_node)
47 return hilit_node_style;
48 else if (marked_nodes.contains(object))
49 return marked_node_style;
50 else
51 return null;
52 }
53
54 @Override public String getEdgeDecoration(GraphvizDecorable object) {
55 if (object==hilit_edge)
56 return hilit_edge_style;
57 else if (marked_edges.contains(object))
58 return marked_edge_style;
59 else
60 return null;
61 }
62}
Interface for simple decorator with preset properties.
Example for a simple decorator.
HashSet< GraphvizDecorable > marked_nodes
void highlightEdge(GraphvizDecorable object)
Set highlighted edge.
void unmarkAllNodes()
unmark all nodes
String getNodeDecoration(GraphvizDecorable object)
get node decoration
GraphvizDecorable hilit_edge
void markEdge(GraphvizDecorable object)
void unmarkAllEdges()
unmark all edges
void unmarkEdge(GraphvizDecorable object)
unmark edge object
GraphvizDecorable hilit_node
String getEdgeDecoration(GraphvizDecorable object)
get node decoration
HashSet< GraphvizDecorable > marked_edges
void markNode(GraphvizDecorable object)
void unmarkNode(GraphvizDecorable object)
unmark node object
void highlightNode(GraphvizDecorable object)
Set highlighted node.
Interface for decorating items of Graphvizable objects.