/** Finds VisualizerNode for given node. * @param ch the children this visualizer should belong to * @param n the node * @return the visualizer */ public static synchronized VisualizerNode getVisualizer (VisualizerChildren ch, Node n) { TEMPLATE.hashCode = System.identityHashCode (n); TEMPLATE.node = n; Reference r = (Reference)cache.get (TEMPLATE); TEMPLATE.hashCode = 0; TEMPLATE.node = null; VisualizerNode v = r == null ? null : (VisualizerNode)r.get (); if (v == null) { v = new VisualizerNode (n); cache.put (v, new WeakReference (v)); } if (ch != null) { v.parent = ch; } return v; }
/** Finds VisualizerNode for given node. * @param ch the children this visualizer should belong to * @param n the node * @return the visualizer */ public static synchronized VisualizerNode getVisualizer (VisualizerChildren ch, Node n) { TEMPLATE.hashCode = System.identityHashCode (n); TEMPLATE.node = n; Reference r = (Reference)cache.get (TEMPLATE); TEMPLATE.hashCode = 0; TEMPLATE.node = null; VisualizerNode v = r == null ? null : (VisualizerNode)r.get (); if (v == null) { v = new VisualizerNode (n); cache.put (v, new WeakReference (v)); } if (ch != null) { v.parent = ch; } return v; }
/** Finds VisualizerNode for given node. * @param ch the children this visualizer should belong to * @param n the node * @return the visualizer or null */ public static synchronized VisualizerNode getVisualizer(VisualizerChildren ch, Node n, boolean create) { TEMPLATE.hashCode = System.identityHashCode(n); TEMPLATE.node = n; Reference<VisualizerNode> r = cache.get(TEMPLATE); TEMPLATE.hashCode = 0; TEMPLATE.node = null; VisualizerNode v = (r == null) ? null : r.get(); if (v == null) { if (!create) { return null; } v = new VisualizerNode(n); cache.put(v, new WeakReference<VisualizerNode>(v)); } if (ch != null) { v.parent = ch; } return v; }