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