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.forgerock.opendj.server.config.server; 017 018 019 020import java.net.InetAddress; 021import java.util.SortedSet; 022import org.forgerock.opendj.config.Configuration; 023import org.forgerock.opendj.config.server.ConfigurationChangeListener; 024import org.forgerock.opendj.ldap.DN; 025 026 027 028/** 029 * A server-side interface for querying Administration Connector 030 * settings. 031 * <p> 032 * The Administration Connector is used to interact with 033 * administration tools using LDAP. 034 */ 035public interface AdministrationConnectorCfg extends Configuration { 036 037 /** 038 * Gets the configuration class associated with this Administration Connector. 039 * 040 * @return Returns the configuration class associated with this Administration Connector. 041 */ 042 Class<? extends AdministrationConnectorCfg> configurationClass(); 043 044 045 046 /** 047 * Register to be notified when this Administration Connector is changed. 048 * 049 * @param listener 050 * The Administration Connector configuration change listener. 051 */ 052 void addChangeListener(ConfigurationChangeListener<AdministrationConnectorCfg> listener); 053 054 055 056 /** 057 * Deregister an existing Administration Connector configuration change listener. 058 * 059 * @param listener 060 * The Administration Connector configuration change listener. 061 */ 062 void removeChangeListener(ConfigurationChangeListener<AdministrationConnectorCfg> listener); 063 064 065 066 /** 067 * Gets the "key-manager-provider" property. 068 * <p> 069 * Specifies the name of the key manager that is used with the 070 * Administration Connector . 071 * 072 * @return Returns the value of the "key-manager-provider" property. 073 */ 074 String getKeyManagerProvider(); 075 076 077 078 /** 079 * Gets the "key-manager-provider" property as a DN. 080 * <p> 081 * Specifies the name of the key manager that is used with the 082 * Administration Connector . 083 * 084 * @return Returns the DN value of the "key-manager-provider" 085 * property. 086 */ 087 DN getKeyManagerProviderDN(); 088 089 090 091 /** 092 * Gets the "listen-address" property. 093 * <p> 094 * Specifies the address or set of addresses on which this 095 * Administration Connector should listen for connections from LDAP 096 * clients. 097 * <p> 098 * Multiple addresses may be provided as separate values for this 099 * attribute. If no values are provided, then the Administration 100 * Connector listens on all interfaces. 101 * 102 * @return Returns an unmodifiable set containing the values of the "listen-address" property. 103 */ 104 SortedSet<InetAddress> getListenAddress(); 105 106 107 108 /** 109 * Gets the "listen-port" property. 110 * <p> 111 * Specifies the port number on which the Administration Connector 112 * will listen for connections from clients. 113 * <p> 114 * Only a single port number may be provided. 115 * 116 * @return Returns the value of the "listen-port" property. 117 */ 118 int getListenPort(); 119 120 121 122 /** 123 * Gets the "ssl-cert-nickname" property. 124 * <p> 125 * Specifies the nicknames (also called the aliases) of the 126 * certificates that the Administration Connector should use when 127 * performing SSL communication. The property can be used multiple 128 * times (referencing different nicknames) when an RSA, a DSA, and an 129 * ECC based server certificate is used in parallel. 130 * 131 * @return Returns an unmodifiable set containing the values of the "ssl-cert-nickname" property. 132 */ 133 SortedSet<String> getSSLCertNickname(); 134 135 136 137 /** 138 * Gets the "ssl-cipher-suite" property. 139 * <p> 140 * Specifies the names of the SSL cipher suites that are allowed for 141 * use in SSL communication. 142 * 143 * @return Returns an unmodifiable set containing the values of the "ssl-cipher-suite" property. 144 */ 145 SortedSet<String> getSSLCipherSuite(); 146 147 148 149 /** 150 * Gets the "ssl-protocol" property. 151 * <p> 152 * Specifies the names of the SSL protocols that are allowed for use 153 * in SSL or StartTLS communication. 154 * 155 * @return Returns an unmodifiable set containing the values of the "ssl-protocol" property. 156 */ 157 SortedSet<String> getSSLProtocol(); 158 159 160 161 /** 162 * Gets the "trust-manager-provider" property. 163 * <p> 164 * Specifies the name of the trust manager that is used with the 165 * Administration Connector . 166 * 167 * @return Returns the value of the "trust-manager-provider" property. 168 */ 169 String getTrustManagerProvider(); 170 171 172 173 /** 174 * Gets the "trust-manager-provider" property as a DN. 175 * <p> 176 * Specifies the name of the trust manager that is used with the 177 * Administration Connector . 178 * 179 * @return Returns the DN value of the "trust-manager-provider" 180 * property. 181 */ 182 DN getTrustManagerProviderDN(); 183 184}