summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/modules/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/DocumentProcessor.java
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-1.x/modules/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/DocumentProcessor.java')
-rw-r--r--branches/sca-java-1.x/modules/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/DocumentProcessor.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/branches/sca-java-1.x/modules/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/DocumentProcessor.java b/branches/sca-java-1.x/modules/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/DocumentProcessor.java
index 3f23c4d354..0f183e8875 100644
--- a/branches/sca-java-1.x/modules/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/DocumentProcessor.java
+++ b/branches/sca-java-1.x/modules/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/DocumentProcessor.java
@@ -21,6 +21,9 @@ package org.apache.tuscany.sca.domain.search;
import org.apache.tuscany.sca.domain.search.impl.Document;
/**
+ * A {@link DocumentProcessor} implementations knows how to extract data from a
+ * contribution {@link Object}. The extract data is added to a {@link Document},
+ * which is stored in a {@link DocumentMap}.
*
* @version $Rev$ $Date$
*/
@@ -28,12 +31,34 @@ public interface DocumentProcessor {
final public static Document FAKE_DOCUMENT = new Document();
+ /**
+ * Process a contribution {@link Object}, extracting from it data that
+ * should be indexed. The data should be add to a {@link Document} object,
+ * which can be found accessing the {@link DocumentMap} if it's not passed
+ * as an argument. The key used to find the {@link Document} object should
+ * be the one returned by {@link #getDocumentKey(Object)} method.
+ *
+ * @param parentProcessor the processor that invoked this processor, if any
+ * @param documents the {@link DocumentMap} object
+ * @param object the object where data should be extracted from
+ * @param document the {@link Document} object to store the extracted data
+ * @param parent string that represent the object's parent path in the
+ * contribution
+ * @return the resulted {@link Document} object
+ */
Document process(DocumentProcessor parentProcessor,
DocumentMap documents,
Object object,
Document document,
String parent);
+ /**
+ * Returns a object key generated from object passed as argument. The key
+ * should be unique in a contribution.
+ *
+ * @param object the object
+ * @return a key generated from the object
+ */
Object getDocumentKey(Object object);
}