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