Home » tapestry-src-5.0.19 » org.apache.tapestry5.internal.event » [javadoc | source]

    1   // Copyright 2006, 2007 The Apache Software Foundation
    2   //
    3   // Licensed under the Apache License, Version 2.0 (the "License");
    4   // you may not use this file except in compliance with the License.
    5   // You may obtain a copy of the License at
    6   //
    7   //     http://www.apache.org/licenses/LICENSE-2.0
    8   //
    9   // Unless required by applicable law or agreed to in writing, software
   10   // distributed under the License is distributed on an "AS IS" BASIS,
   11   // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   12   // See the License for the specific language governing permissions and
   13   // limitations under the License.
   14   
   15   package org.apache.tapestry5.internal.event;
   16   
   17   import org.apache.tapestry5.internal.events.InvalidationListener;
   18   import static org.apache.tapestry5.ioc.internal.util.CollectionFactory.newThreadSafeList;
   19   
   20   import java.util.List;
   21   
   22   /**
   23    * Base implementation class for classes (especially services) that need to manage a list of {@link
   24    * org.apache.tapestry5.internal.events.InvalidationListener}s.
   25    */
   26   public class InvalidationEventHubImpl implements InvalidationEventHub
   27   {
   28       private final List<InvalidationListener> listeners = newThreadSafeList();
   29   
   30       /**
   31        * Notifies all {@link InvalidationListener listener}s.
   32        */
   33       protected final void fireInvalidationEvent()
   34       {
   35           for (InvalidationListener listener : listeners)
   36           {
   37               listener.objectWasInvalidated();
   38           }
   39       }
   40   
   41       public final void addInvalidationListener(InvalidationListener listener)
   42       {
   43           listeners.add(listener);
   44       }
   45   }

Home » tapestry-src-5.0.19 » org.apache.tapestry5.internal.event » [javadoc | source]