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
010 * trunk/opends/resource/legal-notices/OpenDS.LICENSE
011 * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
012 * See the License for the specific language governing permissions
013 * and limitations under the License.
014 *
015 * When distributing Covered Code, include this CDDL HEADER in each
016 * file and include the License file at
017 * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
018 * add the following below this CDDL HEADER, with the fields enclosed
019 * by brackets "[]" replaced with your own identifying information:
020 * Portions Copyright [yyyy] [name of copyright owner]
021 *
022 * CDDL HEADER END
023 *
024 *
025 * Copyright 2008 Sun Microsystems, Inc.
026 */
027 package org.opends.server.admin.std.client;
028
029
030
031 import org.opends.server.admin.IllegalPropertyValueException;
032 import org.opends.server.admin.ManagedObjectDefinition;
033 import org.opends.server.admin.std.server.JMXConnectionHandlerCfg;
034
035
036
037 /**
038 * A client-side interface for reading and modifying JMX Connection
039 * Handler settings.
040 * <p>
041 * The JMX Connection Handler is used to interact with clients using
042 * the Java Management Extensions (JMX) protocol.
043 */
044 public interface JMXConnectionHandlerCfgClient extends ConnectionHandlerCfgClient {
045
046 /**
047 * Get the configuration definition associated with this JMX Connection Handler.
048 *
049 * @return Returns the configuration definition associated with this JMX Connection Handler.
050 */
051 ManagedObjectDefinition<? extends JMXConnectionHandlerCfgClient, ? extends JMXConnectionHandlerCfg> definition();
052
053
054
055 /**
056 * Gets the "java-class" property.
057 * <p>
058 * Specifies the fully-qualified name of the Java class that
059 * provides the JMX Connection Handler implementation.
060 *
061 * @return Returns the value of the "java-class" property.
062 */
063 String getJavaClass();
064
065
066
067 /**
068 * Sets the "java-class" property.
069 * <p>
070 * Specifies the fully-qualified name of the Java class that
071 * provides the JMX Connection Handler implementation.
072 *
073 * @param value The value of the "java-class" property.
074 * @throws IllegalPropertyValueException
075 * If the new value is invalid.
076 */
077 void setJavaClass(String value) throws IllegalPropertyValueException;
078
079
080
081 /**
082 * Gets the "key-manager-provider" property.
083 * <p>
084 * Specifies the name of the key manager that should be used with
085 * this JMX Connection Handler .
086 *
087 * @return Returns the value of the "key-manager-provider" property.
088 */
089 String getKeyManagerProvider();
090
091
092
093 /**
094 * Sets the "key-manager-provider" property.
095 * <p>
096 * Specifies the name of the key manager that should be used with
097 * this JMX Connection Handler .
098 *
099 * @param value The value of the "key-manager-provider" property.
100 * @throws IllegalPropertyValueException
101 * If the new value is invalid.
102 */
103 void setKeyManagerProvider(String value) throws IllegalPropertyValueException;
104
105
106
107 /**
108 * Gets the "listen-port" property.
109 * <p>
110 * Specifies the port number on which the JMX Connection Handler
111 * will listen for connections from clients.
112 * <p>
113 * Only a single port number may be provided.
114 *
115 * @return Returns the value of the "listen-port" property.
116 */
117 Integer getListenPort();
118
119
120
121 /**
122 * Sets the "listen-port" property.
123 * <p>
124 * Specifies the port number on which the JMX Connection Handler
125 * will listen for connections from clients.
126 * <p>
127 * Only a single port number may be provided.
128 *
129 * @param value The value of the "listen-port" property.
130 * @throws IllegalPropertyValueException
131 * If the new value is invalid.
132 */
133 void setListenPort(int value) throws IllegalPropertyValueException;
134
135
136
137 /**
138 * Gets the "ssl-cert-nickname" property.
139 * <p>
140 * Specifies the nickname (also called the alias) of the certificate
141 * that the JMX Connection Handler should use when performing SSL
142 * communication.
143 * <p>
144 * This is only applicable when the JMX Connection Handler is
145 * configured to use SSL.
146 *
147 * @return Returns the value of the "ssl-cert-nickname" property.
148 */
149 String getSSLCertNickname();
150
151
152
153 /**
154 * Sets the "ssl-cert-nickname" property.
155 * <p>
156 * Specifies the nickname (also called the alias) of the certificate
157 * that the JMX Connection Handler should use when performing SSL
158 * communication.
159 * <p>
160 * This is only applicable when the JMX Connection Handler is
161 * configured to use SSL.
162 *
163 * @param value The value of the "ssl-cert-nickname" property.
164 * @throws IllegalPropertyValueException
165 * If the new value is invalid.
166 */
167 void setSSLCertNickname(String value) throws IllegalPropertyValueException;
168
169
170
171 /**
172 * Gets the "use-ssl" property.
173 * <p>
174 * Indicates whether the JMX Connection Handler should use SSL.
175 * <p>
176 * If enabled, the JMX Connection Handler will use SSL to encrypt
177 * communication with the clients.
178 *
179 * @return Returns the value of the "use-ssl" property.
180 */
181 boolean isUseSSL();
182
183
184
185 /**
186 * Sets the "use-ssl" property.
187 * <p>
188 * Indicates whether the JMX Connection Handler should use SSL.
189 * <p>
190 * If enabled, the JMX Connection Handler will use SSL to encrypt
191 * communication with the clients.
192 *
193 * @param value The value of the "use-ssl" property.
194 * @throws IllegalPropertyValueException
195 * If the new value is invalid.
196 */
197 void setUseSSL(Boolean value) throws IllegalPropertyValueException;
198
199 }