001    /*
002     *  Licensed to the Apache Software Foundation (ASF) under one
003     *  or more contributor license agreements.  See the NOTICE file
004     *  distributed with this work for additional information
005     *  regarding copyright ownership.  The ASF licenses this file
006     *  to you under the Apache License, Version 2.0 (the
007     *  "License"); you may not use this file except in compliance
008     *  with the License.  You may obtain a copy of the License at
009     *  
010     *    http://www.apache.org/licenses/LICENSE-2.0
011     *  
012     *  Unless required by applicable law or agreed to in writing,
013     *  software distributed under the License is distributed on an
014     *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015     *  KIND, either express or implied.  See the License for the
016     *  specific language governing permissions and limitations
017     *  under the License. 
018     *  
019     */
020    package org.apache.directory.server.xdbm;
021    
022    
023    import java.io.File;
024    
025    import org.apache.directory.shared.ldap.cursor.Cursor;
026    import org.apache.directory.shared.ldap.schema.AttributeType;
027    
028    
029    /**
030     * A generic index implementation that is just used to hold the index configuration
031     * parameters (attributeId, cacheSize, wkDirPath). All other methods are not working.
032     *
033     * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
034     * @version $Rev: 917312 $
035     */
036    public class GenericIndex<K, O, ID> implements Index<K, O, ID>
037    {
038    
039        protected String attributeId;
040        protected int cacheSize;
041        protected File wkDirPath;
042    
043    
044        /**
045         * Creates a new instance of GenericIndex.
046         * 
047         * @param attributeId the attribute ID
048         * @param cacheSize the cache size
049         */
050        public GenericIndex( String attributeId, int cacheSize )
051        {
052            this( attributeId, cacheSize, null );
053        }
054    
055    
056        /**
057         * Creates a new instance of GenericIndex.
058         *
059         * @param attributeId the attribute ID
060         * @param cacheSize the cache size
061         * @param wkDirPath the working directory
062         */
063        public GenericIndex( String attributeId, int cacheSize, File wkDirPath )
064        {
065            this.attributeId = attributeId;
066            this.cacheSize = cacheSize;
067            this.wkDirPath = wkDirPath;
068        }
069    
070    
071        public void add( K attrVal, ID id ) throws Exception
072        {
073            throw new UnsupportedOperationException();
074        }
075    
076    
077        public void close() throws Exception
078        {
079            throw new UnsupportedOperationException();
080        }
081    
082    
083        public int count() throws Exception
084        {
085            throw new UnsupportedOperationException();
086        }
087    
088    
089        public int count( K attrVal ) throws Exception
090        {
091            throw new UnsupportedOperationException();
092        }
093    
094    
095        public void drop( ID id ) throws Exception
096        {
097            throw new UnsupportedOperationException();
098        }
099    
100    
101        public void drop( K attrVal, ID id ) throws Exception
102        {
103            throw new UnsupportedOperationException();
104        }
105    
106    
107        public IndexCursor<K, O, ID> forwardCursor() throws Exception
108        {
109            throw new UnsupportedOperationException();
110        }
111    
112    
113        public IndexCursor<K, O, ID> forwardCursor( K key ) throws Exception
114        {
115            throw new UnsupportedOperationException();
116        }
117    
118    
119        public ID forwardLookup( K attrVal ) throws Exception
120        {
121            throw new UnsupportedOperationException();
122        }
123    
124    
125        public Cursor<ID> forwardValueCursor( K key ) throws Exception
126        {
127            throw new UnsupportedOperationException();
128        }
129    
130    
131        public boolean forward( K attrVal ) throws Exception
132        {
133            throw new UnsupportedOperationException();
134        }
135    
136    
137        public boolean forward( K attrVal, ID id ) throws Exception
138        {
139            throw new UnsupportedOperationException();
140        }
141    
142    
143        public boolean reverse( ID id ) throws Exception
144        {
145            throw new UnsupportedOperationException();
146        }
147    
148    
149        public boolean reverse( ID id, K attrVal ) throws Exception
150        {
151            throw new UnsupportedOperationException();
152        }
153    
154    
155        public boolean forwardGreaterOrEq( K attrVal ) throws Exception
156        {
157            throw new UnsupportedOperationException();
158        }
159    
160    
161        public boolean forwardGreaterOrEq( K attrVal, ID id ) throws Exception
162        {
163            throw new UnsupportedOperationException();
164        }
165    
166    
167        public boolean reverseGreaterOrEq( ID id ) throws Exception
168        {
169            throw new UnsupportedOperationException();
170        }
171    
172    
173        public boolean reverseGreaterOrEq( ID id, K attrVal ) throws Exception
174        {
175            throw new UnsupportedOperationException();
176        }
177    
178    
179        public boolean forwardLessOrEq( K attrVal ) throws Exception
180        {
181            throw new UnsupportedOperationException();
182        }
183    
184    
185        public boolean forwardLessOrEq( K attrVal, ID id ) throws Exception
186        {
187            throw new UnsupportedOperationException();
188        }
189    
190    
191        public boolean reverseLessOrEq( ID id ) throws Exception
192        {
193            throw new UnsupportedOperationException();
194        }
195    
196    
197        public boolean reverseLessOrEq( ID id, K attrVal ) throws Exception
198        {
199            throw new UnsupportedOperationException();
200        }
201    
202    
203        public AttributeType getAttribute()
204        {
205            throw new UnsupportedOperationException();
206        }
207    
208    
209        public String getAttributeId()
210        {
211            return attributeId;
212        }
213    
214    
215        public int getCacheSize()
216        {
217            return cacheSize;
218        }
219    
220    
221        public K getNormalized( K attrVal ) throws Exception
222        {
223            throw new UnsupportedOperationException();
224        }
225    
226    
227        public File getWkDirPath()
228        {
229            return wkDirPath;
230        }
231    
232    
233        public int greaterThanCount( K attrVal ) throws Exception
234        {
235            throw new UnsupportedOperationException();
236        }
237    
238    
239        public boolean isCountExact()
240        {
241            throw new UnsupportedOperationException();
242        }
243    
244    
245        public int lessThanCount( K attrVal ) throws Exception
246        {
247            throw new UnsupportedOperationException();
248        }
249    
250    
251        public IndexCursor<K, O, ID> reverseCursor() throws Exception
252        {
253            throw new UnsupportedOperationException();
254        }
255    
256    
257        public IndexCursor<K, O, ID> reverseCursor( ID id ) throws Exception
258        {
259            throw new UnsupportedOperationException();
260        }
261    
262    
263        public K reverseLookup( ID id ) throws Exception
264        {
265            throw new UnsupportedOperationException();
266        }
267    
268    
269        public Cursor<K> reverseValueCursor( ID id ) throws Exception
270        {
271            throw new UnsupportedOperationException();
272        }
273    
274    
275        public void setAttributeId( String attributeId )
276        {
277            this.attributeId = attributeId;
278        }
279    
280    
281        public void setCacheSize( int cacheSize )
282        {
283            this.cacheSize = cacheSize;
284        }
285    
286    
287        public void setWkDirPath( File wkDirPath )
288        {
289            this.wkDirPath = wkDirPath;
290        }
291    
292    
293        public void sync() throws Exception
294        {
295            throw new UnsupportedOperationException();
296        }
297    
298    }