/** * Get the relationships in which this cell participates. * @return */ public DefaultGraphCell[] getRelationships() { // Temporal container. Vector relationContainer = new Vector(); // Search for relationships connected with cell ports. DefaultPort port = (DefaultPort)this.getChildAt(0); int k=0; while (k<this.getChildCount() && port != null) { if (port.edges().hasNext()) { DefaultEdge edge = (DefaultEdge) port.edges().next(); NAryEdge relation = (NAryEdge) ((DefaultPort) edge.getSource()).getParent(); relationContainer.add(relation); } port = (DefaultPort) this.getChildAt(k); k=k+1; } // Convert the Vector to DefaultGraphCell[]. DefaultGraphCell[] result = new DefaultGraphCell[relationContainer.size()]; for (int i = 0; i < relationContainer.size(); i++) result[i] = (NAryEdge) relationContainer.get(i); return result; }