Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Maintainer {
- private Map<Enum, List<Listener>> map;
- public Maintainer() {
- this.map = new java.util.ConcurrentHashMap<Enum, List<Listener>>();
- }
- public void addListener( Listener listener, Enum eventType ) {
- List<Listener> listeners;
- if( ( listeners = map.get( eventType ) ) == null ) {
- listeners = new java.util.concurrent.CopyOnWriteArrayList<Listener>();
- map.put( eventType, listeners );
- }
- listeners.add( listener );
- }
- }
- if( ( listeners = map.get( eventType ) ) == null ) {
- listeners = new java.util.concurrent.CopyOnWriteArrayList<Listener>();
- map.put( eventType, listeners );
- }
- listeners.add( listener );
- private Map<Enum, List<Listener>> map;
- ...
- map.put( eventType, listeners );
- private ConcurrentMap<Enum, List<Listener>> map;
- ...
- map.putIfAbsent( eventType, listeners );
- listeners = map.get( eventType );
- <bean id="maintainer" class="com.example.Maintainer"/>
- <bean id="listener" class="com.example.Listener"/>
- <bean id="maintainer.addListener" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
- <property name="targetObject" ref="maintainer"/>
- <property name="targetMethod" value="addListener"/>
- <property name="arguments">
- <list>
- <ref>listener</ref>
- <value>com.example.MyEnum</value>
- </list>
- </property>
- </bean>
- public interface MyListener extends Listener {
- public Enum[] getEventTypes()
- }
- public void addListener(MyListener listener)
- public @interface MyAnnotation {
- MyEnum value();
- }
Add Comment
Please, Sign In to add comment