001/*
002 * CDDL HEADER START
003 *
004 * The contents of this file are subject to the terms of the
005 * Common Development and Distribution License, Version 1.0 only
006 * (the "License").  You may not use this file except in compliance
007 * with the License.
008 *
009 * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
010 * or http://forgerock.org/license/CDDLv1.0.html.
011 * See the License for the specific language governing permissions
012 * and limitations under the License.
013 *
014 * When distributing Covered Code, include this CDDL HEADER in each
015 * file and include the License file at legal-notices/CDDLv1_0.txt.
016 * If applicable, add the following below this CDDL HEADER, with the
017 * fields enclosed by brackets "[]" replaced with your own identifying
018 * information:
019 *      Portions Copyright [yyyy] [name of copyright owner]
020 *
021 * CDDL HEADER END
022 *
023 *
024 *      Copyright 2008 Sun Microsystems, Inc.
025 */
026package org.forgerock.opendj.server.config.meta;
027
028
029
030import java.util.Collection;
031import java.util.SortedSet;
032import org.forgerock.opendj.config.AdministratorAction;
033import org.forgerock.opendj.config.BooleanPropertyDefinition;
034import org.forgerock.opendj.config.client.ConcurrentModificationException;
035import org.forgerock.opendj.config.client.ManagedObject;
036import org.forgerock.opendj.config.client.MissingMandatoryPropertiesException;
037import org.forgerock.opendj.config.client.OperationRejectedException;
038import org.forgerock.opendj.config.DNPropertyDefinition;
039import org.forgerock.opendj.config.EnumPropertyDefinition;
040import org.forgerock.opendj.config.IntegerPropertyDefinition;
041import org.forgerock.opendj.config.IPAddressMaskPropertyDefinition;
042import org.forgerock.opendj.config.ManagedObjectAlreadyExistsException;
043import org.forgerock.opendj.config.ManagedObjectDefinition;
044import org.forgerock.opendj.config.PropertyOption;
045import org.forgerock.opendj.config.PropertyProvider;
046import org.forgerock.opendj.config.server.ConfigurationChangeListener;
047import org.forgerock.opendj.config.server.ServerManagedObject;
048import org.forgerock.opendj.config.StringPropertyDefinition;
049import org.forgerock.opendj.config.Tag;
050import org.forgerock.opendj.config.TopCfgDefn;
051import org.forgerock.opendj.config.UndefinedDefaultBehaviorProvider;
052import org.forgerock.opendj.ldap.AddressMask;
053import org.forgerock.opendj.ldap.DN;
054import org.forgerock.opendj.ldap.LdapException;
055import org.forgerock.opendj.server.config.client.AccessLogFilteringCriteriaCfgClient;
056import org.forgerock.opendj.server.config.server.AccessLogFilteringCriteriaCfg;
057
058
059
060/**
061 * An interface for querying the Access Log Filtering Criteria managed
062 * object definition meta information.
063 * <p>
064 * A set of rules which together determine whether a log record should
065 * be logged or not.
066 */
067public final class AccessLogFilteringCriteriaCfgDefn extends ManagedObjectDefinition<AccessLogFilteringCriteriaCfgClient, AccessLogFilteringCriteriaCfg> {
068
069  /** The singleton configuration definition instance. */
070  private static final AccessLogFilteringCriteriaCfgDefn INSTANCE = new AccessLogFilteringCriteriaCfgDefn();
071
072
073
074  /**
075   * Defines the set of permissable values for the "log-record-type" property.
076   * <p>
077   * Filters log records based on their type.
078   */
079  public static enum LogRecordType {
080
081    /**
082     * Abandon operations
083     */
084    ABANDON("abandon"),
085
086
087
088    /**
089     * Add operations
090     */
091    ADD("add"),
092
093
094
095    /**
096     * Bind operations
097     */
098    BIND("bind"),
099
100
101
102    /**
103     * Compare operations
104     */
105    COMPARE("compare"),
106
107
108
109    /**
110     * Client connections
111     */
112    CONNECT("connect"),
113
114
115
116    /**
117     * Delete operations
118     */
119    DELETE("delete"),
120
121
122
123    /**
124     * Client disconnections
125     */
126    DISCONNECT("disconnect"),
127
128
129
130    /**
131     * Extended operations
132     */
133    EXTENDED("extended"),
134
135
136
137    /**
138     * Modify operations
139     */
140    MODIFY("modify"),
141
142
143
144    /**
145     * Rename operations
146     */
147    RENAME("rename"),
148
149
150
151    /**
152     * Search operations
153     */
154    SEARCH("search"),
155
156
157
158    /**
159     * Unbind operations
160     */
161    UNBIND("unbind");
162
163
164
165    /** String representation of the value. */
166    private final String name;
167
168
169
170    /** Private constructor. */
171    private LogRecordType(String name) { this.name = name; }
172
173
174
175    /** {@inheritDoc} */
176    public String toString() { return name; }
177
178  }
179
180
181
182  /** The "connection-client-address-equal-to" property definition. */
183  private static final IPAddressMaskPropertyDefinition PD_CONNECTION_CLIENT_ADDRESS_EQUAL_TO;
184
185
186
187  /** The "connection-client-address-not-equal-to" property definition. */
188  private static final IPAddressMaskPropertyDefinition PD_CONNECTION_CLIENT_ADDRESS_NOT_EQUAL_TO;
189
190
191
192  /** The "connection-port-equal-to" property definition. */
193  private static final IntegerPropertyDefinition PD_CONNECTION_PORT_EQUAL_TO;
194
195
196
197  /** The "connection-protocol-equal-to" property definition. */
198  private static final StringPropertyDefinition PD_CONNECTION_PROTOCOL_EQUAL_TO;
199
200
201
202  /** The "log-record-type" property definition. */
203  private static final EnumPropertyDefinition<LogRecordType> PD_LOG_RECORD_TYPE;
204
205
206
207  /** The "request-target-dn-equal-to" property definition. */
208  private static final StringPropertyDefinition PD_REQUEST_TARGET_DN_EQUAL_TO;
209
210
211
212  /** The "request-target-dn-not-equal-to" property definition. */
213  private static final StringPropertyDefinition PD_REQUEST_TARGET_DN_NOT_EQUAL_TO;
214
215
216
217  /** The "response-etime-greater-than" property definition. */
218  private static final IntegerPropertyDefinition PD_RESPONSE_ETIME_GREATER_THAN;
219
220
221
222  /** The "response-etime-less-than" property definition. */
223  private static final IntegerPropertyDefinition PD_RESPONSE_ETIME_LESS_THAN;
224
225
226
227  /** The "response-result-code-equal-to" property definition. */
228  private static final IntegerPropertyDefinition PD_RESPONSE_RESULT_CODE_EQUAL_TO;
229
230
231
232  /** The "response-result-code-not-equal-to" property definition. */
233  private static final IntegerPropertyDefinition PD_RESPONSE_RESULT_CODE_NOT_EQUAL_TO;
234
235
236
237  /** The "search-response-is-indexed" property definition. */
238  private static final BooleanPropertyDefinition PD_SEARCH_RESPONSE_IS_INDEXED;
239
240
241
242  /** The "search-response-nentries-greater-than" property definition. */
243  private static final IntegerPropertyDefinition PD_SEARCH_RESPONSE_NENTRIES_GREATER_THAN;
244
245
246
247  /** The "search-response-nentries-less-than" property definition. */
248  private static final IntegerPropertyDefinition PD_SEARCH_RESPONSE_NENTRIES_LESS_THAN;
249
250
251
252  /** The "user-dn-equal-to" property definition. */
253  private static final StringPropertyDefinition PD_USER_DN_EQUAL_TO;
254
255
256
257  /** The "user-dn-not-equal-to" property definition. */
258  private static final StringPropertyDefinition PD_USER_DN_NOT_EQUAL_TO;
259
260
261
262  /** The "user-is-member-of" property definition. */
263  private static final DNPropertyDefinition PD_USER_IS_MEMBER_OF;
264
265
266
267  /** The "user-is-not-member-of" property definition. */
268  private static final DNPropertyDefinition PD_USER_IS_NOT_MEMBER_OF;
269
270
271
272  /** Build the "connection-client-address-equal-to" property definition. */
273  static {
274      IPAddressMaskPropertyDefinition.Builder builder = IPAddressMaskPropertyDefinition.createBuilder(INSTANCE, "connection-client-address-equal-to");
275      builder.setOption(PropertyOption.MULTI_VALUED);
276      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "connection-client-address-equal-to"));
277      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<AddressMask>());
278      PD_CONNECTION_CLIENT_ADDRESS_EQUAL_TO = builder.getInstance();
279      INSTANCE.registerPropertyDefinition(PD_CONNECTION_CLIENT_ADDRESS_EQUAL_TO);
280  }
281
282
283
284  /** Build the "connection-client-address-not-equal-to" property definition. */
285  static {
286      IPAddressMaskPropertyDefinition.Builder builder = IPAddressMaskPropertyDefinition.createBuilder(INSTANCE, "connection-client-address-not-equal-to");
287      builder.setOption(PropertyOption.MULTI_VALUED);
288      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "connection-client-address-not-equal-to"));
289      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<AddressMask>());
290      PD_CONNECTION_CLIENT_ADDRESS_NOT_EQUAL_TO = builder.getInstance();
291      INSTANCE.registerPropertyDefinition(PD_CONNECTION_CLIENT_ADDRESS_NOT_EQUAL_TO);
292  }
293
294
295
296  /** Build the "connection-port-equal-to" property definition. */
297  static {
298      IntegerPropertyDefinition.Builder builder = IntegerPropertyDefinition.createBuilder(INSTANCE, "connection-port-equal-to");
299      builder.setOption(PropertyOption.MULTI_VALUED);
300      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "connection-port-equal-to"));
301      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<Integer>());
302      builder.setUpperLimit(65535);
303      builder.setLowerLimit(1);
304      PD_CONNECTION_PORT_EQUAL_TO = builder.getInstance();
305      INSTANCE.registerPropertyDefinition(PD_CONNECTION_PORT_EQUAL_TO);
306  }
307
308
309
310  /** Build the "connection-protocol-equal-to" property definition. */
311  static {
312      StringPropertyDefinition.Builder builder = StringPropertyDefinition.createBuilder(INSTANCE, "connection-protocol-equal-to");
313      builder.setOption(PropertyOption.MULTI_VALUED);
314      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "connection-protocol-equal-to"));
315      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<String>());
316      builder.setPattern("[a-zA-Z0-9]+", "NAME");
317      PD_CONNECTION_PROTOCOL_EQUAL_TO = builder.getInstance();
318      INSTANCE.registerPropertyDefinition(PD_CONNECTION_PROTOCOL_EQUAL_TO);
319  }
320
321
322
323  /** Build the "log-record-type" property definition. */
324  static {
325      EnumPropertyDefinition.Builder<LogRecordType> builder = EnumPropertyDefinition.createBuilder(INSTANCE, "log-record-type");
326      builder.setOption(PropertyOption.MULTI_VALUED);
327      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "log-record-type"));
328      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<LogRecordType>());
329      builder.setEnumClass(LogRecordType.class);
330      PD_LOG_RECORD_TYPE = builder.getInstance();
331      INSTANCE.registerPropertyDefinition(PD_LOG_RECORD_TYPE);
332  }
333
334
335
336  /** Build the "request-target-dn-equal-to" property definition. */
337  static {
338      StringPropertyDefinition.Builder builder = StringPropertyDefinition.createBuilder(INSTANCE, "request-target-dn-equal-to");
339      builder.setOption(PropertyOption.MULTI_VALUED);
340      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "request-target-dn-equal-to"));
341      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<String>());
342      PD_REQUEST_TARGET_DN_EQUAL_TO = builder.getInstance();
343      INSTANCE.registerPropertyDefinition(PD_REQUEST_TARGET_DN_EQUAL_TO);
344  }
345
346
347
348  /** Build the "request-target-dn-not-equal-to" property definition. */
349  static {
350      StringPropertyDefinition.Builder builder = StringPropertyDefinition.createBuilder(INSTANCE, "request-target-dn-not-equal-to");
351      builder.setOption(PropertyOption.MULTI_VALUED);
352      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "request-target-dn-not-equal-to"));
353      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<String>());
354      PD_REQUEST_TARGET_DN_NOT_EQUAL_TO = builder.getInstance();
355      INSTANCE.registerPropertyDefinition(PD_REQUEST_TARGET_DN_NOT_EQUAL_TO);
356  }
357
358
359
360  /** Build the "response-etime-greater-than" property definition. */
361  static {
362      IntegerPropertyDefinition.Builder builder = IntegerPropertyDefinition.createBuilder(INSTANCE, "response-etime-greater-than");
363      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "response-etime-greater-than"));
364      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<Integer>());
365      PD_RESPONSE_ETIME_GREATER_THAN = builder.getInstance();
366      INSTANCE.registerPropertyDefinition(PD_RESPONSE_ETIME_GREATER_THAN);
367  }
368
369
370
371  /** Build the "response-etime-less-than" property definition. */
372  static {
373      IntegerPropertyDefinition.Builder builder = IntegerPropertyDefinition.createBuilder(INSTANCE, "response-etime-less-than");
374      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "response-etime-less-than"));
375      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<Integer>());
376      PD_RESPONSE_ETIME_LESS_THAN = builder.getInstance();
377      INSTANCE.registerPropertyDefinition(PD_RESPONSE_ETIME_LESS_THAN);
378  }
379
380
381
382  /** Build the "response-result-code-equal-to" property definition. */
383  static {
384      IntegerPropertyDefinition.Builder builder = IntegerPropertyDefinition.createBuilder(INSTANCE, "response-result-code-equal-to");
385      builder.setOption(PropertyOption.MULTI_VALUED);
386      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "response-result-code-equal-to"));
387      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<Integer>());
388      PD_RESPONSE_RESULT_CODE_EQUAL_TO = builder.getInstance();
389      INSTANCE.registerPropertyDefinition(PD_RESPONSE_RESULT_CODE_EQUAL_TO);
390  }
391
392
393
394  /** Build the "response-result-code-not-equal-to" property definition. */
395  static {
396      IntegerPropertyDefinition.Builder builder = IntegerPropertyDefinition.createBuilder(INSTANCE, "response-result-code-not-equal-to");
397      builder.setOption(PropertyOption.MULTI_VALUED);
398      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "response-result-code-not-equal-to"));
399      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<Integer>());
400      PD_RESPONSE_RESULT_CODE_NOT_EQUAL_TO = builder.getInstance();
401      INSTANCE.registerPropertyDefinition(PD_RESPONSE_RESULT_CODE_NOT_EQUAL_TO);
402  }
403
404
405
406  /** Build the "search-response-is-indexed" property definition. */
407  static {
408      BooleanPropertyDefinition.Builder builder = BooleanPropertyDefinition.createBuilder(INSTANCE, "search-response-is-indexed");
409      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "search-response-is-indexed"));
410      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<Boolean>());
411      PD_SEARCH_RESPONSE_IS_INDEXED = builder.getInstance();
412      INSTANCE.registerPropertyDefinition(PD_SEARCH_RESPONSE_IS_INDEXED);
413  }
414
415
416
417  /** Build the "search-response-nentries-greater-than" property definition. */
418  static {
419      IntegerPropertyDefinition.Builder builder = IntegerPropertyDefinition.createBuilder(INSTANCE, "search-response-nentries-greater-than");
420      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "search-response-nentries-greater-than"));
421      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<Integer>());
422      PD_SEARCH_RESPONSE_NENTRIES_GREATER_THAN = builder.getInstance();
423      INSTANCE.registerPropertyDefinition(PD_SEARCH_RESPONSE_NENTRIES_GREATER_THAN);
424  }
425
426
427
428  /** Build the "search-response-nentries-less-than" property definition. */
429  static {
430      IntegerPropertyDefinition.Builder builder = IntegerPropertyDefinition.createBuilder(INSTANCE, "search-response-nentries-less-than");
431      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "search-response-nentries-less-than"));
432      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<Integer>());
433      PD_SEARCH_RESPONSE_NENTRIES_LESS_THAN = builder.getInstance();
434      INSTANCE.registerPropertyDefinition(PD_SEARCH_RESPONSE_NENTRIES_LESS_THAN);
435  }
436
437
438
439  /** Build the "user-dn-equal-to" property definition. */
440  static {
441      StringPropertyDefinition.Builder builder = StringPropertyDefinition.createBuilder(INSTANCE, "user-dn-equal-to");
442      builder.setOption(PropertyOption.MULTI_VALUED);
443      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "user-dn-equal-to"));
444      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<String>());
445      PD_USER_DN_EQUAL_TO = builder.getInstance();
446      INSTANCE.registerPropertyDefinition(PD_USER_DN_EQUAL_TO);
447  }
448
449
450
451  /** Build the "user-dn-not-equal-to" property definition. */
452  static {
453      StringPropertyDefinition.Builder builder = StringPropertyDefinition.createBuilder(INSTANCE, "user-dn-not-equal-to");
454      builder.setOption(PropertyOption.MULTI_VALUED);
455      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "user-dn-not-equal-to"));
456      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<String>());
457      PD_USER_DN_NOT_EQUAL_TO = builder.getInstance();
458      INSTANCE.registerPropertyDefinition(PD_USER_DN_NOT_EQUAL_TO);
459  }
460
461
462
463  /** Build the "user-is-member-of" property definition. */
464  static {
465      DNPropertyDefinition.Builder builder = DNPropertyDefinition.createBuilder(INSTANCE, "user-is-member-of");
466      builder.setOption(PropertyOption.MULTI_VALUED);
467      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "user-is-member-of"));
468      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<DN>());
469      PD_USER_IS_MEMBER_OF = builder.getInstance();
470      INSTANCE.registerPropertyDefinition(PD_USER_IS_MEMBER_OF);
471  }
472
473
474
475  /** Build the "user-is-not-member-of" property definition. */
476  static {
477      DNPropertyDefinition.Builder builder = DNPropertyDefinition.createBuilder(INSTANCE, "user-is-not-member-of");
478      builder.setOption(PropertyOption.MULTI_VALUED);
479      builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "user-is-not-member-of"));
480      builder.setDefaultBehaviorProvider(new UndefinedDefaultBehaviorProvider<DN>());
481      PD_USER_IS_NOT_MEMBER_OF = builder.getInstance();
482      INSTANCE.registerPropertyDefinition(PD_USER_IS_NOT_MEMBER_OF);
483  }
484
485
486
487  // Register the tags associated with this managed object definition.
488  static {
489    INSTANCE.registerTag(Tag.valueOf("logging"));
490  }
491
492
493
494  /**
495   * Get the Access Log Filtering Criteria configuration definition
496   * singleton.
497   *
498   * @return Returns the Access Log Filtering Criteria configuration
499   *         definition singleton.
500   */
501  public static AccessLogFilteringCriteriaCfgDefn getInstance() {
502    return INSTANCE;
503  }
504
505
506
507  /**
508   * Private constructor.
509   */
510  private AccessLogFilteringCriteriaCfgDefn() {
511    super("access-log-filtering-criteria", TopCfgDefn.getInstance());
512  }
513
514
515
516  /** {@inheritDoc} */
517  public AccessLogFilteringCriteriaCfgClient createClientConfiguration(
518      ManagedObject<? extends AccessLogFilteringCriteriaCfgClient> impl) {
519    return new AccessLogFilteringCriteriaCfgClientImpl(impl);
520  }
521
522
523
524  /** {@inheritDoc} */
525  public AccessLogFilteringCriteriaCfg createServerConfiguration(
526      ServerManagedObject<? extends AccessLogFilteringCriteriaCfg> impl) {
527    return new AccessLogFilteringCriteriaCfgServerImpl(impl);
528  }
529
530
531
532  /** {@inheritDoc} */
533  public Class<AccessLogFilteringCriteriaCfg> getServerConfigurationClass() {
534    return AccessLogFilteringCriteriaCfg.class;
535  }
536
537
538
539  /**
540   * Get the "connection-client-address-equal-to" property definition.
541   * <p>
542   * Filters log records associated with connections which match at
543   * least one of the specified client host names or address masks.
544   * <p>
545   * Valid values include a host name, a fully qualified domain name,
546   * a domain name, an IP address, or a subnetwork with subnetwork
547   * mask.
548   *
549   * @return Returns the "connection-client-address-equal-to" property definition.
550   */
551  public IPAddressMaskPropertyDefinition getConnectionClientAddressEqualToPropertyDefinition() {
552    return PD_CONNECTION_CLIENT_ADDRESS_EQUAL_TO;
553  }
554
555
556
557  /**
558   * Get the "connection-client-address-not-equal-to" property definition.
559   * <p>
560   * Filters log records associated with connections which do not
561   * match any of the specified client host names or address masks.
562   * <p>
563   * Valid values include a host name, a fully qualified domain name,
564   * a domain name, an IP address, or a subnetwork with subnetwork
565   * mask.
566   *
567   * @return Returns the "connection-client-address-not-equal-to" property definition.
568   */
569  public IPAddressMaskPropertyDefinition getConnectionClientAddressNotEqualToPropertyDefinition() {
570    return PD_CONNECTION_CLIENT_ADDRESS_NOT_EQUAL_TO;
571  }
572
573
574
575  /**
576   * Get the "connection-port-equal-to" property definition.
577   * <p>
578   * Filters log records associated with connections to any of the
579   * specified listener port numbers.
580   *
581   * @return Returns the "connection-port-equal-to" property definition.
582   */
583  public IntegerPropertyDefinition getConnectionPortEqualToPropertyDefinition() {
584    return PD_CONNECTION_PORT_EQUAL_TO;
585  }
586
587
588
589  /**
590   * Get the "connection-protocol-equal-to" property definition.
591   * <p>
592   * Filters log records associated with connections which match any
593   * of the specified protocols.
594   * <p>
595   * Typical values include "ldap", "ldaps", or "jmx".
596   *
597   * @return Returns the "connection-protocol-equal-to" property definition.
598   */
599  public StringPropertyDefinition getConnectionProtocolEqualToPropertyDefinition() {
600    return PD_CONNECTION_PROTOCOL_EQUAL_TO;
601  }
602
603
604
605  /**
606   * Get the "log-record-type" property definition.
607   * <p>
608   * Filters log records based on their type.
609   *
610   * @return Returns the "log-record-type" property definition.
611   */
612  public EnumPropertyDefinition<LogRecordType> getLogRecordTypePropertyDefinition() {
613    return PD_LOG_RECORD_TYPE;
614  }
615
616
617
618  /**
619   * Get the "request-target-dn-equal-to" property definition.
620   * <p>
621   * Filters operation log records associated with operations which
622   * target entries matching at least one of the specified DN patterns.
623   * <p>
624   * Valid DN filters are strings composed of zero or more wildcards.
625   * A double wildcard ** replaces one or more RDN components (as in
626   * uid=dmiller,**,dc=example,dc=com). A simple wildcard * replaces
627   * either a whole RDN, or a whole type, or a value substring (as in
628   * uid=bj*,ou=people,dc=example,dc=com).
629   *
630   * @return Returns the "request-target-dn-equal-to" property definition.
631   */
632  public StringPropertyDefinition getRequestTargetDNEqualToPropertyDefinition() {
633    return PD_REQUEST_TARGET_DN_EQUAL_TO;
634  }
635
636
637
638  /**
639   * Get the "request-target-dn-not-equal-to" property definition.
640   * <p>
641   * Filters operation log records associated with operations which
642   * target entries matching none of the specified DN patterns.
643   * <p>
644   * Valid DN filters are strings composed of zero or more wildcards.
645   * A double wildcard ** replaces one or more RDN components (as in
646   * uid=dmiller,**,dc=example,dc=com). A simple wildcard * replaces
647   * either a whole RDN, or a whole type, or a value substring (as in
648   * uid=bj*,ou=people,dc=example,dc=com).
649   *
650   * @return Returns the "request-target-dn-not-equal-to" property definition.
651   */
652  public StringPropertyDefinition getRequestTargetDNNotEqualToPropertyDefinition() {
653    return PD_REQUEST_TARGET_DN_NOT_EQUAL_TO;
654  }
655
656
657
658  /**
659   * Get the "response-etime-greater-than" property definition.
660   * <p>
661   * Filters operation response log records associated with operations
662   * which took longer than the specified number of milli-seconds to
663   * complete.
664   * <p>
665   * It is recommended to only use this criteria in conjunction with
666   * the "combined" output mode of the access logger, since this filter
667   * criteria is only applied to response log messages.
668   *
669   * @return Returns the "response-etime-greater-than" property definition.
670   */
671  public IntegerPropertyDefinition getResponseEtimeGreaterThanPropertyDefinition() {
672    return PD_RESPONSE_ETIME_GREATER_THAN;
673  }
674
675
676
677  /**
678   * Get the "response-etime-less-than" property definition.
679   * <p>
680   * Filters operation response log records associated with operations
681   * which took less than the specified number of milli-seconds to
682   * complete.
683   * <p>
684   * It is recommended to only use this criteria in conjunction with
685   * the "combined" output mode of the access logger, since this filter
686   * criteria is only applied to response log messages.
687   *
688   * @return Returns the "response-etime-less-than" property definition.
689   */
690  public IntegerPropertyDefinition getResponseEtimeLessThanPropertyDefinition() {
691    return PD_RESPONSE_ETIME_LESS_THAN;
692  }
693
694
695
696  /**
697   * Get the "response-result-code-equal-to" property definition.
698   * <p>
699   * Filters operation response log records associated with operations
700   * which include any of the specified result codes.
701   * <p>
702   * It is recommended to only use this criteria in conjunction with
703   * the "combined" output mode of the access logger, since this filter
704   * criteria is only applied to response log messages.
705   *
706   * @return Returns the "response-result-code-equal-to" property definition.
707   */
708  public IntegerPropertyDefinition getResponseResultCodeEqualToPropertyDefinition() {
709    return PD_RESPONSE_RESULT_CODE_EQUAL_TO;
710  }
711
712
713
714  /**
715   * Get the "response-result-code-not-equal-to" property definition.
716   * <p>
717   * Filters operation response log records associated with operations
718   * which do not include any of the specified result codes.
719   * <p>
720   * It is recommended to only use this criteria in conjunction with
721   * the "combined" output mode of the access logger, since this filter
722   * criteria is only applied to response log messages.
723   *
724   * @return Returns the "response-result-code-not-equal-to" property definition.
725   */
726  public IntegerPropertyDefinition getResponseResultCodeNotEqualToPropertyDefinition() {
727    return PD_RESPONSE_RESULT_CODE_NOT_EQUAL_TO;
728  }
729
730
731
732  /**
733   * Get the "search-response-is-indexed" property definition.
734   * <p>
735   * Filters search operation response log records associated with
736   * searches which were either indexed or unindexed.
737   * <p>
738   * It is recommended to only use this criteria in conjunction with
739   * the "combined" output mode of the access logger, since this filter
740   * criteria is only applied to response log messages.
741   *
742   * @return Returns the "search-response-is-indexed" property definition.
743   */
744  public BooleanPropertyDefinition getSearchResponseIsIndexedPropertyDefinition() {
745    return PD_SEARCH_RESPONSE_IS_INDEXED;
746  }
747
748
749
750  /**
751   * Get the "search-response-nentries-greater-than" property definition.
752   * <p>
753   * Filters search operation response log records associated with
754   * searches which returned more than the specified number of entries.
755   * <p>
756   * It is recommended to only use this criteria in conjunction with
757   * the "combined" output mode of the access logger, since this filter
758   * criteria is only applied to response log messages.
759   *
760   * @return Returns the "search-response-nentries-greater-than" property definition.
761   */
762  public IntegerPropertyDefinition getSearchResponseNentriesGreaterThanPropertyDefinition() {
763    return PD_SEARCH_RESPONSE_NENTRIES_GREATER_THAN;
764  }
765
766
767
768  /**
769   * Get the "search-response-nentries-less-than" property definition.
770   * <p>
771   * Filters search operation response log records associated with
772   * searches which returned less than the specified number of entries.
773   * <p>
774   * It is recommended to only use this criteria in conjunction with
775   * the "combined" output mode of the access logger, since this filter
776   * criteria is only applied to response log messages.
777   *
778   * @return Returns the "search-response-nentries-less-than" property definition.
779   */
780  public IntegerPropertyDefinition getSearchResponseNentriesLessThanPropertyDefinition() {
781    return PD_SEARCH_RESPONSE_NENTRIES_LESS_THAN;
782  }
783
784
785
786  /**
787   * Get the "user-dn-equal-to" property definition.
788   * <p>
789   * Filters log records associated with users matching at least one
790   * of the specified DN patterns.
791   * <p>
792   * Valid DN filters are strings composed of zero or more wildcards.
793   * A double wildcard ** replaces one or more RDN components (as in
794   * uid=dmiller,**,dc=example,dc=com). A simple wildcard * replaces
795   * either a whole RDN, or a whole type, or a value substring (as in
796   * uid=bj*,ou=people,dc=example,dc=com).
797   *
798   * @return Returns the "user-dn-equal-to" property definition.
799   */
800  public StringPropertyDefinition getUserDNEqualToPropertyDefinition() {
801    return PD_USER_DN_EQUAL_TO;
802  }
803
804
805
806  /**
807   * Get the "user-dn-not-equal-to" property definition.
808   * <p>
809   * Filters log records associated with users which do not match any
810   * of the specified DN patterns.
811   * <p>
812   * Valid DN filters are strings composed of zero or more wildcards.
813   * A double wildcard ** replaces one or more RDN components (as in
814   * uid=dmiller,**,dc=example,dc=com). A simple wildcard * replaces
815   * either a whole RDN, or a whole type, or a value substring (as in
816   * uid=bj*,ou=people,dc=example,dc=com).
817   *
818   * @return Returns the "user-dn-not-equal-to" property definition.
819   */
820  public StringPropertyDefinition getUserDNNotEqualToPropertyDefinition() {
821    return PD_USER_DN_NOT_EQUAL_TO;
822  }
823
824
825
826  /**
827   * Get the "user-is-member-of" property definition.
828   * <p>
829   * Filters log records associated with users which are members of at
830   * least one of the specified groups.
831   *
832   * @return Returns the "user-is-member-of" property definition.
833   */
834  public DNPropertyDefinition getUserIsMemberOfPropertyDefinition() {
835    return PD_USER_IS_MEMBER_OF;
836  }
837
838
839
840  /**
841   * Get the "user-is-not-member-of" property definition.
842   * <p>
843   * Filters log records associated with users which are not members
844   * of any of the specified groups.
845   *
846   * @return Returns the "user-is-not-member-of" property definition.
847   */
848  public DNPropertyDefinition getUserIsNotMemberOfPropertyDefinition() {
849    return PD_USER_IS_NOT_MEMBER_OF;
850  }
851
852
853
854  /**
855   * Managed object client implementation.
856   */
857  private static class AccessLogFilteringCriteriaCfgClientImpl implements
858    AccessLogFilteringCriteriaCfgClient {
859
860    /** Private implementation. */
861    private ManagedObject<? extends AccessLogFilteringCriteriaCfgClient> impl;
862
863
864
865    /** Private constructor. */
866    private AccessLogFilteringCriteriaCfgClientImpl(
867        ManagedObject<? extends AccessLogFilteringCriteriaCfgClient> impl) {
868      this.impl = impl;
869    }
870
871
872
873    /** {@inheritDoc} */
874    public SortedSet<AddressMask> getConnectionClientAddressEqualTo() {
875      return impl.getPropertyValues(INSTANCE.getConnectionClientAddressEqualToPropertyDefinition());
876    }
877
878
879
880    /** {@inheritDoc} */
881    public void setConnectionClientAddressEqualTo(Collection<AddressMask> values) {
882      impl.setPropertyValues(INSTANCE.getConnectionClientAddressEqualToPropertyDefinition(), values);
883    }
884
885
886
887    /** {@inheritDoc} */
888    public SortedSet<AddressMask> getConnectionClientAddressNotEqualTo() {
889      return impl.getPropertyValues(INSTANCE.getConnectionClientAddressNotEqualToPropertyDefinition());
890    }
891
892
893
894    /** {@inheritDoc} */
895    public void setConnectionClientAddressNotEqualTo(Collection<AddressMask> values) {
896      impl.setPropertyValues(INSTANCE.getConnectionClientAddressNotEqualToPropertyDefinition(), values);
897    }
898
899
900
901    /** {@inheritDoc} */
902    public SortedSet<Integer> getConnectionPortEqualTo() {
903      return impl.getPropertyValues(INSTANCE.getConnectionPortEqualToPropertyDefinition());
904    }
905
906
907
908    /** {@inheritDoc} */
909    public void setConnectionPortEqualTo(Collection<Integer> values) {
910      impl.setPropertyValues(INSTANCE.getConnectionPortEqualToPropertyDefinition(), values);
911    }
912
913
914
915    /** {@inheritDoc} */
916    public SortedSet<String> getConnectionProtocolEqualTo() {
917      return impl.getPropertyValues(INSTANCE.getConnectionProtocolEqualToPropertyDefinition());
918    }
919
920
921
922    /** {@inheritDoc} */
923    public void setConnectionProtocolEqualTo(Collection<String> values) {
924      impl.setPropertyValues(INSTANCE.getConnectionProtocolEqualToPropertyDefinition(), values);
925    }
926
927
928
929    /** {@inheritDoc} */
930    public SortedSet<LogRecordType> getLogRecordType() {
931      return impl.getPropertyValues(INSTANCE.getLogRecordTypePropertyDefinition());
932    }
933
934
935
936    /** {@inheritDoc} */
937    public void setLogRecordType(Collection<LogRecordType> values) {
938      impl.setPropertyValues(INSTANCE.getLogRecordTypePropertyDefinition(), values);
939    }
940
941
942
943    /** {@inheritDoc} */
944    public SortedSet<String> getRequestTargetDNEqualTo() {
945      return impl.getPropertyValues(INSTANCE.getRequestTargetDNEqualToPropertyDefinition());
946    }
947
948
949
950    /** {@inheritDoc} */
951    public void setRequestTargetDNEqualTo(Collection<String> values) {
952      impl.setPropertyValues(INSTANCE.getRequestTargetDNEqualToPropertyDefinition(), values);
953    }
954
955
956
957    /** {@inheritDoc} */
958    public SortedSet<String> getRequestTargetDNNotEqualTo() {
959      return impl.getPropertyValues(INSTANCE.getRequestTargetDNNotEqualToPropertyDefinition());
960    }
961
962
963
964    /** {@inheritDoc} */
965    public void setRequestTargetDNNotEqualTo(Collection<String> values) {
966      impl.setPropertyValues(INSTANCE.getRequestTargetDNNotEqualToPropertyDefinition(), values);
967    }
968
969
970
971    /** {@inheritDoc} */
972    public Integer getResponseEtimeGreaterThan() {
973      return impl.getPropertyValue(INSTANCE.getResponseEtimeGreaterThanPropertyDefinition());
974    }
975
976
977
978    /** {@inheritDoc} */
979    public void setResponseEtimeGreaterThan(Integer value) {
980      impl.setPropertyValue(INSTANCE.getResponseEtimeGreaterThanPropertyDefinition(), value);
981    }
982
983
984
985    /** {@inheritDoc} */
986    public Integer getResponseEtimeLessThan() {
987      return impl.getPropertyValue(INSTANCE.getResponseEtimeLessThanPropertyDefinition());
988    }
989
990
991
992    /** {@inheritDoc} */
993    public void setResponseEtimeLessThan(Integer value) {
994      impl.setPropertyValue(INSTANCE.getResponseEtimeLessThanPropertyDefinition(), value);
995    }
996
997
998
999    /** {@inheritDoc} */
1000    public SortedSet<Integer> getResponseResultCodeEqualTo() {
1001      return impl.getPropertyValues(INSTANCE.getResponseResultCodeEqualToPropertyDefinition());
1002    }
1003
1004
1005
1006    /** {@inheritDoc} */
1007    public void setResponseResultCodeEqualTo(Collection<Integer> values) {
1008      impl.setPropertyValues(INSTANCE.getResponseResultCodeEqualToPropertyDefinition(), values);
1009    }
1010
1011
1012
1013    /** {@inheritDoc} */
1014    public SortedSet<Integer> getResponseResultCodeNotEqualTo() {
1015      return impl.getPropertyValues(INSTANCE.getResponseResultCodeNotEqualToPropertyDefinition());
1016    }
1017
1018
1019
1020    /** {@inheritDoc} */
1021    public void setResponseResultCodeNotEqualTo(Collection<Integer> values) {
1022      impl.setPropertyValues(INSTANCE.getResponseResultCodeNotEqualToPropertyDefinition(), values);
1023    }
1024
1025
1026
1027    /** {@inheritDoc} */
1028    public Boolean isSearchResponseIsIndexed() {
1029      return impl.getPropertyValue(INSTANCE.getSearchResponseIsIndexedPropertyDefinition());
1030    }
1031
1032
1033
1034    /** {@inheritDoc} */
1035    public void setSearchResponseIsIndexed(Boolean value) {
1036      impl.setPropertyValue(INSTANCE.getSearchResponseIsIndexedPropertyDefinition(), value);
1037    }
1038
1039
1040
1041    /** {@inheritDoc} */
1042    public Integer getSearchResponseNentriesGreaterThan() {
1043      return impl.getPropertyValue(INSTANCE.getSearchResponseNentriesGreaterThanPropertyDefinition());
1044    }
1045
1046
1047
1048    /** {@inheritDoc} */
1049    public void setSearchResponseNentriesGreaterThan(Integer value) {
1050      impl.setPropertyValue(INSTANCE.getSearchResponseNentriesGreaterThanPropertyDefinition(), value);
1051    }
1052
1053
1054
1055    /** {@inheritDoc} */
1056    public Integer getSearchResponseNentriesLessThan() {
1057      return impl.getPropertyValue(INSTANCE.getSearchResponseNentriesLessThanPropertyDefinition());
1058    }
1059
1060
1061
1062    /** {@inheritDoc} */
1063    public void setSearchResponseNentriesLessThan(Integer value) {
1064      impl.setPropertyValue(INSTANCE.getSearchResponseNentriesLessThanPropertyDefinition(), value);
1065    }
1066
1067
1068
1069    /** {@inheritDoc} */
1070    public SortedSet<String> getUserDNEqualTo() {
1071      return impl.getPropertyValues(INSTANCE.getUserDNEqualToPropertyDefinition());
1072    }
1073
1074
1075
1076    /** {@inheritDoc} */
1077    public void setUserDNEqualTo(Collection<String> values) {
1078      impl.setPropertyValues(INSTANCE.getUserDNEqualToPropertyDefinition(), values);
1079    }
1080
1081
1082
1083    /** {@inheritDoc} */
1084    public SortedSet<String> getUserDNNotEqualTo() {
1085      return impl.getPropertyValues(INSTANCE.getUserDNNotEqualToPropertyDefinition());
1086    }
1087
1088
1089
1090    /** {@inheritDoc} */
1091    public void setUserDNNotEqualTo(Collection<String> values) {
1092      impl.setPropertyValues(INSTANCE.getUserDNNotEqualToPropertyDefinition(), values);
1093    }
1094
1095
1096
1097    /** {@inheritDoc} */
1098    public SortedSet<DN> getUserIsMemberOf() {
1099      return impl.getPropertyValues(INSTANCE.getUserIsMemberOfPropertyDefinition());
1100    }
1101
1102
1103
1104    /** {@inheritDoc} */
1105    public void setUserIsMemberOf(Collection<DN> values) {
1106      impl.setPropertyValues(INSTANCE.getUserIsMemberOfPropertyDefinition(), values);
1107    }
1108
1109
1110
1111    /** {@inheritDoc} */
1112    public SortedSet<DN> getUserIsNotMemberOf() {
1113      return impl.getPropertyValues(INSTANCE.getUserIsNotMemberOfPropertyDefinition());
1114    }
1115
1116
1117
1118    /** {@inheritDoc} */
1119    public void setUserIsNotMemberOf(Collection<DN> values) {
1120      impl.setPropertyValues(INSTANCE.getUserIsNotMemberOfPropertyDefinition(), values);
1121    }
1122
1123
1124
1125    /** {@inheritDoc} */
1126    public ManagedObjectDefinition<? extends AccessLogFilteringCriteriaCfgClient, ? extends AccessLogFilteringCriteriaCfg> definition() {
1127      return INSTANCE;
1128    }
1129
1130
1131
1132    /** {@inheritDoc} */
1133    public PropertyProvider properties() {
1134      return impl;
1135    }
1136
1137
1138
1139    /** {@inheritDoc} */
1140    public void commit() throws ManagedObjectAlreadyExistsException,
1141        MissingMandatoryPropertiesException, ConcurrentModificationException,
1142        OperationRejectedException, LdapException {
1143      impl.commit();
1144    }
1145
1146
1147
1148    /** {@inheritDoc} */
1149    public String toString() {
1150      return impl.toString();
1151    }
1152  }
1153
1154
1155
1156  /**
1157   * Managed object server implementation.
1158   */
1159  private static class AccessLogFilteringCriteriaCfgServerImpl implements
1160    AccessLogFilteringCriteriaCfg {
1161
1162    /** Private implementation. */
1163    private ServerManagedObject<? extends AccessLogFilteringCriteriaCfg> impl;
1164
1165    /** The value of the "connection-client-address-equal-to" property. */
1166    private final SortedSet<AddressMask> pConnectionClientAddressEqualTo;
1167
1168    /** The value of the "connection-client-address-not-equal-to" property. */
1169    private final SortedSet<AddressMask> pConnectionClientAddressNotEqualTo;
1170
1171    /** The value of the "connection-port-equal-to" property. */
1172    private final SortedSet<Integer> pConnectionPortEqualTo;
1173
1174    /** The value of the "connection-protocol-equal-to" property. */
1175    private final SortedSet<String> pConnectionProtocolEqualTo;
1176
1177    /** The value of the "log-record-type" property. */
1178    private final SortedSet<LogRecordType> pLogRecordType;
1179
1180    /** The value of the "request-target-dn-equal-to" property. */
1181    private final SortedSet<String> pRequestTargetDNEqualTo;
1182
1183    /** The value of the "request-target-dn-not-equal-to" property. */
1184    private final SortedSet<String> pRequestTargetDNNotEqualTo;
1185
1186    /** The value of the "response-etime-greater-than" property. */
1187    private final Integer pResponseEtimeGreaterThan;
1188
1189    /** The value of the "response-etime-less-than" property. */
1190    private final Integer pResponseEtimeLessThan;
1191
1192    /** The value of the "response-result-code-equal-to" property. */
1193    private final SortedSet<Integer> pResponseResultCodeEqualTo;
1194
1195    /** The value of the "response-result-code-not-equal-to" property. */
1196    private final SortedSet<Integer> pResponseResultCodeNotEqualTo;
1197
1198    /** The value of the "search-response-is-indexed" property. */
1199    private final Boolean pSearchResponseIsIndexed;
1200
1201    /** The value of the "search-response-nentries-greater-than" property. */
1202    private final Integer pSearchResponseNentriesGreaterThan;
1203
1204    /** The value of the "search-response-nentries-less-than" property. */
1205    private final Integer pSearchResponseNentriesLessThan;
1206
1207    /** The value of the "user-dn-equal-to" property. */
1208    private final SortedSet<String> pUserDNEqualTo;
1209
1210    /** The value of the "user-dn-not-equal-to" property. */
1211    private final SortedSet<String> pUserDNNotEqualTo;
1212
1213    /** The value of the "user-is-member-of" property. */
1214    private final SortedSet<DN> pUserIsMemberOf;
1215
1216    /** The value of the "user-is-not-member-of" property. */
1217    private final SortedSet<DN> pUserIsNotMemberOf;
1218
1219
1220
1221    /** Private constructor. */
1222    private AccessLogFilteringCriteriaCfgServerImpl(ServerManagedObject<? extends AccessLogFilteringCriteriaCfg> impl) {
1223      this.impl = impl;
1224      this.pConnectionClientAddressEqualTo = impl.getPropertyValues(INSTANCE.getConnectionClientAddressEqualToPropertyDefinition());
1225      this.pConnectionClientAddressNotEqualTo = impl.getPropertyValues(INSTANCE.getConnectionClientAddressNotEqualToPropertyDefinition());
1226      this.pConnectionPortEqualTo = impl.getPropertyValues(INSTANCE.getConnectionPortEqualToPropertyDefinition());
1227      this.pConnectionProtocolEqualTo = impl.getPropertyValues(INSTANCE.getConnectionProtocolEqualToPropertyDefinition());
1228      this.pLogRecordType = impl.getPropertyValues(INSTANCE.getLogRecordTypePropertyDefinition());
1229      this.pRequestTargetDNEqualTo = impl.getPropertyValues(INSTANCE.getRequestTargetDNEqualToPropertyDefinition());
1230      this.pRequestTargetDNNotEqualTo = impl.getPropertyValues(INSTANCE.getRequestTargetDNNotEqualToPropertyDefinition());
1231      this.pResponseEtimeGreaterThan = impl.getPropertyValue(INSTANCE.getResponseEtimeGreaterThanPropertyDefinition());
1232      this.pResponseEtimeLessThan = impl.getPropertyValue(INSTANCE.getResponseEtimeLessThanPropertyDefinition());
1233      this.pResponseResultCodeEqualTo = impl.getPropertyValues(INSTANCE.getResponseResultCodeEqualToPropertyDefinition());
1234      this.pResponseResultCodeNotEqualTo = impl.getPropertyValues(INSTANCE.getResponseResultCodeNotEqualToPropertyDefinition());
1235      this.pSearchResponseIsIndexed = impl.getPropertyValue(INSTANCE.getSearchResponseIsIndexedPropertyDefinition());
1236      this.pSearchResponseNentriesGreaterThan = impl.getPropertyValue(INSTANCE.getSearchResponseNentriesGreaterThanPropertyDefinition());
1237      this.pSearchResponseNentriesLessThan = impl.getPropertyValue(INSTANCE.getSearchResponseNentriesLessThanPropertyDefinition());
1238      this.pUserDNEqualTo = impl.getPropertyValues(INSTANCE.getUserDNEqualToPropertyDefinition());
1239      this.pUserDNNotEqualTo = impl.getPropertyValues(INSTANCE.getUserDNNotEqualToPropertyDefinition());
1240      this.pUserIsMemberOf = impl.getPropertyValues(INSTANCE.getUserIsMemberOfPropertyDefinition());
1241      this.pUserIsNotMemberOf = impl.getPropertyValues(INSTANCE.getUserIsNotMemberOfPropertyDefinition());
1242    }
1243
1244
1245
1246    /** {@inheritDoc} */
1247    public void addChangeListener(
1248        ConfigurationChangeListener<AccessLogFilteringCriteriaCfg> listener) {
1249      impl.registerChangeListener(listener);
1250    }
1251
1252
1253
1254    /** {@inheritDoc} */
1255    public void removeChangeListener(
1256        ConfigurationChangeListener<AccessLogFilteringCriteriaCfg> listener) {
1257      impl.deregisterChangeListener(listener);
1258    }
1259
1260
1261
1262    /** {@inheritDoc} */
1263    public SortedSet<AddressMask> getConnectionClientAddressEqualTo() {
1264      return pConnectionClientAddressEqualTo;
1265    }
1266
1267
1268
1269    /** {@inheritDoc} */
1270    public SortedSet<AddressMask> getConnectionClientAddressNotEqualTo() {
1271      return pConnectionClientAddressNotEqualTo;
1272    }
1273
1274
1275
1276    /** {@inheritDoc} */
1277    public SortedSet<Integer> getConnectionPortEqualTo() {
1278      return pConnectionPortEqualTo;
1279    }
1280
1281
1282
1283    /** {@inheritDoc} */
1284    public SortedSet<String> getConnectionProtocolEqualTo() {
1285      return pConnectionProtocolEqualTo;
1286    }
1287
1288
1289
1290    /** {@inheritDoc} */
1291    public SortedSet<LogRecordType> getLogRecordType() {
1292      return pLogRecordType;
1293    }
1294
1295
1296
1297    /** {@inheritDoc} */
1298    public SortedSet<String> getRequestTargetDNEqualTo() {
1299      return pRequestTargetDNEqualTo;
1300    }
1301
1302
1303
1304    /** {@inheritDoc} */
1305    public SortedSet<String> getRequestTargetDNNotEqualTo() {
1306      return pRequestTargetDNNotEqualTo;
1307    }
1308
1309
1310
1311    /** {@inheritDoc} */
1312    public Integer getResponseEtimeGreaterThan() {
1313      return pResponseEtimeGreaterThan;
1314    }
1315
1316
1317
1318    /** {@inheritDoc} */
1319    public Integer getResponseEtimeLessThan() {
1320      return pResponseEtimeLessThan;
1321    }
1322
1323
1324
1325    /** {@inheritDoc} */
1326    public SortedSet<Integer> getResponseResultCodeEqualTo() {
1327      return pResponseResultCodeEqualTo;
1328    }
1329
1330
1331
1332    /** {@inheritDoc} */
1333    public SortedSet<Integer> getResponseResultCodeNotEqualTo() {
1334      return pResponseResultCodeNotEqualTo;
1335    }
1336
1337
1338
1339    /** {@inheritDoc} */
1340    public Boolean isSearchResponseIsIndexed() {
1341      return pSearchResponseIsIndexed;
1342    }
1343
1344
1345
1346    /** {@inheritDoc} */
1347    public Integer getSearchResponseNentriesGreaterThan() {
1348      return pSearchResponseNentriesGreaterThan;
1349    }
1350
1351
1352
1353    /** {@inheritDoc} */
1354    public Integer getSearchResponseNentriesLessThan() {
1355      return pSearchResponseNentriesLessThan;
1356    }
1357
1358
1359
1360    /** {@inheritDoc} */
1361    public SortedSet<String> getUserDNEqualTo() {
1362      return pUserDNEqualTo;
1363    }
1364
1365
1366
1367    /** {@inheritDoc} */
1368    public SortedSet<String> getUserDNNotEqualTo() {
1369      return pUserDNNotEqualTo;
1370    }
1371
1372
1373
1374    /** {@inheritDoc} */
1375    public SortedSet<DN> getUserIsMemberOf() {
1376      return pUserIsMemberOf;
1377    }
1378
1379
1380
1381    /** {@inheritDoc} */
1382    public SortedSet<DN> getUserIsNotMemberOf() {
1383      return pUserIsNotMemberOf;
1384    }
1385
1386
1387
1388    /** {@inheritDoc} */
1389    public Class<? extends AccessLogFilteringCriteriaCfg> configurationClass() {
1390      return AccessLogFilteringCriteriaCfg.class;
1391    }
1392
1393
1394
1395    /** {@inheritDoc} */
1396    public DN dn() {
1397      return impl.getDN();
1398    }
1399
1400
1401
1402    /** {@inheritDoc} */
1403    public String toString() {
1404      return impl.toString();
1405    }
1406  }
1407}