6262 * @author Mark - mark at arangodb.com
6363 *
6464 */
65- public class InternalArangoCollection <E extends ArangoExecutor <R , C >, R , C extends Connection >
65+ public class InternalArangoCollection <A extends InternalArangoDB < E , R , C >, D extends InternalArangoDatabase < A , E , R , C >, E extends ArangoExecutor <R , C >, R , C extends Connection >
6666 extends ArangoExecuteable <E , R , C > {
6767
68+ private final D db ;
6869 private final String name ;
69- private final String db ;
7070
71- public InternalArangoCollection (final E executor , final String db , final String name ) {
72- super (executor );
71+ public InternalArangoCollection (final D db , final String name ) {
72+ super (db . executor () );
7373 this .db = db ;
7474 this .name = name ;
7575 }
7676
77+ public D db () {
78+ return db ;
79+ }
80+
7781 public String name () {
7882 return name ;
7983 }
8084
8185 protected <T > Request insertDocumentRequest (final T value , final DocumentCreateOptions options ) {
82- final Request request = new Request (db , RequestType .POST ,
86+ final Request request = new Request (db . name () , RequestType .POST ,
8387 executor .createPath (ArangoDBConstants .PATH_API_DOCUMENT , name ));
8488 final DocumentCreateOptions params = (options != null ? options : new DocumentCreateOptions ());
8589 request .putQueryParam (ArangoDBConstants .WAIT_FOR_SYNC , params .getWaitForSync ());
@@ -110,7 +114,7 @@ public DocumentCreateEntity<T> deserialize(final Response response) throws VPack
110114 }
111115
112116 protected <T > Request insertDocumentsRequest (final Collection <T > values , final DocumentCreateOptions params ) {
113- final Request request = new Request (db , RequestType .POST ,
117+ final Request request = new Request (db . name () , RequestType .POST ,
114118 executor .createPath (ArangoDBConstants .PATH_API_DOCUMENT , name ));
115119 request .putQueryParam (ArangoDBConstants .WAIT_FOR_SYNC , params .getWaitForSync ());
116120 request .putQueryParam (ArangoDBConstants .RETURN_NEW , params .getReturnNew ());
@@ -168,7 +172,7 @@ protected Request importDocumentsRequest(final Collection<?> values, final Docum
168172
169173 protected Request importDocumentsRequest (final DocumentImportOptions options ) {
170174 final DocumentImportOptions params = options != null ? options : new DocumentImportOptions ();
171- return new Request (db , RequestType .POST , ArangoDBConstants .PATH_API_IMPORT )
175+ return new Request (db . name () , RequestType .POST , ArangoDBConstants .PATH_API_IMPORT )
172176 .putQueryParam (ArangoDBConstants .COLLECTION , name )
173177 .putQueryParam (ArangoDBConstants .FROM_PREFIX , params .getFromPrefix ())
174178 .putQueryParam (ArangoDBConstants .TO_PREFIX , params .getToPrefix ())
@@ -180,7 +184,7 @@ protected Request importDocumentsRequest(final DocumentImportOptions options) {
180184 }
181185
182186 protected Request getDocumentRequest (final String key , final DocumentReadOptions options ) {
183- final Request request = new Request (db , RequestType .GET ,
187+ final Request request = new Request (db . name () , RequestType .GET ,
184188 executor .createPath (ArangoDBConstants .PATH_API_DOCUMENT , executor .createDocumentHandle (name , key )));
185189 final DocumentReadOptions params = (options != null ? options : new DocumentReadOptions ());
186190 request .putHeaderParam (ArangoDBConstants .IF_NONE_MATCH , params .getIfNoneMatch ());
@@ -192,7 +196,7 @@ protected <T> Request replaceDocumentRequest(
192196 final String key ,
193197 final T value ,
194198 final DocumentReplaceOptions options ) {
195- final Request request = new Request (db , RequestType .PUT ,
199+ final Request request = new Request (db . name () , RequestType .PUT ,
196200 executor .createPath (ArangoDBConstants .PATH_API_DOCUMENT , executor .createDocumentHandle (name , key )));
197201 final DocumentReplaceOptions params = (options != null ? options : new DocumentReplaceOptions ());
198202 request .putQueryParam (ArangoDBConstants .WAIT_FOR_SYNC , params .getWaitForSync ());
@@ -229,7 +233,8 @@ public DocumentUpdateEntity<T> deserialize(final Response response) throws VPack
229233
230234 protected <T > Request replaceDocumentsRequest (final Collection <T > values , final DocumentReplaceOptions params ) {
231235 final Request request ;
232- request = new Request (db , RequestType .PUT , executor .createPath (ArangoDBConstants .PATH_API_DOCUMENT , name ));
236+ request = new Request (db .name (), RequestType .PUT ,
237+ executor .createPath (ArangoDBConstants .PATH_API_DOCUMENT , name ));
233238 request .putQueryParam (ArangoDBConstants .WAIT_FOR_SYNC , params .getWaitForSync ());
234239 request .putQueryParam (ArangoDBConstants .IGNORE_REVS , params .getIgnoreRevs ());
235240 request .putQueryParam (ArangoDBConstants .RETURN_NEW , params .getReturnNew ());
@@ -284,7 +289,7 @@ public MultiDocumentEntity<DocumentUpdateEntity<T>> deserialize(final Response r
284289
285290 protected <T > Request updateDocumentRequest (final String key , final T value , final DocumentUpdateOptions options ) {
286291 final Request request ;
287- request = new Request (db , RequestType .PATCH ,
292+ request = new Request (db . name () , RequestType .PATCH ,
288293 executor .createPath (ArangoDBConstants .PATH_API_DOCUMENT , executor .createDocumentHandle (name , key )));
289294 final DocumentUpdateOptions params = (options != null ? options : new DocumentUpdateOptions ());
290295 request .putQueryParam (ArangoDBConstants .KEEP_NULL , params .getKeepNull ());
@@ -320,7 +325,8 @@ public DocumentUpdateEntity<T> deserialize(final Response response) throws VPack
320325
321326 protected <T > Request updateDocumentsRequest (final Collection <T > values , final DocumentUpdateOptions params ) {
322327 final Request request ;
323- request = new Request (db , RequestType .PATCH , executor .createPath (ArangoDBConstants .PATH_API_DOCUMENT , name ));
328+ request = new Request (db .name (), RequestType .PATCH ,
329+ executor .createPath (ArangoDBConstants .PATH_API_DOCUMENT , name ));
324330 final Boolean keepNull = params .getKeepNull ();
325331 request .putQueryParam (ArangoDBConstants .KEEP_NULL , keepNull );
326332 request .putQueryParam (ArangoDBConstants .MERGE_OBJECTS , params .getMergeObjects ());
@@ -378,7 +384,7 @@ public MultiDocumentEntity<DocumentUpdateEntity<T>> deserialize(final Response r
378384
379385 protected Request deleteDocumentRequest (final String key , final DocumentDeleteOptions options ) {
380386 final Request request ;
381- request = new Request (db , RequestType .DELETE ,
387+ request = new Request (db . name () , RequestType .DELETE ,
382388 executor .createPath (ArangoDBConstants .PATH_API_DOCUMENT , executor .createDocumentHandle (name , key )));
383389 final DocumentDeleteOptions params = (options != null ? options : new DocumentDeleteOptions ());
384390 request .putQueryParam (ArangoDBConstants .WAIT_FOR_SYNC , params .getWaitForSync ());
@@ -406,7 +412,8 @@ public DocumentDeleteEntity<T> deserialize(final Response response) throws VPack
406412
407413 protected <T > Request deleteDocumentsRequest (final Collection <T > keys , final DocumentDeleteOptions options ) {
408414 final Request request ;
409- request = new Request (db , RequestType .DELETE , executor .createPath (ArangoDBConstants .PATH_API_DOCUMENT , name ));
415+ request = new Request (db .name (), RequestType .DELETE ,
416+ executor .createPath (ArangoDBConstants .PATH_API_DOCUMENT , name ));
410417 final DocumentDeleteOptions params = (options != null ? options : new DocumentDeleteOptions ());
411418 request .putQueryParam (ArangoDBConstants .WAIT_FOR_SYNC , params .getWaitForSync ());
412419 request .putQueryParam (ArangoDBConstants .RETURN_OLD , params .getReturnOld ());
@@ -447,7 +454,7 @@ public MultiDocumentEntity<DocumentDeleteEntity<T>> deserialize(final Response r
447454
448455 protected Request documentExistsRequest (final String key , final DocumentExistsOptions options ) {
449456 final Request request ;
450- request = new Request (db , RequestType .HEAD ,
457+ request = new Request (db . name () , RequestType .HEAD ,
451458 executor .createPath (ArangoDBConstants .PATH_API_DOCUMENT , executor .createDocumentHandle (name , key )));
452459 final DocumentExistsOptions params = (options != null ? options : new DocumentExistsOptions ());
453460 request .putHeaderParam (ArangoDBConstants .IF_MATCH , params .getIfMatch ());
@@ -457,7 +464,7 @@ protected Request documentExistsRequest(final String key, final DocumentExistsOp
457464
458465 protected Request createHashIndexRequest (final Collection <String > fields , final HashIndexOptions options ) {
459466 final Request request ;
460- request = new Request (db , RequestType .POST , ArangoDBConstants .PATH_API_INDEX );
467+ request = new Request (db . name () , RequestType .POST , ArangoDBConstants .PATH_API_INDEX );
461468 request .putQueryParam (ArangoDBConstants .COLLECTION , name );
462469 request .setBody (
463470 executor .serialize (OptionsBuilder .build (options != null ? options : new HashIndexOptions (), fields )));
@@ -466,7 +473,7 @@ protected Request createHashIndexRequest(final Collection<String> fields, final
466473
467474 protected Request createSkiplistIndexRequest (final Collection <String > fields , final SkiplistIndexOptions options ) {
468475 final Request request ;
469- request = new Request (db , RequestType .POST , ArangoDBConstants .PATH_API_INDEX );
476+ request = new Request (db . name () , RequestType .POST , ArangoDBConstants .PATH_API_INDEX );
470477 request .putQueryParam (ArangoDBConstants .COLLECTION , name );
471478 request .setBody (
472479 executor .serialize (OptionsBuilder .build (options != null ? options : new SkiplistIndexOptions (), fields )));
@@ -477,7 +484,7 @@ protected Request createPersistentIndexRequest(
477484 final Collection <String > fields ,
478485 final PersistentIndexOptions options ) {
479486 final Request request ;
480- request = new Request (db , RequestType .POST , ArangoDBConstants .PATH_API_INDEX );
487+ request = new Request (db . name () , RequestType .POST , ArangoDBConstants .PATH_API_INDEX );
481488 request .putQueryParam (ArangoDBConstants .COLLECTION , name );
482489 request .setBody (
483490 executor .serialize (OptionsBuilder .build (options != null ? options : new PersistentIndexOptions (), fields )));
@@ -486,7 +493,7 @@ protected Request createPersistentIndexRequest(
486493
487494 protected Request createGeoIndexRequest (final Collection <String > fields , final GeoIndexOptions options ) {
488495 final Request request ;
489- request = new Request (db , RequestType .POST , ArangoDBConstants .PATH_API_INDEX );
496+ request = new Request (db . name () , RequestType .POST , ArangoDBConstants .PATH_API_INDEX );
490497 request .putQueryParam (ArangoDBConstants .COLLECTION , name );
491498 request .setBody (
492499 executor .serialize (OptionsBuilder .build (options != null ? options : new GeoIndexOptions (), fields )));
@@ -495,7 +502,7 @@ protected Request createGeoIndexRequest(final Collection<String> fields, final G
495502
496503 protected Request getIndexesRequest () {
497504 final Request request ;
498- request = new Request (db , RequestType .GET , ArangoDBConstants .PATH_API_INDEX );
505+ request = new Request (db . name () , RequestType .GET , ArangoDBConstants .PATH_API_INDEX );
499506 request .putQueryParam (ArangoDBConstants .COLLECTION , name );
500507 return request ;
501508 }
@@ -512,66 +519,68 @@ public Collection<IndexEntity> deserialize(final Response response) throws VPack
512519 }
513520
514521 protected Request truncateRequest () {
515- return new Request (db , RequestType .PUT ,
522+ return new Request (db . name () , RequestType .PUT ,
516523 executor .createPath (ArangoDBConstants .PATH_API_COLLECTION , name , ArangoDBConstants .TRUNCATE ));
517524 }
518525
519526 protected Request countRequest () {
520- return new Request (db , RequestType .GET ,
527+ return new Request (db . name () , RequestType .GET ,
521528 executor .createPath (ArangoDBConstants .PATH_API_COLLECTION , name , ArangoDBConstants .COUNT ));
522529 }
523530
524531 protected Request createFulltextIndexRequest (final Collection <String > fields , final FulltextIndexOptions options ) {
525532 final Request request ;
526- request = new Request (db , RequestType .POST , ArangoDBConstants .PATH_API_INDEX );
533+ request = new Request (db . name () , RequestType .POST , ArangoDBConstants .PATH_API_INDEX );
527534 request .putQueryParam (ArangoDBConstants .COLLECTION , name );
528535 request .setBody (
529536 executor .serialize (OptionsBuilder .build (options != null ? options : new FulltextIndexOptions (), fields )));
530537 return request ;
531538 }
532539
533540 protected Request dropRequest (final Boolean isSystem ) {
534- return new Request (db , RequestType .DELETE , executor .createPath (ArangoDBConstants .PATH_API_COLLECTION , name ))
535- .putQueryParam (ArangoDBConstants .IS_SYSTEM , isSystem );
541+ return new Request (db .name (), RequestType .DELETE ,
542+ executor .createPath (ArangoDBConstants .PATH_API_COLLECTION , name ))
543+ .putQueryParam (ArangoDBConstants .IS_SYSTEM , isSystem );
536544 }
537545
538546 protected Request loadRequest () {
539- return new Request (db , RequestType .PUT ,
547+ return new Request (db . name () , RequestType .PUT ,
540548 executor .createPath (ArangoDBConstants .PATH_API_COLLECTION , name , ArangoDBConstants .LOAD ));
541549 }
542550
543551 protected Request unloadRequest () {
544- return new Request (db , RequestType .PUT ,
552+ return new Request (db . name () , RequestType .PUT ,
545553 executor .createPath (ArangoDBConstants .PATH_API_COLLECTION , name , ArangoDBConstants .UNLOAD ));
546554 }
547555
548556 protected Request getInfoRequest () {
549- return new Request (db , RequestType .GET , executor .createPath (ArangoDBConstants .PATH_API_COLLECTION , name ));
557+ return new Request (db .name (), RequestType .GET ,
558+ executor .createPath (ArangoDBConstants .PATH_API_COLLECTION , name ));
550559 }
551560
552561 protected Request getPropertiesRequest () {
553- return new Request (db , RequestType .GET ,
562+ return new Request (db . name () , RequestType .GET ,
554563 executor .createPath (ArangoDBConstants .PATH_API_COLLECTION , name , ArangoDBConstants .PROPERTIES ));
555564 }
556565
557566 protected Request changePropertiesRequest (final CollectionPropertiesOptions options ) {
558567 final Request request ;
559- request = new Request (db , RequestType .PUT ,
568+ request = new Request (db . name () , RequestType .PUT ,
560569 executor .createPath (ArangoDBConstants .PATH_API_COLLECTION , name , ArangoDBConstants .PROPERTIES ));
561570 request .setBody (executor .serialize (options != null ? options : new CollectionPropertiesOptions ()));
562571 return request ;
563572 }
564573
565574 protected Request renameRequest (final String newName ) {
566575 final Request request ;
567- request = new Request (db , RequestType .PUT ,
576+ request = new Request (db . name () , RequestType .PUT ,
568577 executor .createPath (ArangoDBConstants .PATH_API_COLLECTION , name , ArangoDBConstants .RENAME ));
569578 request .setBody (executor .serialize (OptionsBuilder .build (new CollectionRenameOptions (), newName )));
570579 return request ;
571580 }
572581
573582 protected Request getRevisionRequest () {
574- return new Request (db , RequestType .GET ,
583+ return new Request (db . name () , RequestType .GET ,
575584 executor .createPath (ArangoDBConstants .PATH_API_COLLECTION , name , ArangoDBConstants .REVISION ));
576585 }
577586}
0 commit comments