001    package org.LiveGraph.events;
002    
003    public class EventAnnotation {
004    
005    private EventListener listener;
006    private Object info;
007    
008    public EventAnnotation(EventListener listener, Object info) {
009            if (null == listener)
010                    throw new NullPointerException("May not create EventAnnotation for a null listener");
011            this.listener = listener;
012            this.info = info;
013    }
014    
015    public EventListener getListener() {
016            return listener;
017    }
018    
019    public Object getInfo() {
020            return info;
021    }
022    
023    @Override
024    public String toString() {
025            return "EventAnnotation {listener=("
026                            + listener.toString() + "); info=("
027                            + (null == info ? "null" : info.toString()) + ");}";
028    }
029    
030    @Override
031    public boolean equals(Object o) {
032            if (o == null)
033                    return false;
034            if (o instanceof EventAnnotation)
035                    return equals((EventAnnotation) o);
036            
037            return false;
038    }
039    
040    public boolean equals(EventAnnotation o) {
041            if (o == null)
042                    return false;
043            
044            return getListener().equals(o.getListener())
045                            && ( (getInfo() == o.getInfo()) || (getInfo().equals(o.getInfo())) );
046    }
047    
048    }