@@ -67,6 +67,12 @@ public <K, V> Map<K, V> getMap(String bucketName, Class<K> keyValue, Class<V> va
6767 requireNonNull (bucketName , "bucketName is required" );
6868 requireNonNull (valueValue , "valueValue is required" );
6969 requireNonNull (keyValue , "keyValue is required" );
70+
71+ if (!String .class .isAssignableFrom (keyValue )) {
72+ throw new UnsupportedOperationException ("Couchbase Map does not support a not String key instead of: "
73+ + keyValue );
74+ }
75+
7076 return new CouchbaseMap <>(getBucket (bucketName ), bucketName , keyValue , valueValue );
7177 }
7278
@@ -77,6 +83,17 @@ public <K, V> Map<K, V> getMap(String bucketName, String key, Class<K> keyValue,
7783 requireNonNull (key , "key is required" );
7884 requireNonNull (valueValue , "valueValue is required" );
7985 requireNonNull (keyValue , "keyValue is required" );
86+
87+ if (!String .class .isAssignableFrom (keyValue )) {
88+ throw new UnsupportedOperationException ("Couchbase Map does not support a not String key instead of: "
89+ + keyValue );
90+ }
91+
92+ if (JsonValueCheck .checkType (valueValue )) {
93+ return (Map <K , V >)
94+ new com .couchbase .client .java .datastructures .collections .CouchbaseMap <V >(key , getBucket (bucketName ));
95+ }
96+
8097 return new CouchbaseMap <>(getBucket (bucketName ), key , keyValue , valueValue );
8198 }
8299
@@ -121,7 +138,7 @@ public <T> Queue<T> getQueue(String bucketName, String key, Class<T> clazz) {
121138 requireNonNull (clazz , "valueValue is required" );
122139 requireNonNull (key , "key is required" );
123140 if (JsonValueCheck .checkType (clazz )) {
124- return new com .couchbase .client .java .datastructures .collections .CouchbaseQueue <>(bucketName + QUEUE ,
141+ return new com .couchbase .client .java .datastructures .collections .CouchbaseQueue <>(key + QUEUE ,
125142 getBucket (bucketName ));
126143 } else {
127144 return new CouchbaseQueue <>(getBucket (bucketName ), key , clazz );
@@ -135,7 +152,7 @@ public <T> Set<T> getSet(String bucketName, String key, Class<T> clazz) {
135152 requireNonNull (clazz , "valueValue is required" );
136153 requireNonNull (key , "key is required" );
137154 if (JsonValueCheck .checkType (clazz ) && !JsonValue .class .isAssignableFrom (clazz )) {
138- return new CouchbaseArraySet <>(bucketName + SET , getBucket (key ));
155+ return new CouchbaseArraySet <>(key + SET , getBucket (key ));
139156 } else {
140157 return new CouchbaseSet <>(getBucket (key ), bucketName , clazz );
141158 }
@@ -148,7 +165,7 @@ public <T> List<T> getList(String bucketName, String key, Class<T> clazz) {
148165 requireNonNull (clazz , "valueValue is required" );
149166 requireNonNull (key , "key is required" );
150167 if (JsonValueCheck .checkType (clazz )) {
151- return new CouchbaseArrayList <>(bucketName + LIST , getBucket (key ));
168+ return new CouchbaseArrayList <>(key + LIST , getBucket (key ));
152169 } else {
153170 return new CouchbaseList <>(getBucket (bucketName ), key , clazz );
154171 }
0 commit comments