test_class.declarator: KNOWN_FIELDS = "thingId"
test_class.modifier: private static final
test_class.original_string: private static final String KNOWN_FIELDS = "thingId";
test_class.type: String
test_class.var_name: KNOWN_FIELDS
test_class.declarator: JSON_ALL_FIELDS_V2 = JsonFactory.newObjectBuilder()
              .set(ThingSearchCommand.JsonFields.TYPE, QueryThings.TYPE)
              .set(QueryThings.JSON_FILTER, TestConstants.KNOWN_FILTER_STR)
              .set(QueryThings.JSON_OPTIONS, JsonFactory.newArrayBuilder()
                      .add(TestConstants.KNOWN_OPT_1)
                      .add(TestConstants.KNOWN_OPT_2)
                      .build())
              .set(QueryThings.JSON_FIELDS, KNOWN_FIELDS)
              .set(QueryThings.JSON_NAMESPACES, JsonFactory.newArrayBuilder()
                      .add(TestConstants.KNOWN_NAMESPACE)
                      .build())
              .build()
              .toString()
test_class.modifier: private static final
test_class.original_string: private static final String JSON_ALL_FIELDS_V2 = JsonFactory.newObjectBuilder()
              .set(ThingSearchCommand.JsonFields.TYPE, QueryThings.TYPE)
              .set(QueryThings.JSON_FILTER, TestConstants.KNOWN_FILTER_STR)
              .set(QueryThings.JSON_OPTIONS, JsonFactory.newArrayBuilder()
                      .add(TestConstants.KNOWN_OPT_1)
                      .add(TestConstants.KNOWN_OPT_2)
                      .build())
              .set(QueryThings.JSON_FIELDS, KNOWN_FIELDS)
              .set(QueryThings.JSON_NAMESPACES, JsonFactory.newArrayBuilder()
                      .add(TestConstants.KNOWN_NAMESPACE)
                      .build())
              .build()
              .toString();
test_class.type: String
test_class.var_name: JSON_ALL_FIELDS_V2
test_class.declarator: JSON_ALL_FIELDS_V1 = JsonFactory.newObjectBuilder()
              .set(ThingSearchCommand.JsonFields.ID, QueryThings.NAME)
              .set(QueryThings.JSON_FILTER, TestConstants.KNOWN_FILTER_STR)
              .set(QueryThings.JSON_OPTIONS, JsonFactory.newArrayBuilder()
                      .add(TestConstants.KNOWN_OPT_1)
                      .add(TestConstants.KNOWN_OPT_2)
                      .build())
              .set(QueryThings.JSON_FIELDS, KNOWN_FIELDS)
              .set(QueryThings.JSON_NAMESPACES, JsonFactory.newArrayBuilder()
                      .add(TestConstants.KNOWN_NAMESPACE)
                      .build())
              .build()
              .toString()
test_class.modifier: private static final
test_class.original_string: private static final String JSON_ALL_FIELDS_V1 = JsonFactory.newObjectBuilder()
              .set(ThingSearchCommand.JsonFields.ID, QueryThings.NAME)
              .set(QueryThings.JSON_FILTER, TestConstants.KNOWN_FILTER_STR)
              .set(QueryThings.JSON_OPTIONS, JsonFactory.newArrayBuilder()
                      .add(TestConstants.KNOWN_OPT_1)
                      .add(TestConstants.KNOWN_OPT_2)
                      .build())
              .set(QueryThings.JSON_FIELDS, KNOWN_FIELDS)
              .set(QueryThings.JSON_NAMESPACES, JsonFactory.newArrayBuilder()
                      .add(TestConstants.KNOWN_NAMESPACE)
                      .build())
              .build()
              .toString();
test_class.type: String
test_class.var_name: JSON_ALL_FIELDS_V1
test_class.declarator: JSON_MINIMAL_V2 = JsonFactory.newObjectBuilder()
              .set(ThingSearchCommand.JsonFields.TYPE, QueryThings.TYPE)
              .build().toString()
test_class.modifier: private static final
test_class.original_string: private static final String JSON_MINIMAL_V2 = JsonFactory.newObjectBuilder()
              .set(ThingSearchCommand.JsonFields.TYPE, QueryThings.TYPE)
              .build().toString();
