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 java.util.Collection; 031import java.util.SortedSet; 032import org.opends.server.admin.ManagedObjectDefinition; 033import org.opends.server.admin.PropertyException; 034import org.opends.server.admin.std.server.CoreSchemaCfg; 035 036 037 038/** 039 * A client-side interface for reading and modifying Core Schema 040 * settings. 041 * <p> 042 * Core Schema define the core schema elements to load. 043 */ 044public interface CoreSchemaCfgClient extends SchemaProviderCfgClient { 045 046 /** 047 * Get the configuration definition associated with this Core Schema. 048 * 049 * @return Returns the configuration definition associated with this Core Schema. 050 */ 051 ManagedObjectDefinition<? extends CoreSchemaCfgClient, ? extends CoreSchemaCfg> definition(); 052 053 054 055 /** 056 * Gets the "allow-zero-length-values-directory-string" property. 057 * <p> 058 * Indicates whether zero-length (that is, an empty string) values 059 * are allowed for directory string. 060 * <p> 061 * This is technically not allowed by the revised LDAPv3 062 * specification, but some environments may require it for backward 063 * compatibility with servers that do allow it. 064 * 065 * @return Returns the value of the "allow-zero-length-values-directory-string" property. 066 */ 067 boolean isAllowZeroLengthValuesDirectoryString(); 068 069 070 071 /** 072 * Sets the "allow-zero-length-values-directory-string" property. 073 * <p> 074 * Indicates whether zero-length (that is, an empty string) values 075 * are allowed for directory string. 076 * <p> 077 * This is technically not allowed by the revised LDAPv3 078 * specification, but some environments may require it for backward 079 * compatibility with servers that do allow it. 080 * 081 * @param value The value of the "allow-zero-length-values-directory-string" property. 082 * @throws PropertyException 083 * If the new value is invalid. 084 */ 085 void setAllowZeroLengthValuesDirectoryString(Boolean value) throws PropertyException; 086 087 088 089 /** 090 * Gets the "disabled-matching-rule" property. 091 * <p> 092 * The set of disabled matching rules. 093 * <p> 094 * Matching rules must be specified using the syntax: OID, or use 095 * the default value 'NONE' to specify no value. 096 * 097 * @return Returns the values of the "disabled-matching-rule" property. 098 */ 099 SortedSet<String> getDisabledMatchingRule(); 100 101 102 103 /** 104 * Sets the "disabled-matching-rule" property. 105 * <p> 106 * The set of disabled matching rules. 107 * <p> 108 * Matching rules must be specified using the syntax: OID, or use 109 * the default value 'NONE' to specify no value. 110 * 111 * @param values The values of the "disabled-matching-rule" property. 112 * @throws PropertyException 113 * If one or more of the new values are invalid. 114 */ 115 void setDisabledMatchingRule(Collection<String> values) throws PropertyException; 116 117 118 119 /** 120 * Gets the "disabled-syntax" property. 121 * <p> 122 * The set of disabled syntaxes. 123 * <p> 124 * Syntaxes must be specified using the syntax: OID, or use the 125 * default value 'NONE' to specify no value. 126 * 127 * @return Returns the values of the "disabled-syntax" property. 128 */ 129 SortedSet<String> getDisabledSyntax(); 130 131 132 133 /** 134 * Sets the "disabled-syntax" property. 135 * <p> 136 * The set of disabled syntaxes. 137 * <p> 138 * Syntaxes must be specified using the syntax: OID, or use the 139 * default value 'NONE' to specify no value. 140 * 141 * @param values The values of the "disabled-syntax" property. 142 * @throws PropertyException 143 * If one or more of the new values are invalid. 144 */ 145 void setDisabledSyntax(Collection<String> values) throws PropertyException; 146 147 148 149 /** 150 * Gets the "java-class" property. 151 * <p> 152 * Specifies the fully-qualified name of the Java class that 153 * provides the Core Schema implementation. 154 * 155 * @return Returns the value of the "java-class" property. 156 */ 157 String getJavaClass(); 158 159 160 161 /** 162 * Sets the "java-class" property. 163 * <p> 164 * Specifies the fully-qualified name of the Java class that 165 * provides the Core Schema implementation. 166 * 167 * @param value The value of the "java-class" property. 168 * @throws PropertyException 169 * If the new value is invalid. 170 */ 171 void setJavaClass(String value) throws PropertyException; 172 173 174 175 /** 176 * Gets the "strict-format-country-string" property. 177 * <p> 178 * Indicates whether or not country code values are required to 179 * strictly comply with the standard definition for this syntax. 180 * <p> 181 * When set to false, country codes will not be validated and, as a 182 * result any string containing 2 characters will be acceptable. 183 * 184 * @return Returns the value of the "strict-format-country-string" property. 185 */ 186 boolean isStrictFormatCountryString(); 187 188 189 190 /** 191 * Sets the "strict-format-country-string" property. 192 * <p> 193 * Indicates whether or not country code values are required to 194 * strictly comply with the standard definition for this syntax. 195 * <p> 196 * When set to false, country codes will not be validated and, as a 197 * result any string containing 2 characters will be acceptable. 198 * 199 * @param value The value of the "strict-format-country-string" property. 200 * @throws PropertyException 201 * If the new value is invalid. 202 */ 203 void setStrictFormatCountryString(Boolean value) throws PropertyException; 204 205 206 207 /** 208 * Gets the "strip-syntax-min-upper-bound-attribute-type-description" property. 209 * <p> 210 * Indicates whether the suggested minimum upper bound appended to 211 * an attribute's syntax OID in it's schema definition Attribute Type 212 * Description is stripped off. 213 * <p> 214 * When retrieving the server's schema, some APIs (JNDI) fail in 215 * their syntax lookup methods, because they do not parse this value 216 * correctly. This configuration option allows the server to be 217 * configured to provide schema definitions these APIs can parse 218 * correctly. 219 * 220 * @return Returns the value of the "strip-syntax-min-upper-bound-attribute-type-description" property. 221 */ 222 boolean isStripSyntaxMinUpperBoundAttributeTypeDescription(); 223 224 225 226 /** 227 * Sets the "strip-syntax-min-upper-bound-attribute-type-description" property. 228 * <p> 229 * Indicates whether the suggested minimum upper bound appended to 230 * an attribute's syntax OID in it's schema definition Attribute Type 231 * Description is stripped off. 232 * <p> 233 * When retrieving the server's schema, some APIs (JNDI) fail in 234 * their syntax lookup methods, because they do not parse this value 235 * correctly. This configuration option allows the server to be 236 * configured to provide schema definitions these APIs can parse 237 * correctly. 238 * 239 * @param value The value of the "strip-syntax-min-upper-bound-attribute-type-description" property. 240 * @throws PropertyException 241 * If the new value is invalid. 242 */ 243 void setStripSyntaxMinUpperBoundAttributeTypeDescription(Boolean value) throws PropertyException; 244 245}