3535
3636import java .time .Duration ;
3737import java .util .List ;
38- import java .util .Objects ;
3938import java .util .concurrent .CopyOnWriteArrayList ;
4039import java .util .function .Consumer ;
4140
41+ import static java .util .Objects .requireNonNull ;
4242import static org .jnosql .diana .mongodb .document .MongoDBUtils .ID_FIELD ;
4343import static org .jnosql .diana .mongodb .document .MongoDBUtils .getDocument ;
4444
@@ -60,7 +60,7 @@ public class MongoDBDocumentCollectionManagerAsync implements DocumentCollection
6060
6161 @ Override
6262 public void insert (DocumentEntity entity ) throws ExecuteAsyncQueryException , UnsupportedOperationException {
63- Objects . requireNonNull (entity , "entity is required" );
63+ requireNonNull (entity , "entity is required" );
6464 insert (entity , v -> {
6565 });
6666 }
@@ -74,8 +74,8 @@ public void insert(DocumentEntity entity, Duration ttl) {
7474 public void insert (DocumentEntity entity , Consumer <DocumentEntity > callBack )
7575 throws ExecuteAsyncQueryException , UnsupportedOperationException {
7676
77- Objects . requireNonNull (entity , "entity is required" );
78- Objects . requireNonNull (callBack , "callBack is required" );
77+ requireNonNull (entity , "entity is required" );
78+ requireNonNull (callBack , "callBack is required" );
7979 insert (entity , (aVoid , throwable ) -> callBack .accept (entity ));
8080 }
8181
@@ -87,7 +87,7 @@ public void insert(DocumentEntity entity, Duration ttl, Consumer<DocumentEntity>
8787 @ Override
8888 public void update (DocumentEntity entity )
8989 throws ExecuteAsyncQueryException , UnsupportedOperationException {
90- Objects . requireNonNull (entity , "entity is required" );
90+ requireNonNull (entity , "entity is required" );
9191 update (entity , (d , throwable ) -> {
9292 });
9393 }
@@ -96,14 +96,14 @@ public void update(DocumentEntity entity)
9696 public void update (DocumentEntity entity , Consumer <DocumentEntity > callBack )
9797 throws ExecuteAsyncQueryException , UnsupportedOperationException {
9898
99- Objects . requireNonNull (entity , "entity is required" );
100- Objects . requireNonNull (callBack , "callBack is required" );
99+ requireNonNull (entity , "entity is required" );
100+ requireNonNull (callBack , "callBack is required" );
101101 update (entity , (d , throwable ) -> callBack .accept (DocumentEntity .of (entity .getName (), Documents .of (d ))));
102102 }
103103
104104 @ Override
105105 public void delete (DocumentDeleteQuery query ) {
106- Objects . requireNonNull (query , "query is required" );
106+ requireNonNull (query , "query is required" );
107107 delete (query , (deleteResult , throwable ) -> {
108108 });
109109 }
@@ -112,8 +112,8 @@ public void delete(DocumentDeleteQuery query) {
112112 public void delete (DocumentDeleteQuery query , Consumer <Void > callBack )
113113 throws ExecuteAsyncQueryException , UnsupportedOperationException {
114114
115- Objects . requireNonNull (query , "query is required" );
116- Objects . requireNonNull (callBack , "callBack is required" );
115+ requireNonNull (query , "query is required" );
116+ requireNonNull (callBack , "callBack is required" );
117117 delete (query , (deleteResult , throwable ) -> callBack .accept (null ));
118118
119119 }
@@ -122,8 +122,8 @@ public void delete(DocumentDeleteQuery query, Consumer<Void> callBack)
122122 public void select (DocumentQuery query , Consumer <List <DocumentEntity >> callBack )
123123 throws ExecuteAsyncQueryException , UnsupportedOperationException {
124124
125- Objects . requireNonNull (query , "query is required" );
126- Objects . requireNonNull (callBack , "callBack is required" );
125+ requireNonNull (query , "query is required" );
126+ requireNonNull (callBack , "callBack is required" );
127127
128128 String collectionName = query .getDocumentCollection ();
129129 MongoCollection <Document > collection = asyncMongoDatabase .getCollection (collectionName );
@@ -145,6 +145,14 @@ public void select(DocumentQuery query, Consumer<List<DocumentEntity>> callBack)
145145 result .forEach (documentBlock , voidSingleResultCallback );
146146 }
147147
148+ @ Override
149+ public void count (String documentCollection , Consumer <Long > callback ) {
150+ requireNonNull (documentCollection , "documentCollection is required" );
151+ requireNonNull (callback , "callback is required" );
152+ MongoCollection <Document > collection = asyncMongoDatabase .getCollection (documentCollection );
153+ collection .count ((l , e ) -> callback .accept (l ));
154+ }
155+
148156 private DocumentEntity createEntity (String collectionName , Document document ) {
149157 return DocumentEntity .of (collectionName , MongoDBUtils .of (document ));
150158 }
0 commit comments