test_class.type: String
test_class.var_name: JSON_MINIMAL_V2
test_class.declarator: JSON_MINIMAL_V1 = JsonFactory.newObjectBuilder()
              .set(ThingSearchCommand.JsonFields.ID, QueryThings.NAME)
              .build().toString()
test_class.modifier: private static final
test_class.original_string: private static final String JSON_MINIMAL_V1 = JsonFactory.newObjectBuilder()
              .set(ThingSearchCommand.JsonFields.ID, QueryThings.NAME)
              .build().toString();
test_class.type: String
test_class.var_name: JSON_MINIMAL_V1
test_class.file: signals/commands/thingsearch/src/test/java/org/eclipse/ditto/signals/commands/thingsearch/query/QueryThingsTest.java
test_class.identifier: QueryThingsTest
test_case.body: @Test
      public void fromJsonWithOnlyRequiredFieldsSetV1() {
          assertMinimal(QueryThings.fromJson(JSON_MINIMAL_V1, DittoHeaders.empty()));
      }
test_case.class_method_signature: QueryThingsTest.fromJsonWithOnlyRequiredFieldsSetV1()
test_case.full_signature: @Test public void fromJsonWithOnlyRequiredFieldsSetV1()
test_case.identifier: fromJsonWithOnlyRequiredFieldsSetV1
test_case.invocations: assertMinimal fromJson empty
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void fromJsonWithOnlyRequiredFieldsSetV1()
focal_class.declarator: NAME = "queryThings"
focal_class.modifier: public static final
focal_class.original_string: public static final String NAME = "queryThings";
focal_class.type: String
focal_class.var_name: NAME
focal_class.declarator: TYPE = TYPE_PREFIX + NAME
focal_class.modifier: public static final
focal_class.original_string: public static final String TYPE = TYPE_PREFIX + NAME;
focal_class.type: String
focal_class.var_name: TYPE
focal_class.declarator: JSON_FILTER =
              JsonFactory.newStringFieldDefinition("filter", FieldType.REGULAR, JsonSchemaVersion.V_1,
                      JsonSchemaVersion.V_2)
focal_class.modifier: static final
focal_class.original_string: static final JsonFieldDefinition<String> JSON_FILTER =
              JsonFactory.newStringFieldDefinition("filter", FieldType.REGULAR, JsonSchemaVersion.V_1,
                      JsonSchemaVersion.V_2);
focal_class.type: JsonFieldDefinition<String>
focal_class.var_name: JSON_FILTER
focal_class.declarator: JSON_OPTIONS =
              JsonFactory.newJsonArrayFieldDefinition("options", FieldType.REGULAR, JsonSchemaVersion.V_1,
                      JsonSchemaVersion.V_2)
focal_class.modifier: static final
focal_class.original_string: static final JsonFieldDefinition<JsonArray> JSON_OPTIONS =
              JsonFactory.newJsonArrayFieldDefinition("options", FieldType.REGULAR, JsonSchemaVersion.V_1,
                      JsonSchemaVersion.V_2);
focal_class.type: JsonFieldDefinition<JsonArray>
focal_class.var_name: JSON_OPTIONS
focal_class.declarator: JSON_FIELDS =
              JsonFactory.newStringFieldDefinition("fields", FieldType.REGULAR, JsonSchemaVersion.V_1,
                      JsonSchemaVersion.V_2)
focal_class.modifier: static final
focal_class.original_string: static final JsonFieldDefinition<String> JSON_FIELDS =
              JsonFactory.newStringFieldDefinition("fields", FieldType.REGULAR, JsonSchemaVersion.V_1,
                      JsonSchemaVersion.V_2);
focal_class.type: JsonFieldDefinition<String>
focal_class.var_name: JSON_FIELDS
focal_class.declarator: JSON_NAMESPACES =
              JsonFactory.newJsonArrayFieldDefinition("namespaces", FieldType.REGULAR, JsonSchemaVersion.V_1,
                      JsonSchemaVersion.V_2)
focal_class.modifier: static final
focal_class.original_string: static final JsonFieldDefinition<JsonArray> JSON_NAMESPACES =
              JsonFactory.newJsonArrayFieldDefinition("namespaces", FieldType.REGULAR, JsonSchemaVersion.V_1,
                      JsonSchemaVersion.V_2);
