org.eclipse.ditto.json.JsonField.getDefinition()方法的使用及代码示例

x33g5p2x  于2022-01-22 转载在 其他  
字(7.5k)|赞(0)|评价(0)|浏览(75)

本文整理了Java中org.eclipse.ditto.json.JsonField.getDefinition()方法的一些代码示例,展示了JsonField.getDefinition()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JsonField.getDefinition()方法的具体详情如下:
包路径:org.eclipse.ditto.json.JsonField
类名称:JsonField
方法名:getDefinition

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();
}

相关文章