Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


org.eclipse.emf.transaction
Class NotificationFilter

java.lang.Object
  extended by 
org.eclipse.emf.transaction.NotificationFilter
Direct Known Subclasses:
NotificationFilter.Custom

public abstract class NotificationFilter
extends Object

A filter that determines which Notifications will be passed to ResourceSetListeners. Filters can be combined using simple boolean operations.

The default filter for listeners that do not otherwise declare one is NOT_TOUCH.

Note that ResourceSetListeners never receive Notification.REMOVING_ADAPTER notifications because these are intended only to inform an adapter that it is being removed; they are not broadcast to all adapters of an object. Besides which, resource set listeners are not adapters.

Since the EMF Transaction 1.3 release, clients can implement arbitrary filter criteria by specializing the NotificationFilter.Custom class.

See Also:
ResourceSetListener, Notification

Nested Class Summary
static class NotificationFilter.Custom
          A custom notification filter, implementing user-defined selection criteria.
 
Field Summary
static  NotificationFilter ANY
          As its name implies, this filter matches any notification.
static  NotificationFilter NOT_TOUCH
          Matches only notifications that are not "touches."
static  NotificationFilter READ
          Matches any notification that can occur during the normal course of a read-only transaction.
static  NotificationFilter RESOURCE_LOADED
          A filter matching "resource loaded" events.
static  NotificationFilter RESOURCE_UNLOADED
          A filter matching "resource unloaded" events.
 
Method Summary
  NotificationFilter and ( NotificationFilter other)
          Creates a new filter combining me with another as a boolean conjunction.
static  NotificationFilter createEventTypeFilter (int eventType)
          Creates a filter matching any notification of the specified type.
static  NotificationFilter createFeatureFilter ( Class<?> ownerType, int featureId)
          Creates a filter matching any notification from the specified feature.
static  NotificationFilter createFeatureFilter ( EClassifier ownerType, int featureId)
          Creates a filter matching any notification from the specified feature.
static  NotificationFilter createFeatureFilter ( EStructuralFeature feature)
          Creates a filter matching any notification from the specified feature.
static  NotificationFilter createNotifierFilter ( Object notifier)
          Creates a filter matching any notification from the specified notifier.
static  NotificationFilter createNotifierTypeFilter ( Class<?> type)
          Creates a filter matching notifications from any instance of the specified type.
static  NotificationFilter createNotifierTypeFilter ( EClassifier type)
          Creates a filter matching notifications from any instance of the specified type.
static  NotificationFilter createResourceContentTypeFilter ( String contentType)
          Creates a filter matches any notification from a resource of the specified content type.
abstract  boolean matches ( Notification notification)
          Determines whether a notification matches my filtering criteria.
  NotificationFilter negated ()
          Creates a new filter that is the boolean negation of me.
  NotificationFilter or ( NotificationFilter other)
          Creates a new filter combining me with another as a boolean disjunction.
 
Methods inherited from class java.lang. Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ANY

public static final 
NotificationFilter ANY
As its name implies, this filter matches any notification.


NOT_TOUCH

public static final 
NotificationFilter NOT_TOUCH
Matches only notifications that are not "touches."

See Also:
Notification.isTouch()

READ

public static final 
NotificationFilter READ
Matches any notification that can occur during the normal course of a read-only transaction. These include:
  • proxy resolution
  • any change to the resources list of a resource set
  • any change to the isLoaded, isModified, URI, errors, warnings, and resourceSet features of a resource
  • any change to the contents of a resource while it is loading or unloading


RESOURCE_LOADED

public static final 
NotificationFilter RESOURCE_LOADED
A filter matching "resource loaded" events.


RESOURCE_UNLOADED

public static final 
NotificationFilter RESOURCE_UNLOADED
A filter matching "resource unloaded" events.

Method Detail

createResourceContentTypeFilter

public static 
NotificationFilter createResourceContentTypeFilter(
String contentType)
Creates a filter matches any notification from a resource of the specified content type. Because the determination of a resource's content type is costly, it is cached on the resource via an adapter and is cleared on any change to the resource's contents or other properties.

Parameters:
contentType - the content type identifier to match
Returns:
the filter
Throws:
IllegalArgumentException - if the specified content type is not defined
See Also:
IContentType

createNotifierFilter

public static 
NotificationFilter createNotifierFilter(
Object notifier)
Creates a filter matching any notification from the specified notifier.

Parameters:
notifier - a notifier (usually an EObject, Resource, or ResourceSet
Returns:
the filter

createEventTypeFilter

public static 
NotificationFilter createEventTypeFilter(int eventType)
Creates a filter matching any notification of the specified type.

Parameters:
eventType - the notification type (as defined by the Notification interface)
Returns:
the filter

createFeatureFilter

public static 
NotificationFilter createFeatureFilter(
EStructuralFeature feature)
Creates a filter matching any notification from the specified feature.

Parameters:
feature - a structural feature meta-object
Returns:
the filter

createFeatureFilter

public static 
NotificationFilter createFeatureFilter(
Class<?> ownerType,
                                                     int featureId)
Creates a filter matching any notification from the specified feature. This variant is useful for notifiers that are not modeled via Ecore.

Parameters:
ownerType - the notifier type as a Java class or interface
featureId - the feature's numeric ID
Returns:
the filter

createFeatureFilter

public static 
NotificationFilter createFeatureFilter(
EClassifier ownerType,
                                                     int featureId)
Creates a filter matching any notification from the specified feature. This variant is useful for notifiers that are not modeled as EClasses. For example, this supports the features of the Resource data type.

Parameters:
ownerType - the notifier type as an Ecore classifier
featureId - the feature's numeric ID
Returns:
the filter

createNotifierTypeFilter

public static 
NotificationFilter createNotifierTypeFilter(
Class<?> type)
Creates a filter matching notifications from any instance of the specified type. This variant is useful for notifiers that are not modeled via Ecore.

Parameters:
type - the notifier type as a Java class or interface
Returns:
the filter

createNotifierTypeFilter

public static 
NotificationFilter createNotifierTypeFilter(
EClassifier type)
Creates a filter matching notifications from any instance of the specified type. This variant is useful for notifiers that are modeled via Ecore.

Parameters:
type - the notifier type as an Ecore classifier
Returns:
the filter

and

public final 
NotificationFilter and(
NotificationFilter other)
Creates a new filter combining me with another as a boolean conjunction. The "and" operation short-circuits; the other filter is not consulted when I (the first filter) do not match.

Parameters:
other - another filter (must not be null)
Returns:
a new "and" filter

or

public final 
NotificationFilter or(
NotificationFilter other)
Creates a new filter combining me with another as a boolean disjunction. The "or" operation short-circuits; the other filter is not consulted when I (the first filter) match.

Parameters:
other - another filter (must not be null)
Returns:
a new "or" filter

negated

public final 
NotificationFilter negated()
Creates a new filter that is the boolean negation of me.

Returns:
the opposite of me

matches

public abstract boolean matches(
Notification notification)
Determines whether a notification matches my filtering criteria. Notifications that match are passed to the listener for which I am filtering.

Parameters:
notification - a notification
Returns:
true if the notification should be passed to my listener; false, otherwise

Copyright 2002, 2007 IBM Corporation and others.
All Rights Reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire