View Javadoc
1 package com.bonevich.erj.diagram; 2 3 import com.bonevich.erj.model.*; 4 5 import org.tigris.gef.graph.*; 6 import org.tigris.gef.presentation.*; 7 import org.tigris.gef.base.*; 8 9 /*** This class defines the mapping of model elements to their 10 * graphical representation. 11 */ 12 13 public class ERDiagramGraphRenderer 14 implements GraphNodeRenderer, GraphEdgeRenderer 15 { 16 /*** Return a Fig that can be used to represent the given node */ 17 public FigNode getFigNodeFor(GraphModel gm, Layer lay, Object node) 18 { 19 if (!(node instanceof Relation)) return null; 20 FigNode fig = new FigRelation(gm, node); 21 return fig; 22 } 23 24 /*** Return a Fig that can be used to represent the given edge */ 25 public FigEdge getFigEdgeFor(GraphModel gm, Layer lay, Object edge) 26 { 27 if (!(edge instanceof ForeignKey)) return null; 28 if (!(gm instanceof ERDiagramGraphModel)) return null; 29 ERDiagramGraphModel erdgm = (ERDiagramGraphModel) gm; 30 Object srcPort = erdgm.getSourcePort(edge); 31 Object dstPort = erdgm.getDestPort(edge); 32 Object srcNode = erdgm.getOwner(srcPort); 33 Object dstNode = erdgm.getOwner(dstPort); 34 if (srcPort != null && dstPort != null && srcNode != null && dstNode != null && 35 srcPort instanceof Relation && dstPort instanceof Relation && 36 srcNode instanceof Relation && dstNode instanceof Relation) 37 { 38 FigNode srcNodeFig = (FigNode)lay.presentationFor(srcNode); 39 FigNode dstNodeFig = (FigNode)lay.presentationFor(dstNode); 40 Fig srcPortFig = srcNodeFig.getPortFig(srcPort); 41 Fig dstPortFig = dstNodeFig.getPortFig(dstPort); 42 FigEdge fig = new FigForeignKey(srcPortFig, dstPortFig, srcNodeFig, dstNodeFig, edge); 43 return fig; 44 } else { 45 return null; 46 } 47 } 48 } /* end class ERDiagramGraphRenderer */

This page was automatically generated by Maven