本文整理汇总了Java中org.bson.BsonValue.asArray方法的典型用法代码示例。如果您正苦于以下问题:Java BsonValue.asArray方法的具体用法?Java BsonValue.asArray怎么用?Java BsonValue.asArray使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.bson.BsonValue
的用法示例。
在下文中一共展示了BsonValue.asArray方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: addToArray
import org.bson.BsonValue; //导入方法依赖的package包/类
private void addToArray(List<String> path, BsonValue value, BsonValue parentNode) {
final BsonArray target = parentNode.asArray();
String idxStr = path.get(path.size() - 1);
if ("-".equals(idxStr)) {
// see http://tools.ietf.org/html/rfc6902#section-4.1
target.add(value);
} else {
int idx = arrayIndex(idxStr.replaceAll("\"", ""), target.size(), false);
target.add(idx, value);
}
}
示例2: handleCollectionForBsonArray
import org.bson.BsonValue; //导入方法依赖的package包/类
Object handleCollectionForBsonArray(BsonArray bsonArray, Field field, BsonMapperConfig bsonMapperConfig) {
Class<?> fieldType = field.getType();
Class<?> implClass = Utils.giveImplClassIfSupport(fieldType);
if (Utils.isUnableAddCollectionClazz(implClass)) {
return null;
}
BsonArrayField bsonArrayField = Utils.getBsonArrayFieldAnnotation(field);
Class<?> targetComponentClazz = bsonArrayField.componentType();
Object collectionObject = Utils.newInstanceByClazz(implClass);
Method method;
try {
method = implClass.getMethod("add", Object.class);
} catch (NoSuchMethodException e) {
throw new BsonMapperConverterException("NoSuchMethodException", e);
}
for (BsonValue bsonValue : bsonArray) {
if (bsonValue == null) {
continue;
}
if (bsonValue.isArray()) {
BsonArray array = bsonValue.asArray();
Utils.methodInvoke(method, collectionObject, decode(array, field, bsonMapperConfig));
} else {
Object javaValue;
if (bsonValue.isDocument()) {
javaValue = BsonValueConverterRepertory.getBsonDocumentConverter().decode(bsonValue.asDocument(), targetComponentClazz, bsonMapperConfig);
} else {
javaValue = BsonValueConverterRepertory.getValueConverterByBsonType(bsonValue.getBsonType()).decode(bsonValue);
}
Utils.methodInvoke(method, collectionObject, javaValue);
}
}
return collectionObject;
}