CompositeListener composite = new CompositeListener(); composite.registerListener(listener1); composite.registerListener(listener2); component.setOnEventListener(composite);
/** Return all the listeners in the composite */ public Object[][] getData() { if (isEmpty()) return null; int numListeners=getNumListeners(); List list=new ArrayList(); for (int i=0;i<numListeners;i++) { add(list, getListenerData(getListener(i))); } return toArray(list); }
public Object[][] getData() { synchronized(lockObj) { if (listener==null) return null; else if (listener instanceof CompositeListener) { CompositeListener compListener=(CompositeListener) listener; return compListener.getData(); } else return new CompositeListener().addListener(listener).getData(); } }
/** Add the listener to the addTo listener. If addto is already a composite * listener simply add it. If it is not then create a new CompositeListener * and add the current listener as well as the new one being passed in to the new * CompositeListener. Note this code is only called if there is already a Listener */ private CompositeListener addCompositeListener(JAMonListener listenerToAdd) { if (listener instanceof CompositeListener) return ((CompositeListener) listener).addListener(listenerToAdd); else return new CompositeListener().addListener(listener).addListener( listenerToAdd); }
/** Remove the named listener from this CompositeListener */ public CompositeListener removeListener(String listenerName) { int rows=getNumListeners(); for (int i=0;i<rows;i++) { JAMonListener listener=(JAMonListener) listenerList.get(i); String name=listener.getName(); if (listenerName.equalsIgnoreCase(name)) { listenerList.remove(i); break; } else if (listener instanceof CompositeListener && ((CompositeListener)listener).hasListener(listenerName)) { ((CompositeListener)listener).removeListener(listenerName); break; } } return this; }
public void removeListener(String listenerName) { synchronized(lockObj) { // if passed value, max, min, or maxactive if (listener==null) return; else if (listener.getName().equalsIgnoreCase(listenerName)) listener=null; else if (listener instanceof CompositeListener) { CompositeListener compListener = (CompositeListener) listener; compListener.removeListener(listenerName); // If the composite listener is empty nullify it // else if it has one listener use it by itself and get rid // of the CompositeListener. if (compListener.getNumListeners() == 0) listener=null; else if (compListener.getNumListeners() == 1) listener=compListener.getListener(0);// get the only listener } } }
public String[] getHeader() { synchronized(lockObj) { if (listener instanceof CompositeListener) { CompositeListener compListener=(CompositeListener) listener; return compListener.getHeader(); } else return new CompositeListener().getHeader(); } }
/** return true if the named listener exists */ public boolean hasListener(String listenerName) { int rows=getNumListeners(); for (int i=0;i<rows;i++) { JAMonListener listener=(JAMonListener) listenerList.get(i); String name=listener.getName(); if (listenerName.equalsIgnoreCase(name)) return true; else if (listener instanceof CompositeListener) { return ((CompositeListener)listener).hasListener(listenerName); } } return false; }
public JAMonListener getListener(String listenerName) { int rows=getNumListeners(); for (int i=0;i<rows;i++) { JAMonListener listener=(JAMonListener) listenerList.get(i); String name=listener.getName(); if (listenerName.equalsIgnoreCase(name)) return listener; else if (listener instanceof CompositeListener) { listener = ((CompositeListener)listener).getListener(listenerName); if (listener!=null) return listener; } } return null; }
/** Add a listener to the composite and return this object */ public CompositeListener addListener(JAMonListener listener) { // added a check to not have the same listener name like FIFOBuffer. This will allow for one time initialization of // a listener such as a FIFOBuffer on an exception monitor. Repeat adding of a listener with this name // will have no effect. This is useful if different parts of the program initialize an exception listener for example. if (listener instanceof CompositeListener || !hasListener(listener.getName())) { listenerList.add(listener); } return this; }
public static void main(String[] args) { put(new CompositeListener("tester")); put(new JAMonBufferListener("helloListener", new BufferList(new String[]{"hey"},200))); String[] header=getHeader(); Object[][] data=getData(); for (int i=0;i<data.length;i++) for (int j=0;j<data[i].length;j++) System.out.println(header[j]+"="+data[i][j]); System.out.println("\ngetting listener="+get("JAMonBufferListener")); JAMonBufferListener jbl=(JAMonBufferListener)get("helloListener"); System.out.println("name="+jbl.getName()+", buffer="+jbl.getBufferList().getBufferSize()); }
private Object[][] getListenerData(JAMonListener listener) { if (listener instanceof CompositeListener) return ((CompositeListener)listener).getData(); else return new Object[][]{{listener.getName()}}; }
public JAMonListener getListener(String listenerName) { synchronized(lockObj) { // first look at listener to see if it is named that. if this doesn't match // and if it is composite listener and it has a child of given name then // return it. if (listener == null) return null; else if (listener.getName().equalsIgnoreCase(listenerName)) return listener; else if (listener instanceof CompositeListener) return ((CompositeListener) listener) .getListener(listenerName); else return null; } }
/** Also returns the number of listeners */ public int getRowCount() { return getNumListeners(); }
public boolean hasData() { return !isEmpty(); }
public Object[][] getData() { if (isEmpty()) return null; int numListeners=getNumListeners(); List list=new ArrayList(); for (int i=0;i<numListeners;i++) { add(list, getListenerData(getListener(i))); } return toArray(list); }
public static Object[][] getData(JAMonListener listener) { if (listener==null) return null; // don't need to wrap listener if it is already a compositelistener, but // it makes the following code easier. return new CompositeListener().addListener(listener).getData(); }
private CompositeListener addCompositeListener(JAMonListener listenerToAdd) { if (listener instanceof CompositeListener) return ((CompositeListener) listener).addListener(listenerToAdd); else return new CompositeListener().addListener(listener).addListener( listenerToAdd); }
/** Remove the named listener from this CompositeListener */ public CompositeListener removeListener(String listenerName) { int rows=getNumListeners(); for (int i=0;i<rows;i++) { JAMonListener listener=(JAMonListener) listenerList.get(i); String name=listener.getName(); if (listenerName.equalsIgnoreCase(name)) { listenerList.remove(i); break; } else if (listener instanceof CompositeListener && ((CompositeListener)listener).hasListener(listenerName)) { ((CompositeListener)listener).removeListener(listenerName); break; } } return this; }
/** Remove the named listener */ public void removeListener(String listenerName) { synchronized(lockObj) { // if passed value, max, min, or maxactive if (listener==null) return; else if (listener.getName().equalsIgnoreCase(listenerName)) listener=null; else if (listener instanceof CompositeListener) { CompositeListener compListener = (CompositeListener) listener; compListener.removeListener(listenerName); // If the composite listener is empty nullify it // else if it has one listener use it by itself and get rid // of the CompositeListener. if (compListener.getNumListeners() == 0) listener=null; else if (compListener.getNumListeners() == 1) listener=compListener.getListener(0);// get the only listener } } }