Chris@0: . Chris@0: */ Chris@0: Chris@0: namespace Doctrine\Common; Chris@0: Chris@0: /** Chris@0: * EventArgs is the base class for classes containing event data. Chris@0: * Chris@0: * This class contains no event data. It is used by events that do not pass state Chris@0: * information to an event handler when an event is raised. The single empty EventArgs Chris@0: * instance can be obtained through {@link getEmptyInstance}. Chris@0: * Chris@0: * @link www.doctrine-project.org Chris@0: * @since 2.0 Chris@0: * @author Guilherme Blanco Chris@0: * @author Jonathan Wage Chris@0: * @author Roman Borschel Chris@0: */ Chris@0: class EventArgs Chris@0: { Chris@0: /** Chris@0: * Single instance of EventArgs. Chris@0: * Chris@0: * @var EventArgs Chris@0: */ Chris@0: private static $_emptyEventArgsInstance; Chris@0: Chris@0: /** Chris@0: * Gets the single, empty and immutable EventArgs instance. Chris@0: * Chris@0: * This instance will be used when events are dispatched without any parameter, Chris@0: * like this: EventManager::dispatchEvent('eventname'); Chris@0: * Chris@0: * The benefit from this is that only one empty instance is instantiated and shared Chris@0: * (otherwise there would be instances for every dispatched in the abovementioned form). Chris@0: * Chris@0: * @see EventManager::dispatchEvent Chris@0: * Chris@0: * @link http://msdn.microsoft.com/en-us/library/system.eventargs.aspx Chris@0: * Chris@0: * @return EventArgs Chris@0: */ Chris@0: public static function getEmptyInstance() Chris@0: { Chris@0: if ( ! self::$_emptyEventArgsInstance) { Chris@0: self::$_emptyEventArgsInstance = new EventArgs; Chris@0: } Chris@0: Chris@0: return self::$_emptyEventArgsInstance; Chris@0: } Chris@0: }