net.xqhs.graphs.representation.multilevel
Class MultilevelGraphRepresentation

java.lang.Object
  extended by net.xqhs.util.config.Config
      extended by net.xqhs.util.logging.Unit
          extended by net.xqhs.graphs.representation.GraphRepresentationImplementation
              extended by net.xqhs.graphs.representation.multilevel.MultilevelGraphRepresentation
All Implemented Interfaces:
GraphRepresentation, net.xqhs.util.config.Configurable
Direct Known Subclasses:
TextMultilevelGraphRepresentation

public abstract class MultilevelGraphRepresentation
extends GraphRepresentationImplementation

Author:
Andrei Olaru

Nested Class Summary
 
Nested classes/interfaces inherited from class net.xqhs.util.config.Config
net.xqhs.util.config.Config.ConfigLockedException
 
Field Summary
protected  java.util.List<java.util.Map<Node,Node>> levelNodes
          A List in which each item corresponds to a level.
protected  java.util.List<java.util.Map<Node,Graph>> theLevels
          A List in which each item corresponds to a level.
 
Fields inherited from class net.xqhs.graphs.representation.GraphRepresentationImplementation
parentRepresentation, theGraph, theRepresentation
 
Fields inherited from class net.xqhs.util.logging.Unit
DEFAULT_LEVEL, DEFAULT_UNIT_NAME
 
Constructor Summary
MultilevelGraphRepresentation(Graph graph, java.util.List<java.util.Map<Node,Node>> nodeLevels)
          Creates a new multi-level representation, based on the graph containing all nodes and the membership function between levels.
 
Method Summary
protected  void processGraph()
          Creates the theLevels member, based on levelNodes.
 
Methods inherited from class net.xqhs.graphs.representation.GraphRepresentationImplementation
displayRepresentation, getRepresentation, getRootRepresentation, setDefaultName, setParentRepresentation, setUnitName, update
 
Methods inherited from class net.xqhs.util.logging.Unit
compose, dbg, doExit, getDefaultUnitName, getUnitName, l, le, lf, li, lock, lockedR, lr, lr, lw, setLink, setLink, setLogDisplay, setLogEnsureNew, setLoggerClass, setLoggerType, setLoggerTypeClass, setLogLevel, setLogReporter, setUnitName
 
Methods inherited from class net.xqhs.util.config.Config
build, ensureLocked, locked, lockedEx, makeDefaults
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

levelNodes

protected java.util.List<java.util.Map<Node,Node>> levelNodes
A List in which each item corresponds to a level. Levels go bottom → top. An item in the list is a Map that represents the member function for nodes of the current level, as (node-on-the-current-level, node-on-the-next-level-this-node-belongs-to).

Though not necessary, an element exists for the last level, with all values null.


theLevels

protected java.util.List<java.util.Map<Node,Graph>> theLevels
A List in which each item corresponds to a level. Levels go bottom → top. Each item contains the graphs at the current level, having their corresponding nodes in the upper level as key.

An item is a Map that links a Node from the level above to a subgraph at the current level which corresponds to that Node.

Though not necessary, an element exists for the bottom level and is is an empty Map (for easier reading of code).

This member is built when processGraph() is called, based on levelNodes, by gathering up nodes belonging to the same node in the level above into the same Graph instance.

Constructor Detail

MultilevelGraphRepresentation

public MultilevelGraphRepresentation(Graph graph,
                                     java.util.List<java.util.Map<Node,Node>> nodeLevels)
Creates a new multi-level representation, based on the graph containing all nodes and the membership function between levels.

Parameters:
graph - - the Graph reuniting all nodes in the representation.
nodeLevels - - a List in which each item corresponds to a level, going from bottom level to top level. An item is a Map that represents the member function for nodes of the current level, as (node, node-on-the-next-level-this-node-belongs-to). An item for the last level of the graph should exist and have all values null.
Method Detail

processGraph

protected void processGraph()
Creates the theLevels member, based on levelNodes.

Overrides:
processGraph in class GraphRepresentationImplementation