1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
/* * @(#)EventDirContext.java 1.8 03/12/19 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package javax.naming.event; import javax.naming.Name; import javax.naming.NamingException; import javax.naming.directory.DirContext; import javax.naming.directory.SearchControls; /** * Contains methods for registering listeners to be notified * of events fired when objects named in a directory context changes. *<p> * The methods in this interface support identification of objects by * <A HREF="ftp://ftp.isi.edu/in-notes/rfc2254.txt">RFC 2254</a> * search filters. * *<P>Using the search filter, it is possible to register interest in objects * that do not exist at the time of registration but later come into existence and * satisfy the filter. However, there might be limitations in the extent * to which this can be supported by the service provider and underlying * protocol/service. If the caller submits a filter that cannot be * supported in this way, <tt>addNamingListener()</tt> throws an * <tt>InvalidSearchFilterException</tt>. *<p> * See <tt>EventContext</tt> for a description of event source * and target, and information about listener registration/deregistration * that are also applicable to methods in this interface. * See the * <a href=package-summary.html#THREADING>package description</a> * for information on threading issues. *<p> * A <tt>SearchControls</tt> or array object * passed as a parameter to any method is owned by the caller. * The service provider will not modify the object or keep a reference to it. * * @author Rosanna Lee * @author Scott Seligman * @version 1.8 03/12/19 * @since 1.3 */ public interface EventDirContext extends EventContext, DirContext { /** * Adds a listener for receiving naming events fired * when objects identified by the search filter <tt>filter</tt> at * the object named by target are modified. * <p> * The scope, returningObj flag, and returningAttributes flag from * the search controls <tt>ctls</tt> are used to control the selection * of objects that the listener is interested in, * and determines what information is returned in the eventual * <tt>NamingEvent</tt> object. Note that the requested * information to be returned might not be present in the <tt>NamingEvent</tt> * object if they are unavailable or could not be obtained by the * service provider or service. * * @param target The nonnull name of the object resolved relative to this context. * @param filter The nonnull string filter (see RFC2254). * @param ctls The possibly null search controls. If null, the default * search controls are used. * @param l The nonnull listener. * @exception NamingException If a problem was encountered while * adding the listener. * @see EventContext#removeNamingListener * @see javax.naming.directory.DirContext#search(javax.naming.Name, java.lang.String, javax.naming.directory.SearchControls) */ void addNamingListener(Name target, String filter, SearchControls ctls, NamingListener l) throws NamingException; /** * Adds a listener for receiving naming events fired when * objects identified by the search filter <tt>filter</tt> at the * object named by the string target name are modified. * See the overload that accepts a <tt>Name</tt> for details of * how this method behaves. * * @param target The nonnull string name of the object resolved relative to this context. * @param filter The nonnull string filter (see RFC2254). * @param ctls The possibly null search controls. If null, the default * search controls is used. * @param l The nonnull listener. * @exception NamingException If a problem was encountered while * adding the listener. * @see EventContext#removeNamingListener * @see javax.naming.directory.DirContext#search(java.lang.String, java.lang.String, javax.naming.directory.SearchControls) */ void addNamingListener(String target, String filter, SearchControls ctls, NamingListener l) throws NamingException; /** * Adds a listener for receiving naming events fired * when objects identified by the search filter <tt>filter</tt> and * filter arguments at the object named by the target are modified. * The scope, returningObj flag, and returningAttributes flag from * the search controls <tt>ctls</tt> are used to control the selection * of objects that the listener is interested in, * and determines what information is returned in the eventual * <tt>NamingEvent</tt> object. Note that the requested * information to be returned might not be present in the <tt>NamingEvent</tt> * object if they are unavailable or could not be obtained by the * service provider or service. * * @param target The nonnull name of the object resolved relative to this context. * @param filter The nonnull string filter (see RFC2254). * @param filterArgs The possibly null array of arguments for the filter. * @param ctls The possibly null search controls. If null, the default * search controls are used. * @param l The nonnull listener. * @exception NamingException If a problem was encountered while * adding the listener. * @see EventContext#removeNamingListener * @see javax.naming.directory.DirContext#search(javax.naming.Name, java.lang.String, java.lang.Object[], javax.naming.directory.SearchControls) */ void addNamingListener(Name target, String filter, Object[] filterArgs, SearchControls ctls, NamingListener l) throws NamingException; /** * Adds a listener for receiving naming events fired when * objects identified by the search filter <tt>filter</tt> * and filter arguments at the * object named by the string target name are modified. * See the overload that accepts a <tt>Name</tt> for details of * how this method behaves. * * @param target The nonnull string name of the object resolved relative to this context. * @param filter The nonnull string filter (see RFC2254). * @param filterArgs The possibly null array of arguments for the filter. * @param ctls The possibly null search controls. If null, the default * search controls is used. * @param l The nonnull listener. * @exception NamingException If a problem was encountered while * adding the listener. * @see EventContext#removeNamingListener * @see javax.naming.directory.DirContext#search(java.lang.String, java.lang.String, java.lang.Object[], javax.naming.directory.SearchControls) */ void addNamingListener(String target, String filter, Object[] filterArgs, SearchControls ctls, NamingListener l) throws NamingException; }