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.opends.server.admin.std.client;
027
028
029
030import org.opends.server.admin.ConfigurationClient;
031import org.opends.server.admin.ManagedObjectDefinition;
032import org.opends.server.admin.PropertyException;
033import org.opends.server.admin.std.server.DebugTargetCfg;
034
035
036
037/**
038 * A client-side interface for reading and modifying Debug Target
039 * settings.
040 * <p>
041 * Debug Targets define the types of messages logged by the debug
042 * logPublisher.
043 */
044public interface DebugTargetCfgClient extends ConfigurationClient {
045
046  /**
047   * Get the configuration definition associated with this Debug Target.
048   *
049   * @return Returns the configuration definition associated with this Debug Target.
050   */
051  ManagedObjectDefinition<? extends DebugTargetCfgClient, ? extends DebugTargetCfg> definition();
052
053
054
055  /**
056   * Gets the "debug-exceptions-only" property.
057   * <p>
058   * Indicates whether only logs with exception should be logged.
059   *
060   * @return Returns the value of the "debug-exceptions-only" property.
061   */
062  boolean isDebugExceptionsOnly();
063
064
065
066  /**
067   * Sets the "debug-exceptions-only" property.
068   * <p>
069   * Indicates whether only logs with exception should be logged.
070   *
071   * @param value The value of the "debug-exceptions-only" property.
072   * @throws PropertyException
073   *           If the new value is invalid.
074   */
075  void setDebugExceptionsOnly(Boolean value) throws PropertyException;
076
077
078
079  /**
080   * Gets the "debug-scope" property.
081   * <p>
082   * Specifies the fully-qualified OpenDJ Java package, class, or
083   * method affected by the settings in this target definition. Use the
084   * number character (#) to separate the class name and the method
085   * name (that is, org.opends.server.core.DirectoryServer#startUp).
086   *
087   * @return Returns the value of the "debug-scope" property.
088   */
089  String getDebugScope();
090
091
092
093  /**
094   * Sets the "debug-scope" property.
095   * <p>
096   * Specifies the fully-qualified OpenDJ Java package, class, or
097   * method affected by the settings in this target definition. Use the
098   * number character (#) to separate the class name and the method
099   * name (that is, org.opends.server.core.DirectoryServer#startUp).
100   * <p>
101   * This property is read-only and can only be modified during
102   * creation of a Debug Target.
103   *
104   * @param value The value of the "debug-scope" property.
105   * @throws PropertyException
106   *           If the new value is invalid.
107   * @throws PropertyException
108   *           If this Debug Target is not being initialized.
109   */
110  void setDebugScope(String value) throws PropertyException, PropertyException;
111
112
113
114  /**
115   * Gets the "enabled" property.
116   * <p>
117   * Indicates whether the Debug Target is enabled.
118   *
119   * @return Returns the value of the "enabled" property.
120   */
121  Boolean isEnabled();
122
123
124
125  /**
126   * Sets the "enabled" property.
127   * <p>
128   * Indicates whether the Debug Target is enabled.
129   *
130   * @param value The value of the "enabled" property.
131   * @throws PropertyException
132   *           If the new value is invalid.
133   */
134  void setEnabled(boolean value) throws PropertyException;
135
136
137
138  /**
139   * Gets the "include-throwable-cause" property.
140   * <p>
141   * Specifies the property to indicate whether to include the cause
142   * of exceptions in exception thrown and caught messages.
143   *
144   * @return Returns the value of the "include-throwable-cause" property.
145   */
146  boolean isIncludeThrowableCause();
147
148
149
150  /**
151   * Sets the "include-throwable-cause" property.
152   * <p>
153   * Specifies the property to indicate whether to include the cause
154   * of exceptions in exception thrown and caught messages.
155   *
156   * @param value The value of the "include-throwable-cause" property.
157   * @throws PropertyException
158   *           If the new value is invalid.
159   */
160  void setIncludeThrowableCause(Boolean value) throws PropertyException;
161
162
163
164  /**
165   * Gets the "omit-method-entry-arguments" property.
166   * <p>
167   * Specifies the property to indicate whether to include method
168   * arguments in debug messages.
169   *
170   * @return Returns the value of the "omit-method-entry-arguments" property.
171   */
172  boolean isOmitMethodEntryArguments();
173
174
175
176  /**
177   * Sets the "omit-method-entry-arguments" property.
178   * <p>
179   * Specifies the property to indicate whether to include method
180   * arguments in debug messages.
181   *
182   * @param value The value of the "omit-method-entry-arguments" property.
183   * @throws PropertyException
184   *           If the new value is invalid.
185   */
186  void setOmitMethodEntryArguments(Boolean value) throws PropertyException;
187
188
189
190  /**
191   * Gets the "omit-method-return-value" property.
192   * <p>
193   * Specifies the property to indicate whether to include the return
194   * value in debug messages.
195   *
196   * @return Returns the value of the "omit-method-return-value" property.
197   */
198  boolean isOmitMethodReturnValue();
199
200
201
202  /**
203   * Sets the "omit-method-return-value" property.
204   * <p>
205   * Specifies the property to indicate whether to include the return
206   * value in debug messages.
207   *
208   * @param value The value of the "omit-method-return-value" property.
209   * @throws PropertyException
210   *           If the new value is invalid.
211   */
212  void setOmitMethodReturnValue(Boolean value) throws PropertyException;
213
214
215
216  /**
217   * Gets the "throwable-stack-frames" property.
218   * <p>
219   * Specifies the property to indicate the number of stack frames to
220   * include in the stack trace for method entry and exception thrown
221   * messages.
222   *
223   * @return Returns the value of the "throwable-stack-frames" property.
224   */
225  int getThrowableStackFrames();
226
227
228
229  /**
230   * Sets the "throwable-stack-frames" property.
231   * <p>
232   * Specifies the property to indicate the number of stack frames to
233   * include in the stack trace for method entry and exception thrown
234   * messages.
235   *
236   * @param value The value of the "throwable-stack-frames" property.
237   * @throws PropertyException
238   *           If the new value is invalid.
239   */
240  void setThrowableStackFrames(Integer value) throws PropertyException;
241
242}