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-2009 Sun Microsystems, Inc. 015 * Portions Copyright 2011-2016 ForgeRock AS. 016 */ 017package org.opends.server.core; 018 019import java.util.List; 020import java.util.Set; 021 022import org.forgerock.opendj.ldap.ByteString; 023import org.forgerock.opendj.ldap.DN; 024import org.forgerock.opendj.ldap.DereferenceAliasesPolicy; 025import org.forgerock.opendj.ldap.SearchScope; 026import org.opends.server.controls.MatchedValuesControl; 027import org.opends.server.types.*; 028 029/** 030 * This abstract class wraps/decorates a given search operation. 031 * This class will be extended by sub-classes to enhance the 032 * functionality of the SearchOperationBasis. 033 */ 034public abstract class SearchOperationWrapper extends 035 OperationWrapper<SearchOperation> implements SearchOperation 036{ 037 /** 038 * Creates a new search operation based on the provided search operation. 039 * 040 * @param search The search operation to wrap 041 */ 042 protected SearchOperationWrapper(SearchOperation search) 043 { 044 super(search); 045 } 046 047 @Override 048 public boolean returnEntry(Entry entry, List<Control> controls) 049 { 050 return getOperation().returnEntry(entry, controls); 051 } 052 053 @Override 054 public boolean returnEntry(Entry entry, List<Control> controls, 055 boolean evaluateAci) 056 { 057 return getOperation().returnEntry(entry, controls, evaluateAci); 058 } 059 060 @Override 061 public boolean returnReference(DN dn, SearchResultReference reference) 062 { 063 return getOperation().returnReference(dn, reference); 064 } 065 066 @Override 067 public boolean returnReference(DN dn, SearchResultReference reference, 068 boolean evaluateAci) 069 { 070 return getOperation().returnReference(dn, reference, evaluateAci); 071 } 072 073 @Override 074 public String toString() 075 { 076 return getOperation().toString(); 077 } 078 079 @Override 080 public Set<String> getAttributes() 081 { 082 return getOperation().getAttributes(); 083 } 084 085 @Override 086 public DN getBaseDN() 087 { 088 return getOperation().getBaseDN(); 089 } 090 091 @Override 092 public DereferenceAliasesPolicy getDerefPolicy() 093 { 094 return getOperation().getDerefPolicy(); 095 } 096 097 @Override 098 public int getEntriesSent() 099 { 100 return getOperation().getEntriesSent(); 101 } 102 103 @Override 104 public SearchFilter getFilter() 105 { 106 return getOperation().getFilter(); 107 } 108 109 @Override 110 public ByteString getRawBaseDN() 111 { 112 return getOperation().getRawBaseDN(); 113 } 114 115 @Override 116 public RawFilter getRawFilter() 117 { 118 return getOperation().getRawFilter(); 119 } 120 121 @Override 122 public int getReferencesSent() 123 { 124 return getOperation().getReferencesSent(); 125 } 126 127 @Override 128 public SearchScope getScope() 129 { 130 return getOperation().getScope(); 131 } 132 133 @Override 134 public int getSizeLimit() 135 { 136 return getOperation().getSizeLimit(); 137 } 138 139 @Override 140 public int getTimeLimit() 141 { 142 return getOperation().getTimeLimit(); 143 } 144 145 @Override 146 public boolean getTypesOnly() 147 { 148 return getOperation().getTypesOnly(); 149 } 150 151 @Override 152 public void sendSearchResultDone() 153 { 154 getOperation().sendSearchResultDone(); 155 } 156 157 @Override 158 public void setAttributes(Set<String> attributes) 159 { 160 getOperation().setAttributes(attributes); 161 } 162 163 @Override 164 public void setBaseDN(DN baseDN) 165 { 166 getOperation().setBaseDN(baseDN); 167 } 168 169 @Override 170 public void setDerefPolicy(DereferenceAliasesPolicy derefPolicy) 171 { 172 getOperation().setDerefPolicy(derefPolicy); 173 } 174 175 @Override 176 public void setRawBaseDN(ByteString rawBaseDN) 177 { 178 getOperation().setRawBaseDN(rawBaseDN); 179 } 180 181 @Override 182 public void setRawFilter(RawFilter rawFilter) 183 { 184 getOperation().setRawFilter(rawFilter); 185 } 186 187 @Override 188 public void setScope(SearchScope scope) 189 { 190 getOperation().setScope(scope); 191 } 192 193 @Override 194 public void setSizeLimit(int sizeLimit) 195 { 196 getOperation().setSizeLimit(sizeLimit); 197 } 198 199 @Override 200 public void setTimeLimit(int timeLimit) 201 { 202 getOperation().setTimeLimit(timeLimit); 203 } 204 205 @Override 206 public void setTypesOnly(boolean typesOnly) 207 { 208 getOperation().setTypesOnly(typesOnly); 209 } 210 211 @Override 212 public void setTimeLimitExpiration(long timeLimitExpiration) 213 { 214 getOperation().setTimeLimitExpiration(timeLimitExpiration); 215 } 216 217 @Override 218 public boolean isReturnSubentriesOnly() 219 { 220 return getOperation().isReturnSubentriesOnly(); 221 } 222 223 @Override 224 public void setReturnSubentriesOnly(boolean returnLDAPSubentries) 225 { 226 getOperation().setReturnSubentriesOnly(returnLDAPSubentries); 227 } 228 229 @Override 230 public MatchedValuesControl getMatchedValuesControl() 231 { 232 return getOperation().getMatchedValuesControl(); 233 } 234 235 @Override 236 public void setMatchedValuesControl(MatchedValuesControl controls) 237 { 238 getOperation().setMatchedValuesControl(controls); 239 } 240 241 @Override 242 public boolean isIncludeUsableControl() 243 { 244 return getOperation().isIncludeUsableControl(); 245 } 246 247 @Override 248 public void setIncludeUsableControl(boolean includeUsableControl) 249 { 250 getOperation().setIncludeUsableControl(includeUsableControl); 251 } 252 253 @Override 254 public long getTimeLimitExpiration() 255 { 256 return getOperation().getTimeLimitExpiration(); 257 } 258 259 @Override 260 public boolean isClientAcceptsReferrals() 261 { 262 return getOperation().isClientAcceptsReferrals(); 263 } 264 265 @Override 266 public void setClientAcceptsReferrals(boolean clientAcceptReferrals) 267 { 268 getOperation().setClientAcceptsReferrals(clientAcceptReferrals); 269 } 270 271 @Override 272 public boolean isSendResponse() 273 { 274 return getOperation().isSendResponse(); 275 } 276 277 @Override 278 public void setSendResponse(boolean sendResponse) 279 { 280 getOperation().setSendResponse(sendResponse); 281 } 282 283 @Override 284 public boolean isRealAttributesOnly(){ 285 return getOperation().isRealAttributesOnly(); 286 } 287 288 @Override 289 public void setRealAttributesOnly(boolean realAttributesOnly){ 290 getOperation().setRealAttributesOnly(realAttributesOnly); 291 } 292 293 @Override 294 public boolean isVirtualAttributesOnly() 295 { 296 return getOperation().isVirtualAttributesOnly(); 297 } 298 299 @Override 300 public void setVirtualAttributesOnly(boolean virtualAttributesOnly){ 301 getOperation().setVirtualAttributesOnly(virtualAttributesOnly); 302 } 303 304 @Override 305 public void sendSearchEntry(SearchResultEntry entry) 306 throws DirectoryException 307 { 308 getOperation().sendSearchEntry(entry); 309 } 310 311 @Override 312 public boolean sendSearchReference(SearchResultReference reference) 313 throws DirectoryException 314 { 315 return getOperation().sendSearchReference(reference); 316 } 317}