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 2006-2008 Sun Microsystems, Inc. 025 * Portions Copyright 2013-2015 ForgeRock AS. 026 */ 027package org.opends.server.types.operation; 028 029import java.util.Set; 030 031import org.forgerock.opendj.ldap.ByteString; 032import org.forgerock.opendj.ldap.SearchScope; 033import org.opends.server.types.DN; 034import org.forgerock.opendj.ldap.DereferenceAliasesPolicy; 035import org.opends.server.types.RawFilter; 036import org.opends.server.types.SearchFilter; 037 038/** 039 * This class defines a set of methods that are available for use by 040 * search result entry plugins. Note that this interface is intended 041 * only to define an API for use by plugins and is not intended to be 042 * implemented by any custom classes. 043 */ 044@org.opends.server.types.PublicAPI( 045 stability=org.opends.server.types.StabilityLevel.UNCOMMITTED, 046 mayInstantiate=false, 047 mayExtend=false, 048 mayInvoke=true) 049public interface SearchEntrySearchOperation 050 extends InProgressOperation 051{ 052 /** 053 * Retrieves the raw, unprocessed base DN as included in the request 054 * from the client. This may or may not contain a valid DN, as no 055 * validation will have been performed. 056 * 057 * @return The raw, unprocessed base DN as included in the request 058 * from the client. 059 */ 060 ByteString getRawBaseDN(); 061 062 063 064 /** 065 * Retrieves the base DN for this search operation. 066 * 067 * @return The base DN for this search operation. 068 */ 069 DN getBaseDN(); 070 071 072 073 /** 074 * Retrieves the scope for this search operation. 075 * 076 * @return The scope for this search operation. 077 */ 078 SearchScope getScope(); 079 080 081 082 /** 083 * Retrieves the alias dereferencing policy for this search 084 * operation. 085 * 086 * @return The alias dereferencing policy for this search 087 * operation. 088 */ 089 DereferenceAliasesPolicy getDerefPolicy(); 090 091 092 093 /** 094 * Retrieves the size limit for this search operation. 095 * 096 * @return The size limit for this search operation. 097 */ 098 int getSizeLimit(); 099 100 101 102 /** 103 * Retrieves the time limit for this search operation. 104 * 105 * @return The time limit for this search operation. 106 */ 107 int getTimeLimit(); 108 109 110 111 /** 112 * Retrieves the typesOnly flag for this search operation. 113 * 114 * @return The typesOnly flag for this search operation. 115 */ 116 boolean getTypesOnly(); 117 118 119 120 /** 121 * Retrieves the raw, unprocessed search filter as included in the 122 * request from the client. It may or may not contain a valid 123 * filter (e.g., unsupported attribute types or values with an 124 * invalid syntax) because no validation will have been performed on 125 * it. 126 * 127 * @return The raw, unprocessed search filter as included in the 128 * request from the client. 129 */ 130 RawFilter getRawFilter(); 131 132 133 134 /** 135 * Retrieves the filter for this search operation. 136 * 137 * @return The filter for this search operation. 138 */ 139 SearchFilter getFilter(); 140 141 142 143 /** 144 * Retrieves the set of requested attributes for this search 145 * operation. Its contents should not be altered. 146 * 147 * @return The set of requested attributes for this search 148 * operation. 149 */ 150 Set<String> getAttributes(); 151} 152