diff options
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.java | 25 |
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); } |