Class AbstractFilterableEvent

    • Constructor Detail

      • AbstractFilterableEvent

        public AbstractFilterableEvent()
        Constructor initializing the event filter with an AlwaysMatchingEventFilter, meaning that this event will match any other event of the same type.
      • AbstractFilterableEvent

        public AbstractFilterableEvent​(String name)
        Constructor initializing the event filter with a FixedNameEventFilter, meaning that this event will match only events of the same type affecting the same passed name.
        Parameters:
        name - a generic name that uniquely identifies an event type
      • AbstractFilterableEvent

        public AbstractFilterableEvent​(EventFilter eventFilter)
        Constructor using a custom EventFilter.
        Parameters:
        eventFilter - the filter to use for matching events
    • Method Detail

      • matches

        public boolean matches​(Object otherEvent)
        Compares two events to see if they match, meaning that a listener that registered to receive notifications like referenceEvent will be notified of any occuring event for which referenceEvent.matches(occuringEvent) will return true. The matching algorithm depends on the event implementation. For example for Document events two events match if they implement the same event class and if their EventFilter match. Note that the implementation is left open in order to cater for all the possible ways this Observation component can be used.

        This type of events match only events of the same type, and only if the internal eventFilters also EventFilter.matches(EventFilter) match.

        Specified by:
        matches in interface Event
        Parameters:
        otherEvent - the occuring event matched against the current object
        Returns:
        true if the passed event matches this event, false otherwise.
        See Also:
        Event.matches(Object), EventFilter.matches(EventFilter)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object