focal_class.type: JsonFieldDefinition<JsonArray>
focal_class.var_name: JSON_NAMESPACES
focal_class.declarator: filter
focal_class.modifier: @Nullable private final
focal_class.original_string: @Nullable private final String filter;
focal_class.type: String
focal_class.var_name: filter
focal_class.declarator: options
focal_class.modifier: @Nullable private final
focal_class.original_string: @Nullable private final List<String> options;
focal_class.type: List<String>
focal_class.var_name: options
focal_class.declarator: fields
focal_class.modifier: @Nullable private final
focal_class.original_string: @Nullable private final JsonFieldSelector fields;
focal_class.type: JsonFieldSelector
focal_class.var_name: fields
focal_class.declarator: namespaces
focal_class.modifier: @Nullable private final
focal_class.original_string: @Nullable private final Set<String> namespaces;
focal_class.type: Set<String>
focal_class.var_name: namespaces
focal_class.file: signals/commands/thingsearch/src/main/java/org/eclipse/ditto/signals/commands/thingsearch/query/QueryThings.java
focal_class.identifier: QueryThings
focal_class.interfaces: implements ThingSearchQueryCommand<QueryThings>
focal_class.class_method_signature: QueryThings.QueryThings(final DittoHeaders dittoHeaders,
              @Nullable final String filter,
              @Nullable final List<String> options,
              @Nullable final JsonFieldSelector fields,
              @Nullable final Collection<String> namespaces)
focal_class.full_signature: private  QueryThings(final DittoHeaders dittoHeaders,
              @Nullable final String filter,
              @Nullable final List<String> options,
              @Nullable final JsonFieldSelector fields,
              @Nullable final Collection<String> namespaces)
focal_class.identifier: QueryThings
focal_class.modifiers: private
focal_class.parameters: (final DittoHeaders dittoHeaders,
              @Nullable final String filter,
              @Nullable final List<String> options,
              @Nullable final JsonFieldSelector fields,
              @Nullable final Collection<String> namespaces)
focal_class.signature:  QueryThings(final DittoHeaders dittoHeaders,
              @Nullable final String filter,
              @Nullable final List<String> options,
              @Nullable final JsonFieldSelector fields,
              @Nullable final Collection<String> namespaces)
focal_class.class_method_signature: QueryThings.of(@Nullable final String filter, @Nullable final List<String> options,
              @Nullable final JsonFieldSelector fields, @Nullable final Set<String> namespaces,
              final DittoHeaders dittoHeaders)
focal_class.full_signature: public static QueryThings of(@Nullable final String filter, @Nullable final List<String> options,
              @Nullable final JsonFieldSelector fields, @Nullable final Set<String> namespaces,
              final DittoHeaders dittoHeaders)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (@Nullable final String filter, @Nullable final List<String> options,
              @Nullable final JsonFieldSelector fields, @Nullable final Set<String> namespaces,
              final DittoHeaders dittoHeaders)
focal_class.return: QueryThings
focal_class.signature: QueryThings of(@Nullable final String filter, @Nullable final List<String> options,
              @Nullable final JsonFieldSelector fields, @Nullable final Set<String> namespaces,
              final DittoHeaders dittoHeaders)
