Package com.adaptris.core.mongodb
Class MongoDBFindProducer
- java.lang.Object
-
- All Implemented Interfaces:
AdaptrisComponent
,AdaptrisMessageProducer
,AdaptrisMessageSender
,AdaptrisMessageWorker
,ComponentLifecycle
,ComponentLifecycleExtension
,MessageEventGenerator
@ComponentProfile(summary="Executes find MongoDB queries, results returned as JSON Array.", tag="producer,mongodb", recommended=MongoDBConnection.class) public class MongoDBFindProducer extends MongoDBRetrieveProducer
Producer that executes find MongoDB queries, results returned as JSON Array.Example Filter:
Filters results stars greater than or equal to 2 and less that 5 with category of Bakery.Data:
[ { "name" : "Café Con Leche", "stars" : 3, "categories" : ["Bakery", "Coffee", "Pastries"] }, { "name" : "Fred's", "stars" : 1, "categories" : ["Bakery", "Coffee", "Pastries"] } ]
Query:
{ "stars" : { "$gte" : 2, "$lt" : 5 }, "categories" : "Bakery" }
Result:
[ { "name" : "Café Con Leche", "stars" : 3, "categories" : ["Bakery", "Coffee", "Pastries"] } ]
In the adapter configuration file this class is aliased as mongodb-find-producer which is the preferred alternative to the fully qualified classname when building your configuration.
-
-
Field Summary
-
Fields inherited from class com.adaptris.core.AdaptrisMessageWorkerImp
log
-
-
Constructor Summary
Constructors Constructor Description MongoDBFindProducer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DataInputParameter<java.lang.String>
getFilter()
java.lang.String
getLimit()
DataInputParameter<java.lang.String>
getProjection()
DataInputParameter<java.lang.String>
getSort()
protected com.mongodb.client.MongoIterable<org.bson.Document>
retrieveResults(com.mongodb.client.MongoCollection<org.bson.Document> collection, AdaptrisMessage msg)
void
setFilter(DataInputParameter<java.lang.String> filter)
void
setLimit(java.lang.String limit)
void
setProjection(DataInputParameter<java.lang.String> projection)
void
setSort(DataInputParameter<java.lang.String> sort)
MongoDBFindProducer
withFilter(DataInputParameter<java.lang.String> filter)
MongoDBFindProducer
withLimit(java.lang.String limit)
MongoDBFindProducer
withSort(DataInputParameter<java.lang.String> sort)
-
Methods inherited from class com.adaptris.core.mongodb.MongoDBRetrieveProducer
doRequest, getBatchSize, getJsonOutputSettings, setBatchSize, setJsonOutputSettings
-
Methods inherited from class com.adaptris.core.mongodb.MongoDBProducer
defaultTimeout, doProduce, doRequest, endpoint, getCollection, getMongoClient, getMongoDatabase, init, prepare, setCollection, withCollection
-
Methods inherited from class com.adaptris.core.RequestReplyProducerImp
produce, request, request
-
Methods inherited from class com.adaptris.core.RequestReplyProducerBase
copyReplyContents, getIgnoreReplyMetadata, mergeReply, setIgnoreReplyMetadata
-
Methods inherited from class com.adaptris.core.AdaptrisMessageProducerImp
createName
-
Methods inherited from class com.adaptris.core.AdaptrisMessageWorkerImp
createQualifier, decode, encode, getEncoder, getIsTrackingEndpoint, getMessageFactory, getUniqueId, handleConnectionException, isTrackingEndpoint, registerConnection, registerEncoderMessageFactory, retrieveConnection, setEncoder, setIsTrackingEndpoint, setMessageFactory, setUniqueId, withMessageFactory, withUniqueID
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.adaptris.core.AdaptrisComponent
getUniqueId
-
Methods inherited from interface com.adaptris.core.AdaptrisMessageWorker
decode, encode, getEncoder, getMessageFactory, handleConnectionException, registerConnection, retrieveConnection, setEncoder, setMessageFactory
-
Methods inherited from interface com.adaptris.core.ComponentLifecycle
close, start, stop
-
Methods inherited from interface com.adaptris.core.MessageEventGenerator
createQualifier, isTrackingEndpoint
-
-
-
-
Method Detail
-
retrieveResults
protected com.mongodb.client.MongoIterable<org.bson.Document> retrieveResults(com.mongodb.client.MongoCollection<org.bson.Document> collection, AdaptrisMessage msg) throws InterlokException
- Specified by:
retrieveResults
in classMongoDBRetrieveProducer
- Throws:
InterlokException
-
getFilter
public DataInputParameter<java.lang.String> getFilter()
-
setFilter
public void setFilter(DataInputParameter<java.lang.String> filter)
-
getSort
public DataInputParameter<java.lang.String> getSort()
-
setSort
public void setSort(DataInputParameter<java.lang.String> sort)
-
getLimit
public java.lang.String getLimit()
-
setLimit
public void setLimit(java.lang.String limit)
-
getProjection
public DataInputParameter<java.lang.String> getProjection()
-
setProjection
public void setProjection(DataInputParameter<java.lang.String> projection)
-
withFilter
public MongoDBFindProducer withFilter(DataInputParameter<java.lang.String> filter)
-
withSort
public MongoDBFindProducer withSort(DataInputParameter<java.lang.String> sort)
-
withLimit
public MongoDBFindProducer withLimit(java.lang.String limit)
-
-