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.ConfigurationClient; 032 import org.opends.server.admin.IllegalPropertyValueException; 033 import org.opends.server.admin.ManagedObjectDefinition; 034 import org.opends.server.admin.PropertyIsReadOnlyException; 035 import org.opends.server.admin.std.meta.LocalDBVLVIndexCfgDefn.Scope; 036 import org.opends.server.admin.std.server.LocalDBVLVIndexCfg; 037 import org.opends.server.types.DN; 038 039 040 041 /** 042 * A client-side interface for reading and modifying Local DB VLV 043 * Index settings. 044 * <p> 045 * Local DB VLV Indexes are used to store information about a specific 046 * search request that makes it possible to efficiently process them 047 * using the VLV control. 048 */ 049 public interface LocalDBVLVIndexCfgClient extends ConfigurationClient { 050 051 /** 052 * Get the configuration definition associated with this Local DB VLV Index. 053 * 054 * @return Returns the configuration definition associated with this Local DB VLV Index. 055 */ 056 ManagedObjectDefinition<? extends LocalDBVLVIndexCfgClient, ? extends LocalDBVLVIndexCfg> definition(); 057 058 059 060 /** 061 * Gets the "base-dn" property. 062 * <p> 063 * Specifies the base DN used in the search query that is being 064 * indexed. 065 * 066 * @return Returns the value of the "base-dn" property. 067 */ 068 DN getBaseDN(); 069 070 071 072 /** 073 * Sets the "base-dn" property. 074 * <p> 075 * Specifies the base DN used in the search query that is being 076 * indexed. 077 * 078 * @param value The value of the "base-dn" property. 079 * @throws IllegalPropertyValueException 080 * If the new value is invalid. 081 */ 082 void setBaseDN(DN value) throws IllegalPropertyValueException; 083 084 085 086 /** 087 * Gets the "filter" property. 088 * <p> 089 * Specifies the LDAP filter used in the query that is being 090 * indexed. 091 * 092 * @return Returns the value of the "filter" property. 093 */ 094 String getFilter(); 095 096 097 098 /** 099 * Sets the "filter" property. 100 * <p> 101 * Specifies the LDAP filter used in the query that is being 102 * indexed. 103 * 104 * @param value The value of the "filter" property. 105 * @throws IllegalPropertyValueException 106 * If the new value is invalid. 107 */ 108 void setFilter(String value) throws IllegalPropertyValueException; 109 110 111 112 /** 113 * Gets the "max-block-size" property. 114 * <p> 115 * Specifies the number of entry IDs to store in a single sorted set 116 * before it must be split. 117 * 118 * @return Returns the value of the "max-block-size" property. 119 */ 120 int getMaxBlockSize(); 121 122 123 124 /** 125 * Sets the "max-block-size" property. 126 * <p> 127 * Specifies the number of entry IDs to store in a single sorted set 128 * before it must be split. 129 * <p> 130 * This property is read-only and can only be modified during 131 * creation of a Local DB VLV Index. 132 * 133 * @param value The value of the "max-block-size" property. 134 * @throws IllegalPropertyValueException 135 * If the new value is invalid. 136 * @throws PropertyIsReadOnlyException 137 * If this Local DB VLV Index is not being initialized. 138 */ 139 void setMaxBlockSize(Integer value) throws IllegalPropertyValueException, PropertyIsReadOnlyException; 140 141 142 143 /** 144 * Gets the "name" property. 145 * <p> 146 * Specifies a unique name for this VLV index. 147 * 148 * @return Returns the value of the "name" property. 149 */ 150 String getName(); 151 152 153 154 /** 155 * Sets the "name" property. 156 * <p> 157 * Specifies a unique name for this VLV index. 158 * <p> 159 * This property is read-only and can only be modified during 160 * creation of a Local DB VLV Index. 161 * 162 * @param value The value of the "name" property. 163 * @throws IllegalPropertyValueException 164 * If the new value is invalid. 165 * @throws PropertyIsReadOnlyException 166 * If this Local DB VLV Index is not being initialized. 167 */ 168 void setName(String value) throws IllegalPropertyValueException, PropertyIsReadOnlyException; 169 170 171 172 /** 173 * Gets the "scope" property. 174 * <p> 175 * Specifies the LDAP scope of the query that is being indexed. 176 * 177 * @return Returns the value of the "scope" property. 178 */ 179 Scope getScope(); 180 181 182 183 /** 184 * Sets the "scope" property. 185 * <p> 186 * Specifies the LDAP scope of the query that is being indexed. 187 * 188 * @param value The value of the "scope" property. 189 * @throws IllegalPropertyValueException 190 * If the new value is invalid. 191 */ 192 void setScope(Scope value) throws IllegalPropertyValueException; 193 194 195 196 /** 197 * Gets the "sort-order" property. 198 * <p> 199 * Specifies the names of the attributes that are used to sort the 200 * entries for the query being indexed. 201 * <p> 202 * Multiple attributes can be used to determine the sort order by 203 * listing the attribute names from highest to lowest precedence. 204 * Optionally, + or - can be prefixed to the attribute name to sort 205 * the attribute in ascending order or descending order respectively. 206 * 207 * @return Returns the value of the "sort-order" property. 208 */ 209 String getSortOrder(); 210 211 212 213 /** 214 * Sets the "sort-order" property. 215 * <p> 216 * Specifies the names of the attributes that are used to sort the 217 * entries for the query being indexed. 218 * <p> 219 * Multiple attributes can be used to determine the sort order by 220 * listing the attribute names from highest to lowest precedence. 221 * Optionally, + or - can be prefixed to the attribute name to sort 222 * the attribute in ascending order or descending order respectively. 223 * 224 * @param value The value of the "sort-order" property. 225 * @throws IllegalPropertyValueException 226 * If the new value is invalid. 227 */ 228 void setSortOrder(String value) throws IllegalPropertyValueException; 229 230 }