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 org.forgerock.opendj.config.AdministratorAction; 032import org.forgerock.opendj.config.BooleanPropertyDefinition; 033import org.forgerock.opendj.config.ClassPropertyDefinition; 034import org.forgerock.opendj.config.client.ConcurrentModificationException; 035import org.forgerock.opendj.config.client.IllegalManagedObjectNameException; 036import org.forgerock.opendj.config.client.ManagedObject; 037import org.forgerock.opendj.config.client.ManagedObjectDecodingException; 038import org.forgerock.opendj.config.client.MissingMandatoryPropertiesException; 039import org.forgerock.opendj.config.client.OperationRejectedException; 040import org.forgerock.opendj.config.DefaultBehaviorProvider; 041import org.forgerock.opendj.config.DefinedDefaultBehaviorProvider; 042import org.forgerock.opendj.config.DefinitionDecodingException; 043import org.forgerock.opendj.config.InstantiableRelationDefinition; 044import org.forgerock.opendj.config.IntegerPropertyDefinition; 045import org.forgerock.opendj.config.ManagedObjectAlreadyExistsException; 046import org.forgerock.opendj.config.ManagedObjectDefinition; 047import org.forgerock.opendj.config.ManagedObjectNotFoundException; 048import org.forgerock.opendj.config.PropertyException; 049import org.forgerock.opendj.config.PropertyOption; 050import org.forgerock.opendj.config.PropertyProvider; 051import org.forgerock.opendj.config.server.ConfigException; 052import org.forgerock.opendj.config.server.ConfigurationAddListener; 053import org.forgerock.opendj.config.server.ConfigurationChangeListener; 054import org.forgerock.opendj.config.server.ConfigurationDeleteListener; 055import org.forgerock.opendj.config.server.ServerManagedObject; 056import org.forgerock.opendj.config.Tag; 057import org.forgerock.opendj.ldap.DN; 058import org.forgerock.opendj.ldap.LdapException; 059import org.forgerock.opendj.server.config.client.DebugLogPublisherCfgClient; 060import org.forgerock.opendj.server.config.client.DebugTargetCfgClient; 061import org.forgerock.opendj.server.config.server.DebugLogPublisherCfg; 062import org.forgerock.opendj.server.config.server.DebugTargetCfg; 063import org.forgerock.opendj.server.config.server.LogPublisherCfg; 064 065 066 067/** 068 * An interface for querying the Debug Log Publisher managed object 069 * definition meta information. 070 * <p> 071 * Debug Log Publishers are responsible for distributing debug log 072 * messages from the debug logger to a destination. 073 */ 074public final class DebugLogPublisherCfgDefn extends ManagedObjectDefinition<DebugLogPublisherCfgClient, DebugLogPublisherCfg> { 075 076 /** The singleton configuration definition instance. */ 077 private static final DebugLogPublisherCfgDefn INSTANCE = new DebugLogPublisherCfgDefn(); 078 079 080 081 /** The "default-debug-exceptions-only" property definition. */ 082 private static final BooleanPropertyDefinition PD_DEFAULT_DEBUG_EXCEPTIONS_ONLY; 083 084 085 086 /** The "default-include-throwable-cause" property definition. */ 087 private static final BooleanPropertyDefinition PD_DEFAULT_INCLUDE_THROWABLE_CAUSE; 088 089 090 091 /** The "default-omit-method-entry-arguments" property definition. */ 092 private static final BooleanPropertyDefinition PD_DEFAULT_OMIT_METHOD_ENTRY_ARGUMENTS; 093 094 095 096 /** The "default-omit-method-return-value" property definition. */ 097 private static final BooleanPropertyDefinition PD_DEFAULT_OMIT_METHOD_RETURN_VALUE; 098 099 100 101 /** The "default-throwable-stack-frames" property definition. */ 102 private static final IntegerPropertyDefinition PD_DEFAULT_THROWABLE_STACK_FRAMES; 103 104 105 106 /** The "java-class" property definition. */ 107 private static final ClassPropertyDefinition PD_JAVA_CLASS; 108 109 110 111 /** The "debug-targets" relation definition. */ 112 private static final InstantiableRelationDefinition<DebugTargetCfgClient, DebugTargetCfg> RD_DEBUG_TARGETS; 113 114 115 116 /** Build the "default-debug-exceptions-only" property definition. */ 117 static { 118 BooleanPropertyDefinition.Builder builder = BooleanPropertyDefinition.createBuilder(INSTANCE, "default-debug-exceptions-only"); 119 builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "default-debug-exceptions-only")); 120 DefaultBehaviorProvider<Boolean> provider = new DefinedDefaultBehaviorProvider<Boolean>("false"); 121 builder.setDefaultBehaviorProvider(provider); 122 PD_DEFAULT_DEBUG_EXCEPTIONS_ONLY = builder.getInstance(); 123 INSTANCE.registerPropertyDefinition(PD_DEFAULT_DEBUG_EXCEPTIONS_ONLY); 124 } 125 126 127 128 /** Build the "default-include-throwable-cause" property definition. */ 129 static { 130 BooleanPropertyDefinition.Builder builder = BooleanPropertyDefinition.createBuilder(INSTANCE, "default-include-throwable-cause"); 131 builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "default-include-throwable-cause")); 132 DefaultBehaviorProvider<Boolean> provider = new DefinedDefaultBehaviorProvider<Boolean>("true"); 133 builder.setDefaultBehaviorProvider(provider); 134 PD_DEFAULT_INCLUDE_THROWABLE_CAUSE = builder.getInstance(); 135 INSTANCE.registerPropertyDefinition(PD_DEFAULT_INCLUDE_THROWABLE_CAUSE); 136 } 137 138 139 140 /** Build the "default-omit-method-entry-arguments" property definition. */ 141 static { 142 BooleanPropertyDefinition.Builder builder = BooleanPropertyDefinition.createBuilder(INSTANCE, "default-omit-method-entry-arguments"); 143 builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "default-omit-method-entry-arguments")); 144 DefaultBehaviorProvider<Boolean> provider = new DefinedDefaultBehaviorProvider<Boolean>("false"); 145 builder.setDefaultBehaviorProvider(provider); 146 PD_DEFAULT_OMIT_METHOD_ENTRY_ARGUMENTS = builder.getInstance(); 147 INSTANCE.registerPropertyDefinition(PD_DEFAULT_OMIT_METHOD_ENTRY_ARGUMENTS); 148 } 149 150 151 152 /** Build the "default-omit-method-return-value" property definition. */ 153 static { 154 BooleanPropertyDefinition.Builder builder = BooleanPropertyDefinition.createBuilder(INSTANCE, "default-omit-method-return-value"); 155 builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "default-omit-method-return-value")); 156 DefaultBehaviorProvider<Boolean> provider = new DefinedDefaultBehaviorProvider<Boolean>("false"); 157 builder.setDefaultBehaviorProvider(provider); 158 PD_DEFAULT_OMIT_METHOD_RETURN_VALUE = builder.getInstance(); 159 INSTANCE.registerPropertyDefinition(PD_DEFAULT_OMIT_METHOD_RETURN_VALUE); 160 } 161 162 163 164 /** Build the "default-throwable-stack-frames" property definition. */ 165 static { 166 IntegerPropertyDefinition.Builder builder = IntegerPropertyDefinition.createBuilder(INSTANCE, "default-throwable-stack-frames"); 167 builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "default-throwable-stack-frames")); 168 DefaultBehaviorProvider<Integer> provider = new DefinedDefaultBehaviorProvider<Integer>("2147483647"); 169 builder.setDefaultBehaviorProvider(provider); 170 builder.setUpperLimit(2147483647); 171 builder.setLowerLimit(0); 172 PD_DEFAULT_THROWABLE_STACK_FRAMES = builder.getInstance(); 173 INSTANCE.registerPropertyDefinition(PD_DEFAULT_THROWABLE_STACK_FRAMES); 174 } 175 176 177 178 /** Build the "java-class" property definition. */ 179 static { 180 ClassPropertyDefinition.Builder builder = ClassPropertyDefinition.createBuilder(INSTANCE, "java-class"); 181 builder.setOption(PropertyOption.MANDATORY); 182 builder.setAdministratorAction(new AdministratorAction(AdministratorAction.Type.NONE, INSTANCE, "java-class")); 183 DefaultBehaviorProvider<String> provider = new DefinedDefaultBehaviorProvider<String>("org.opends.server.loggers.DebugLogPublisher"); 184 builder.setDefaultBehaviorProvider(provider); 185 builder.addInstanceOf("org.opends.server.loggers.LogPublisher"); 186 PD_JAVA_CLASS = builder.getInstance(); 187 INSTANCE.registerPropertyDefinition(PD_JAVA_CLASS); 188 } 189 190 191 192 // Build the "debug-targets" relation definition. 193 static { 194 InstantiableRelationDefinition.Builder<DebugTargetCfgClient, DebugTargetCfg> builder = 195 new InstantiableRelationDefinition.Builder<DebugTargetCfgClient, DebugTargetCfg>(INSTANCE, "debug-target", "debug-targets", DebugTargetCfgDefn.getInstance()); 196 builder.setNamingProperty(DebugTargetCfgDefn.getInstance().getDebugScopePropertyDefinition()); 197 RD_DEBUG_TARGETS = builder.getInstance(); 198 INSTANCE.registerRelationDefinition(RD_DEBUG_TARGETS); 199 } 200 201 202 203 // Register the tags associated with this managed object definition. 204 static { 205 INSTANCE.registerTag(Tag.valueOf("logging")); 206 } 207 208 209 210 /** 211 * Get the Debug Log Publisher configuration definition singleton. 212 * 213 * @return Returns the Debug Log Publisher configuration definition 214 * singleton. 215 */ 216 public static DebugLogPublisherCfgDefn getInstance() { 217 return INSTANCE; 218 } 219 220 221 222 /** 223 * Private constructor. 224 */ 225 private DebugLogPublisherCfgDefn() { 226 super("debug-log-publisher", LogPublisherCfgDefn.getInstance()); 227 } 228 229 230 231 /** {@inheritDoc} */ 232 public DebugLogPublisherCfgClient createClientConfiguration( 233 ManagedObject<? extends DebugLogPublisherCfgClient> impl) { 234 return new DebugLogPublisherCfgClientImpl(impl); 235 } 236 237 238 239 /** {@inheritDoc} */ 240 public DebugLogPublisherCfg createServerConfiguration( 241 ServerManagedObject<? extends DebugLogPublisherCfg> impl) { 242 return new DebugLogPublisherCfgServerImpl(impl); 243 } 244 245 246 247 /** {@inheritDoc} */ 248 public Class<DebugLogPublisherCfg> getServerConfigurationClass() { 249 return DebugLogPublisherCfg.class; 250 } 251 252 253 254 /** 255 * Get the "default-debug-exceptions-only" property definition. 256 * <p> 257 * Indicates whether only logs with exception should be logged. 258 * 259 * @return Returns the "default-debug-exceptions-only" property definition. 260 */ 261 public BooleanPropertyDefinition getDefaultDebugExceptionsOnlyPropertyDefinition() { 262 return PD_DEFAULT_DEBUG_EXCEPTIONS_ONLY; 263 } 264 265 266 267 /** 268 * Get the "default-include-throwable-cause" property definition. 269 * <p> 270 * Indicates whether to include the cause of exceptions in exception 271 * thrown and caught messages logged by default. 272 * 273 * @return Returns the "default-include-throwable-cause" property definition. 274 */ 275 public BooleanPropertyDefinition getDefaultIncludeThrowableCausePropertyDefinition() { 276 return PD_DEFAULT_INCLUDE_THROWABLE_CAUSE; 277 } 278 279 280 281 /** 282 * Get the "default-omit-method-entry-arguments" property definition. 283 * <p> 284 * Indicates whether to include method arguments in debug messages 285 * logged by default. 286 * 287 * @return Returns the "default-omit-method-entry-arguments" property definition. 288 */ 289 public BooleanPropertyDefinition getDefaultOmitMethodEntryArgumentsPropertyDefinition() { 290 return PD_DEFAULT_OMIT_METHOD_ENTRY_ARGUMENTS; 291 } 292 293 294 295 /** 296 * Get the "default-omit-method-return-value" property definition. 297 * <p> 298 * Indicates whether to include the return value in debug messages 299 * logged by default. 300 * 301 * @return Returns the "default-omit-method-return-value" property definition. 302 */ 303 public BooleanPropertyDefinition getDefaultOmitMethodReturnValuePropertyDefinition() { 304 return PD_DEFAULT_OMIT_METHOD_RETURN_VALUE; 305 } 306 307 308 309 /** 310 * Get the "default-throwable-stack-frames" property definition. 311 * <p> 312 * Indicates the number of stack frames to include in the stack 313 * trace for method entry and exception thrown messages. 314 * 315 * @return Returns the "default-throwable-stack-frames" property definition. 316 */ 317 public IntegerPropertyDefinition getDefaultThrowableStackFramesPropertyDefinition() { 318 return PD_DEFAULT_THROWABLE_STACK_FRAMES; 319 } 320 321 322 323 /** 324 * Get the "enabled" property definition. 325 * <p> 326 * Indicates whether the Debug Log Publisher is enabled for use. 327 * 328 * @return Returns the "enabled" property definition. 329 */ 330 public BooleanPropertyDefinition getEnabledPropertyDefinition() { 331 return LogPublisherCfgDefn.getInstance().getEnabledPropertyDefinition(); 332 } 333 334 335 336 /** 337 * Get the "java-class" property definition. 338 * <p> 339 * The fully-qualified name of the Java class that provides the 340 * Debug Log Publisher implementation. 341 * 342 * @return Returns the "java-class" property definition. 343 */ 344 public ClassPropertyDefinition getJavaClassPropertyDefinition() { 345 return PD_JAVA_CLASS; 346 } 347 348 349 350 /** 351 * Get the "debug-targets" relation definition. 352 * 353 * @return Returns the "debug-targets" relation definition. 354 */ 355 public InstantiableRelationDefinition<DebugTargetCfgClient,DebugTargetCfg> getDebugTargetsRelationDefinition() { 356 return RD_DEBUG_TARGETS; 357 } 358 359 360 361 /** 362 * Managed object client implementation. 363 */ 364 private static class DebugLogPublisherCfgClientImpl implements 365 DebugLogPublisherCfgClient { 366 367 /** Private implementation. */ 368 private ManagedObject<? extends DebugLogPublisherCfgClient> impl; 369 370 371 372 /** Private constructor. */ 373 private DebugLogPublisherCfgClientImpl( 374 ManagedObject<? extends DebugLogPublisherCfgClient> impl) { 375 this.impl = impl; 376 } 377 378 379 380 /** {@inheritDoc} */ 381 public boolean isDefaultDebugExceptionsOnly() { 382 return impl.getPropertyValue(INSTANCE.getDefaultDebugExceptionsOnlyPropertyDefinition()); 383 } 384 385 386 387 /** {@inheritDoc} */ 388 public void setDefaultDebugExceptionsOnly(Boolean value) { 389 impl.setPropertyValue(INSTANCE.getDefaultDebugExceptionsOnlyPropertyDefinition(), value); 390 } 391 392 393 394 /** {@inheritDoc} */ 395 public boolean isDefaultIncludeThrowableCause() { 396 return impl.getPropertyValue(INSTANCE.getDefaultIncludeThrowableCausePropertyDefinition()); 397 } 398 399 400 401 /** {@inheritDoc} */ 402 public void setDefaultIncludeThrowableCause(Boolean value) { 403 impl.setPropertyValue(INSTANCE.getDefaultIncludeThrowableCausePropertyDefinition(), value); 404 } 405 406 407 408 /** {@inheritDoc} */ 409 public boolean isDefaultOmitMethodEntryArguments() { 410 return impl.getPropertyValue(INSTANCE.getDefaultOmitMethodEntryArgumentsPropertyDefinition()); 411 } 412 413 414 415 /** {@inheritDoc} */ 416 public void setDefaultOmitMethodEntryArguments(Boolean value) { 417 impl.setPropertyValue(INSTANCE.getDefaultOmitMethodEntryArgumentsPropertyDefinition(), value); 418 } 419 420 421 422 /** {@inheritDoc} */ 423 public boolean isDefaultOmitMethodReturnValue() { 424 return impl.getPropertyValue(INSTANCE.getDefaultOmitMethodReturnValuePropertyDefinition()); 425 } 426 427 428 429 /** {@inheritDoc} */ 430 public void setDefaultOmitMethodReturnValue(Boolean value) { 431 impl.setPropertyValue(INSTANCE.getDefaultOmitMethodReturnValuePropertyDefinition(), value); 432 } 433 434 435 436 /** {@inheritDoc} */ 437 public int getDefaultThrowableStackFrames() { 438 return impl.getPropertyValue(INSTANCE.getDefaultThrowableStackFramesPropertyDefinition()); 439 } 440 441 442 443 /** {@inheritDoc} */ 444 public void setDefaultThrowableStackFrames(Integer value) { 445 impl.setPropertyValue(INSTANCE.getDefaultThrowableStackFramesPropertyDefinition(), value); 446 } 447 448 449 450 /** {@inheritDoc} */ 451 public Boolean isEnabled() { 452 return impl.getPropertyValue(INSTANCE.getEnabledPropertyDefinition()); 453 } 454 455 456 457 /** {@inheritDoc} */ 458 public void setEnabled(boolean value) { 459 impl.setPropertyValue(INSTANCE.getEnabledPropertyDefinition(), value); 460 } 461 462 463 464 /** {@inheritDoc} */ 465 public String getJavaClass() { 466 return impl.getPropertyValue(INSTANCE.getJavaClassPropertyDefinition()); 467 } 468 469 470 471 /** {@inheritDoc} */ 472 public void setJavaClass(String value) { 473 impl.setPropertyValue(INSTANCE.getJavaClassPropertyDefinition(), value); 474 } 475 476 477 478 /** {@inheritDoc} */ 479 public String[] listDebugTargets() throws ConcurrentModificationException, 480 LdapException { 481 return impl.listChildren(INSTANCE.getDebugTargetsRelationDefinition()); 482 } 483 484 485 486 /** {@inheritDoc} */ 487 public DebugTargetCfgClient getDebugTarget(String name) 488 throws DefinitionDecodingException, ManagedObjectDecodingException, 489 ManagedObjectNotFoundException, ConcurrentModificationException, 490 LdapException { 491 return impl.getChild(INSTANCE.getDebugTargetsRelationDefinition(), name).getConfiguration(); 492 } 493 494 495 496 /** {@inheritDoc} */ 497 public <M extends DebugTargetCfgClient> M createDebugTarget( 498 ManagedObjectDefinition<M, ? extends DebugTargetCfg> d, String name, Collection<PropertyException> exceptions) throws IllegalManagedObjectNameException { 499 return impl.createChild(INSTANCE.getDebugTargetsRelationDefinition(), d, name, exceptions).getConfiguration(); 500 } 501 502 503 504 /** {@inheritDoc} */ 505 public void removeDebugTarget(String name) 506 throws ManagedObjectNotFoundException, ConcurrentModificationException, 507 OperationRejectedException, LdapException { 508 impl.removeChild(INSTANCE.getDebugTargetsRelationDefinition(), name); 509 } 510 511 512 513 /** {@inheritDoc} */ 514 public ManagedObjectDefinition<? extends DebugLogPublisherCfgClient, ? extends DebugLogPublisherCfg> definition() { 515 return INSTANCE; 516 } 517 518 519 520 /** {@inheritDoc} */ 521 public PropertyProvider properties() { 522 return impl; 523 } 524 525 526 527 /** {@inheritDoc} */ 528 public void commit() throws ManagedObjectAlreadyExistsException, 529 MissingMandatoryPropertiesException, ConcurrentModificationException, 530 OperationRejectedException, LdapException { 531 impl.commit(); 532 } 533 534 535 536 /** {@inheritDoc} */ 537 public String toString() { 538 return impl.toString(); 539 } 540 } 541 542 543 544 /** 545 * Managed object server implementation. 546 */ 547 private static class DebugLogPublisherCfgServerImpl implements 548 DebugLogPublisherCfg { 549 550 /** Private implementation. */ 551 private ServerManagedObject<? extends DebugLogPublisherCfg> impl; 552 553 /** The value of the "default-debug-exceptions-only" property. */ 554 private final boolean pDefaultDebugExceptionsOnly; 555 556 /** The value of the "default-include-throwable-cause" property. */ 557 private final boolean pDefaultIncludeThrowableCause; 558 559 /** The value of the "default-omit-method-entry-arguments" property. */ 560 private final boolean pDefaultOmitMethodEntryArguments; 561 562 /** The value of the "default-omit-method-return-value" property. */ 563 private final boolean pDefaultOmitMethodReturnValue; 564 565 /** The value of the "default-throwable-stack-frames" property. */ 566 private final int pDefaultThrowableStackFrames; 567 568 /** The value of the "enabled" property. */ 569 private final boolean pEnabled; 570 571 /** The value of the "java-class" property. */ 572 private final String pJavaClass; 573 574 575 576 /** Private constructor. */ 577 private DebugLogPublisherCfgServerImpl(ServerManagedObject<? extends DebugLogPublisherCfg> impl) { 578 this.impl = impl; 579 this.pDefaultDebugExceptionsOnly = impl.getPropertyValue(INSTANCE.getDefaultDebugExceptionsOnlyPropertyDefinition()); 580 this.pDefaultIncludeThrowableCause = impl.getPropertyValue(INSTANCE.getDefaultIncludeThrowableCausePropertyDefinition()); 581 this.pDefaultOmitMethodEntryArguments = impl.getPropertyValue(INSTANCE.getDefaultOmitMethodEntryArgumentsPropertyDefinition()); 582 this.pDefaultOmitMethodReturnValue = impl.getPropertyValue(INSTANCE.getDefaultOmitMethodReturnValuePropertyDefinition()); 583 this.pDefaultThrowableStackFrames = impl.getPropertyValue(INSTANCE.getDefaultThrowableStackFramesPropertyDefinition()); 584 this.pEnabled = impl.getPropertyValue(INSTANCE.getEnabledPropertyDefinition()); 585 this.pJavaClass = impl.getPropertyValue(INSTANCE.getJavaClassPropertyDefinition()); 586 } 587 588 589 590 /** {@inheritDoc} */ 591 public void addDebugChangeListener( 592 ConfigurationChangeListener<DebugLogPublisherCfg> listener) { 593 impl.registerChangeListener(listener); 594 } 595 596 597 598 /** {@inheritDoc} */ 599 public void removeDebugChangeListener( 600 ConfigurationChangeListener<DebugLogPublisherCfg> listener) { 601 impl.deregisterChangeListener(listener); 602 } 603 /** {@inheritDoc} */ 604 public void addChangeListener( 605 ConfigurationChangeListener<LogPublisherCfg> listener) { 606 impl.registerChangeListener(listener); 607 } 608 609 610 611 /** {@inheritDoc} */ 612 public void removeChangeListener( 613 ConfigurationChangeListener<LogPublisherCfg> listener) { 614 impl.deregisterChangeListener(listener); 615 } 616 617 618 619 /** {@inheritDoc} */ 620 public boolean isDefaultDebugExceptionsOnly() { 621 return pDefaultDebugExceptionsOnly; 622 } 623 624 625 626 /** {@inheritDoc} */ 627 public boolean isDefaultIncludeThrowableCause() { 628 return pDefaultIncludeThrowableCause; 629 } 630 631 632 633 /** {@inheritDoc} */ 634 public boolean isDefaultOmitMethodEntryArguments() { 635 return pDefaultOmitMethodEntryArguments; 636 } 637 638 639 640 /** {@inheritDoc} */ 641 public boolean isDefaultOmitMethodReturnValue() { 642 return pDefaultOmitMethodReturnValue; 643 } 644 645 646 647 /** {@inheritDoc} */ 648 public int getDefaultThrowableStackFrames() { 649 return pDefaultThrowableStackFrames; 650 } 651 652 653 654 /** {@inheritDoc} */ 655 public boolean isEnabled() { 656 return pEnabled; 657 } 658 659 660 661 /** {@inheritDoc} */ 662 public String getJavaClass() { 663 return pJavaClass; 664 } 665 666 667 668 /** {@inheritDoc} */ 669 public String[] listDebugTargets() { 670 return impl.listChildren(INSTANCE.getDebugTargetsRelationDefinition()); 671 } 672 673 674 675 /** {@inheritDoc} */ 676 public DebugTargetCfg getDebugTarget(String name) throws ConfigException { 677 return impl.getChild(INSTANCE.getDebugTargetsRelationDefinition(), name).getConfiguration(); 678 } 679 680 681 682 /** {@inheritDoc} */ 683 public void addDebugTargetAddListener( 684 ConfigurationAddListener<DebugTargetCfg> listener) throws ConfigException { 685 impl.registerAddListener(INSTANCE.getDebugTargetsRelationDefinition(), listener); 686 } 687 688 689 690 /** {@inheritDoc} */ 691 public void removeDebugTargetAddListener( 692 ConfigurationAddListener<DebugTargetCfg> listener) { 693 impl.deregisterAddListener(INSTANCE.getDebugTargetsRelationDefinition(), listener); 694 } 695 696 697 698 /** {@inheritDoc} */ 699 public void addDebugTargetDeleteListener( 700 ConfigurationDeleteListener<DebugTargetCfg> listener) throws ConfigException { 701 impl.registerDeleteListener(INSTANCE.getDebugTargetsRelationDefinition(), listener); 702 } 703 704 705 706 /** {@inheritDoc} */ 707 public void removeDebugTargetDeleteListener( 708 ConfigurationDeleteListener<DebugTargetCfg> listener) { 709 impl.deregisterDeleteListener(INSTANCE.getDebugTargetsRelationDefinition(), listener); 710 } 711 712 713 714 /** {@inheritDoc} */ 715 public Class<? extends DebugLogPublisherCfg> configurationClass() { 716 return DebugLogPublisherCfg.class; 717 } 718 719 720 721 /** {@inheritDoc} */ 722 public DN dn() { 723 return impl.getDN(); 724 } 725 726 727 728 /** {@inheritDoc} */ 729 public String toString() { 730 return impl.toString(); 731 } 732 } 733}