本文整理了Java中org.eclipse.ditto.json.JsonField.getDefinition()
方法的一些代码示例,展示了JsonField.getDefinition()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JsonField.getDefinition()
方法的具体详情如下:
包路径:org.eclipse.ditto.json.JsonField
类名称:JsonField
方法名:getDefinition
[英]Returns this JSON field's definition (meta-information).
[中]返回此JSON字段的定义(元信息)。
代码示例来源:origin: eclipse/ditto
private FieldType() {
predicate = jsonField -> {
final Optional<JsonFieldDefinition> definition = jsonField.getDefinition();
return !definition.isPresent() || jsonField.isMarkedAs(this);
};
}
代码示例来源:origin: org.eclipse.ditto/ditto-model-base
private FieldType() {
predicate = jsonField -> {
final Optional<JsonFieldDefinition> definition = jsonField.getDefinition();
return !definition.isPresent() || jsonField.isMarkedAs(this);
};
}
代码示例来源:origin: eclipse/ditto
@Override
public ImmutableJsonObjectBuilder setAll(final Iterable<JsonField> fields, final Predicate<JsonField> predicate) {
requireNonNull(fields, "The JSON fields to be set must not be null!");
checkPredicate(predicate);
StreamSupport.stream(fields.spliterator(), false)
.filter(field -> !field.getDefinition().isPresent() || predicate.test(field))
.forEach(fieldToBeSet -> this.fields.put(fieldToBeSet.getKeyName(), fieldToBeSet));
return this;
}
代码示例来源:origin: org.eclipse.ditto/ditto-json
@Override
public ImmutableJsonObjectBuilder setAll(final Iterable<JsonField> fields, final Predicate<JsonField> predicate) {
requireNonNull(fields, "The JSON fields to be set must not be null!");
checkPredicate(predicate);
StreamSupport.stream(fields.spliterator(), false)
.filter(field -> !field.getDefinition().isPresent() || predicate.test(field))
.forEach(fieldToBeSet -> this.fields.put(fieldToBeSet.getKeyName(), fieldToBeSet));
return this;
}
代码示例来源:origin: org.eclipse.ditto/ditto-model-things
@Override
public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) {
final Predicate<JsonField> predicate = schemaVersion.and(thePredicate);
return stream() //
.filter(field -> !field.getDefinition().isPresent() || predicate.test(field)) //
.collect(JsonCollectors.fieldsToObject());
}
代码示例来源:origin: org.eclipse.ditto/ditto-model-things
@Override
public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) {
final Predicate<JsonField> predicate = schemaVersion.and(thePredicate);
return stream() //
.filter(field -> !field.getDefinition().isPresent() || predicate.test(field)) //
.collect(JsonCollectors.fieldsToObject());
}
代码示例来源:origin: eclipse/ditto
@Override
public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) {
final Predicate<JsonField> predicate = schemaVersion.and(thePredicate);
return stream() //
.filter(field -> !field.getDefinition().isPresent() || predicate.test(field)) //
.collect(JsonCollectors.fieldsToObject());
}
代码示例来源:origin: eclipse/ditto
@Override
public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate) {
final Predicate<JsonField> predicate = schemaVersion.and(thePredicate);
return stream() //
.filter(field -> !field.getDefinition().isPresent() || predicate.test(field)) //
.collect(JsonCollectors.fieldsToObject());
}
代码示例来源:origin: org.eclipse.ditto/ditto-json
private ImmutableJsonObjectBuilder remove(final JsonPointer pointer) {
pointer.getRoot()
.map(JsonKey::toString)
.map(fields::get)
.ifPresent(jsonField -> {
final JsonValue rootValue = jsonField.getValue();
final JsonPointer nextPointerLevel = pointer.nextLevel();
if (rootValue.isObject() && !nextPointerLevel.isEmpty()) {
JsonObject rootObject = rootValue.asObject();
rootObject = rootObject.remove(nextPointerLevel);
set(JsonFactory.newField(jsonField.getKey(), rootObject,
jsonField.getDefinition().orElse(null)));
} else {
fields.remove(jsonField.getKeyName());
}
});
return this;
}
代码示例来源:origin: eclipse/ditto
private ImmutableJsonObjectBuilder remove(final JsonPointer pointer) {
pointer.getRoot()
.map(JsonKey::toString)
.map(fields::get)
.ifPresent(jsonField -> {
final JsonValue rootValue = jsonField.getValue();
final JsonPointer nextPointerLevel = pointer.nextLevel();
if (rootValue.isObject() && !nextPointerLevel.isEmpty()) {
JsonObject rootObject = rootValue.asObject();
rootObject = rootObject.remove(nextPointerLevel);
set(JsonFactory.newField(jsonField.getKey(), rootObject,
jsonField.getDefinition().orElse(null)));
} else {
fields.remove(jsonField.getKeyName());
}
});
return this;
}
代码示例来源:origin: eclipse/ditto
@SuppressWarnings("unchecked")
JsonObject buildJsonView(final Iterable<JsonField> jsonFields, final Set<String> subjectIds,
final Permissions permissions) {
final PolicyTrie defaultPolicyTrie = new PolicyTrie(grantRevokeIndex, Collections.emptyMap());
if (jsonFields instanceof JsonObject && ((JsonObject) jsonFields).isNull()) {
return (JsonObject) jsonFields;
}
final JsonObjectBuilder outputObjectBuilder = JsonFactory.newObjectBuilder();
for (final JsonField field : jsonFields) {
final JsonValue jsonView = getViewForJsonFieldOrNull(field, defaultPolicyTrie, subjectIds, permissions);
if (null != jsonView) {
final Optional<JsonFieldDefinition> definitionOptional = field.getDefinition();
if (definitionOptional.isPresent()) {
outputObjectBuilder.set(definitionOptional.get(), jsonView);
} else {
outputObjectBuilder.set(field.getKey(), jsonView);
}
}
}
return outputObjectBuilder.build();
}
代码示例来源:origin: eclipse/ditto
private static void compareFieldDefinitions(final JsonField expectedField, final JsonField actualField) {
final Optional<JsonFieldDefinition> expectedFieldDefinition = expectedField.getDefinition();
final Optional<JsonFieldDefinition> actualFieldDefinition = actualField.getDefinition();
if (expectedFieldDefinition.isPresent()) {
Assertions.assertThat(actualFieldDefinition)
.overridingErrorMessage("Expected JsonField <%s> to have definition <%s> but it had " +
"none", expectedField.getKey(), expectedFieldDefinition.get())
.isPresent();
Assertions.assertThat(expectedFieldDefinition)
.as("Definitions of JsonField <%s> are equal", expectedField.getKey())
.contains(actualFieldDefinition.get());
}
}
代码示例来源:origin: org.eclipse.ditto/ditto-json
@SuppressWarnings("unchecked")
private static JsonObject filterByTrie(final JsonObject self, final JsonFieldSelectorTrie trie) {
if (trie.isEmpty()) {
return self;
}
final JsonObjectBuilder builder = JsonFactory.newObjectBuilder();
for (final JsonKey key : trie.getKeys()) {
self.getField(key).ifPresent(child -> {
final JsonValue childValue = child.getValue();
final JsonValue filteredChildValue = childValue.isObject()
? filterByTrie(childValue.asObject(), trie.descend(key))
: childValue;
final Optional<JsonFieldDefinition> childFieldDefinition = child.getDefinition();
if (childFieldDefinition.isPresent()) {
builder.set(childFieldDefinition.get(), filteredChildValue);
} else {
builder.set(key, filteredChildValue);
}
});
}
return builder.build();
}
代码示例来源:origin: eclipse/ditto
@SuppressWarnings("unchecked")
private static JsonObject filterByTrie(final JsonObject self, final JsonFieldSelectorTrie trie) {
if (trie.isEmpty()) {
return self;
}
final JsonObjectBuilder builder = JsonObject.newBuilder();
for (final JsonKey key : trie.getKeys()) {
self.getField(key).ifPresent(child -> {
final JsonValue childValue = child.getValue();
final JsonValue filteredChildValue = childValue.isObject()
? filterByTrie(childValue.asObject(), trie.descend(key))
: childValue;
final Optional<JsonFieldDefinition> childFieldDefinition = child.getDefinition();
if (childFieldDefinition.isPresent()) {
builder.set(childFieldDefinition.get(), filteredChildValue);
} else {
builder.set(key, filteredChildValue);
}
});
}
return builder.build();
}
内容来源于网络,如有侵权,请联系作者删除!