focal_class.class_method_signature: QueryThings.of(final DittoHeaders dittoHeaders)
focal_class.full_signature: public static QueryThings of(final DittoHeaders dittoHeaders)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (final DittoHeaders dittoHeaders)
focal_class.return: QueryThings
focal_class.signature: QueryThings of(final DittoHeaders dittoHeaders)
focal_class.class_method_signature: QueryThings.fromJson(final String jsonString, final DittoHeaders dittoHeaders)
focal_class.full_signature: public static QueryThings fromJson(final String jsonString, final DittoHeaders dittoHeaders)
focal_class.identifier: fromJson
focal_class.modifiers: public static
focal_class.parameters: (final String jsonString, final DittoHeaders dittoHeaders)
focal_class.return: QueryThings
focal_class.signature: QueryThings fromJson(final String jsonString, final DittoHeaders dittoHeaders)
focal_class.class_method_signature: QueryThings.fromJson(final JsonObject jsonObject, final DittoHeaders dittoHeaders)
focal_class.full_signature: public static QueryThings fromJson(final JsonObject jsonObject, final DittoHeaders dittoHeaders)
focal_class.identifier: fromJson
focal_class.modifiers: public static
focal_class.parameters: (final JsonObject jsonObject, final DittoHeaders dittoHeaders)
focal_class.return: QueryThings
focal_class.signature: QueryThings fromJson(final JsonObject jsonObject, final DittoHeaders dittoHeaders)
focal_class.class_method_signature: QueryThings.getFilter()
focal_class.full_signature: @Override public Optional<String> getFilter()
focal_class.identifier: getFilter
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Optional<String>
focal_class.signature: Optional<String> getFilter()
focal_class.class_method_signature: QueryThings.getOptions()
focal_class.full_signature: public Optional<List<String>> getOptions()
focal_class.identifier: getOptions
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Optional<List<String>>
focal_class.signature: Optional<List<String>> getOptions()
focal_class.class_method_signature: QueryThings.getFields()
focal_class.full_signature: public Optional<JsonFieldSelector> getFields()
focal_class.identifier: getFields
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Optional<JsonFieldSelector>
focal_class.signature: Optional<JsonFieldSelector> getFields()
focal_class.class_method_signature: QueryThings.getNamespaces()
focal_class.full_signature: @Override public Optional<Set<String>> getNamespaces()
focal_class.identifier: getNamespaces
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Optional<Set<String>>
focal_class.signature: Optional<Set<String>> getNamespaces()
focal_class.class_method_signature: QueryThings.setNamespaces(@Nullable final Collection<String> namespaces)
focal_class.full_signature: @Override public QueryThings setNamespaces(@Nullable final Collection<String> namespaces)
focal_class.identifier: setNamespaces
focal_class.modifiers: @Override public
focal_class.parameters: (@Nullable final Collection<String> namespaces)
focal_class.return: QueryThings
focal_class.signature: QueryThings setNamespaces(@Nullable final Collection<String> namespaces)
focal_class.class_method_signature: QueryThings.appendPayload(final JsonObjectBuilder jsonObjectBuilder, final JsonSchemaVersion schemaVersion,
              final Predicate<JsonField> thePredicate)
focal_class.full_signature: @Override protected void appendPayload(final JsonObjectBuilder jsonObjectBuilder, final JsonSchemaVersion schemaVersion,
              final Predicate<JsonField> thePredicate)
focal_class.identifier: appendPayload
focal_class.modifiers: @Override protected
focal_class.parameters: (final JsonObjectBuilder jsonObjectBuilder, final JsonSchemaVersion schemaVersion,
              final Predicate<JsonField> thePredicate)
focal_class.return: void
focal_class.signature: void appendPayload(final JsonObjectBuilder jsonObjectBuilder, final JsonSchemaVersion schemaVersion,
              final Predicate<JsonField> thePredicate)
focal_class.class_method_signature: QueryThings.setDittoHeaders(final DittoHeaders dittoHeaders)
focal_class.full_signature: @Override public QueryThings setDittoHeaders(final DittoHeaders dittoHeaders)
focal_class.identifier: setDittoHeaders
focal_class.modifiers: @Override public
focal_class.parameters: (final DittoHeaders dittoHeaders)
focal_class.return: QueryThings
focal_class.signature: QueryThings setDittoHeaders(final DittoHeaders dittoHeaders)
focal_class.class_method_signature: QueryThings.equals(@Nullable final Object o)
focal_class.full_signature: @Override public boolean equals(@Nullable final Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (@Nullable final Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(@Nullable final Object o)
focal_class.class_method_signature: QueryThings.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: QueryThings.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.superclass: extends AbstractCommand<QueryThings>
focal_method.body: public static QueryThings fromJson(final String jsonString, final DittoHeaders dittoHeaders) {
          return fromJson(JsonFactory.newObject(jsonString), dittoHeaders);
      }
focal_method.class_method_signature: QueryThings.fromJson(final String jsonString, final DittoHeaders dittoHeaders)
focal_method.full_signature: public static QueryThings fromJson(final String jsonString, final DittoHeaders dittoHeaders)
focal_method.identifier: fromJson
focal_method.invocations: fromJson newObject
focal_method.modifiers: public static
focal_method.parameters: (final String jsonString, final DittoHeaders dittoHeaders)
focal_method.return: QueryThings
focal_method.signature: QueryThings fromJson(final String jsonString, final DittoHeaders dittoHeaders)