Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.openjpa.event
Class LifecycleEventManager

    java.lang.Object
      org.apache.openjpa.event.LifecycleEventManager

All Implemented Interfaces:
  CallbackModes

    public class LifecycleEventManager

extends Object
implements CallbackModes

Manager that can be used to track and notify listeners on lifecycle events. This class is optimized for event firing rather than for adding and removing listeners, which are O(n) operations. This class also does not maintain perfect set semantics for listeners; it is possible to wind up having the same listener invoked multiple times for a single event if it is added to this manager multiple times with different classes, or with a base class and its subclass.

Since:
  0.3.3
Author:
  Steve Kim, Abe White

Nested Class Summary
`static interface` | `LifecycleEventManager.ListenerAdapter` Interface that facades to other lifecycle listener interfaces can implement to choose which events to respond to based on their delegate.
`static class` | `LifecycleEventManager.ListenerList` Extended list that tracks what event types its elements care about.

Field Summary

Fields inherited from interface org.apache.openjpa.event.CallbackModes
`CALLBACK_FAIL_FAST, CALLBACK_IGNORE, CALLBACK_LOG, CALLBACK_RETHROW, CALLBACK_ROLLBACK`

Constructor Summary
`LifecycleEventManager()`

Method Summary
`void` | `addListener(Object listener, Class[] classes)` Register a lifecycle listener for the given classes.
`Exception[]` | `fireEvent(Object source, ClassMetaData meta, int type)` Fire lifecycle event to all registered listeners without an argument.
`Exception[]` | `fireEvent(Object source, Object related, ClassMetaData meta, int type)` Fire lifecycle event to all registered listeners.
`boolean` | `hasAttachListeners(Object source, ClassMetaData meta)` Return whether there are listeners or callbacks for the given source.
`boolean` | `hasClearListeners(Object source, ClassMetaData meta)` Return whether there are listeners or callbacks for the given source.
`boolean` | `hasDeleteListeners(Object source, ClassMetaData meta)` Return whether there are listeners or callbacks for the given source.
`boolean` | `hasDetachListeners(Object source, ClassMetaData meta)` Return whether there are listeners or callbacks for the given source.
`boolean` | `hasDirtyListeners(Object source, ClassMetaData meta)` Return whether there are listeners or callbacks for the given source.
`boolean` | `hasLoadListeners(Object source, ClassMetaData meta)` Return whether there are listeners or callbacks for the given source.
`boolean` | `hasPersistListeners(Object source, ClassMetaData meta)` Return whether there are listeners or callbacks for the given source.
`boolean` | `hasStoreListeners(Object source, ClassMetaData meta)` Return whether there are listeners or callbacks for the given source.
`boolean` | `isFailFast()` Whether to fail after first exception when firing events to listeners.
`void` | `removeListener(Object listener)` Remove the given listener.
`void` | `setFailFast(boolean failFast)` Whether to fail after first exception when firing events to listeners.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### LifecycleEventManager

    public LifecycleEventManager()

Method Detail

### isFailFast

    public boolean isFailFast()

  Whether to fail after first exception when firing events to listeners.

### setFailFast

    public void setFailFast(boolean failFast)

  Whether to fail after first exception when firing events to listeners.

### addListener

    public void addListener(Object listener,
                            Class[] classes)

  Register a lifecycle listener for the given classes. If the classes array is null, register for all classes.

### removeListener

    public void removeListener(Object listener)

  Remove the given listener.

### hasPersistListeners

    public boolean hasPersistListeners(Object source,
                                       ClassMetaData meta)

  Return whether there are listeners or callbacks for the given source.

### hasDeleteListeners

    public boolean hasDeleteListeners(Object source,
                                      ClassMetaData meta)

  Return whether there are listeners or callbacks for the given source.

### hasClearListeners

    public boolean hasClearListeners(Object source,
                                     ClassMetaData meta)

  Return whether there are listeners or callbacks for the given source.

### hasLoadListeners

    public boolean hasLoadListeners(Object source,
                                    ClassMetaData meta)

  Return whether there are listeners or callbacks for the given source.

### hasStoreListeners

    public boolean hasStoreListeners(Object source,
                                     ClassMetaData meta)

  Return whether there are listeners or callbacks for the given source.

### hasDirtyListeners

    public boolean hasDirtyListeners(Object source,
                                     ClassMetaData meta)

  Return whether there are listeners or callbacks for the given source.

### hasDetachListeners

    public boolean hasDetachListeners(Object source,
                                      ClassMetaData meta)

  Return whether there are listeners or callbacks for the given source.

### hasAttachListeners

    public boolean hasAttachListeners(Object source,
                                      ClassMetaData meta)

  Return whether there are listeners or callbacks for the given source.

### fireEvent

    public Exception[] fireEvent(Object source,
                                 ClassMetaData meta,
                                 int type)

  Fire lifecycle event to all registered listeners without an argument.

### fireEvent

    public Exception[] fireEvent(Object source,
                                 Object related,
                                 ClassMetaData meta,
                                 int type)

  Fire lifecycle event to all registered listeners.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006 Apache Software Foundation. All Rights Reserved.