01: /*
02: * Copyright 2004-2006 the original author or authors.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */
16:
17: package org.compass.gps.device.support.parallel;
18:
19: import org.compass.core.CompassException;
20: import org.compass.core.CompassSession;
21:
22: /**
23: * <p>Handles indexing of the list of {@link org.compass.gps.device.support.parallel.IndexEntity}.
24: *
25: * <p>Usually, each {@link org.compass.gps.device.support.parallel.IndexEntity} represents a groups
26: * of the indexable content (like a certain class when using ORM or a select statement). It is then
27: * used to fetch the data and then index it. The process of fetching the data and indexing it in
28: * Compass is done by this interface implementation.
29: *
30: * @author kimchy
31: */
32: public interface IndexEntitiesIndexer {
33:
34: /**
35: * Performs the actual indexing of the list of index entities. Usually, an
36: * index entity represent a group of indexable content (like a certain class
37: * when using ORM, or a select statement). This method perform the fetching
38: * of the data and indexing it in Compass using the provided Compass session.
39: *
40: * @param session The compass session to index the data with
41: * @param entities A list of entities to perform the indexing by
42: */
43: void performIndex(CompassSession session, IndexEntity[] entities)
44: throws CompassException;
45: }
|