mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

matthew_swift
04.05.2009 efc16df69299f061fdaadd03397fa3fd395af194
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (the "License").  You may not use this file except in compliance
 * with the License.
 *
 * You can obtain a copy of the license at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE
 * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 * add the following below this CDDL HEADER, with the fields enclosed
 * by brackets "[]" replaced with your own identifying information:
 *      Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 */
 
package org.opends.sdk.responses;
 
 
 
import org.opends.sdk.controls.Control;
 
 
 
/**
 * A Search Result Reference represents an area not yet explored during
 * a Search operation.
 */
public interface SearchResultReference extends Response
{
  /**
   * {@inheritDoc}
   */
  SearchResultReference addControl(Control control)
      throws UnsupportedOperationException, NullPointerException;
 
 
 
  /**
   * Adds the provided continuation reference URI to this search result
   * reference.
   * 
   * @param uri
   *          The continuation reference URI to be added.
   * @return This search result reference.
   * @throws UnsupportedOperationException
   *           If this search result reference does not permit
   *           continuation reference URI to be added.
   * @throws NullPointerException
   *           If {@code uri} was {@code null}.
   */
  SearchResultReference addURI(String uri)
      throws UnsupportedOperationException, NullPointerException;
 
 
 
  /**
   * {@inheritDoc}
   */
  SearchResultReference clearControls()
      throws UnsupportedOperationException;
 
 
 
  /**
   * Removes all the continuation reference URIs included with this
   * search result reference.
   * 
   * @return This search result reference.
   * @throws UnsupportedOperationException
   *           If this search result reference does not permit
   *           continuation reference URIs to be removed.
   */
  SearchResultReference clearURIs()
      throws UnsupportedOperationException;
 
 
 
  /**
   * {@inheritDoc}
   */
  Control getControl(String oid) throws NullPointerException;
 
 
 
  /**
   * {@inheritDoc}
   */
  Iterable<Control> getControls();
 
 
 
  /**
   * Returns the number of continuation reference URIs in this search
   * result reference.
   * 
   * @return The number of continuation reference URIs.
   */
  int getURICount();
 
 
 
  /**
   * Returns an {@code Iterable} containing the continuation reference
   * URIs included with this search result reference. The returned
   * {@code Iterable} may be used to remove continuation reference URIs
   * if permitted by this search result reference.
   * 
   * @return An {@code Iterable} containing the continuation reference
   *         URIs.
   */
  Iterable<String> getURIs();
 
 
 
  /**
   * {@inheritDoc}
   */
  boolean hasControls();
 
 
 
  /**
   * Indicates whether or not this search result reference has any
   * continuation reference URIs.
   * 
   * @return {@code true} if this search result reference has any
   *         continuation reference URIs, otherwise {@code false}.
   */
  boolean hasURIs();
 
 
 
  /**
   * {@inheritDoc}
   */
  Control removeControl(String oid)
      throws UnsupportedOperationException, NullPointerException;
 
}