test_class.declarator: softly = new JUnitSoftAssertions()
test_class.modifier: @Rule
      public final
test_class.original_string: @Rule
      public final JUnitSoftAssertions softly = new JUnitSoftAssertions();
test_class.type: JUnitSoftAssertions
test_class.var_name: softly
test_class.declarator: KNOWN_JSON = JsonFactory.newObjectBuilder()
              .set(ThingCommand.JsonFields.TYPE, CreateThing.TYPE)
              .set(CreateThing.JSON_THING, TestConstants.Thing.THING.toJson(FieldType.regularOrSpecial()))
              .build()
test_class.modifier: private static final
test_class.original_string: private static final JsonObject KNOWN_JSON = JsonFactory.newObjectBuilder()
              .set(ThingCommand.JsonFields.TYPE, CreateThing.TYPE)
              .set(CreateThing.JSON_THING, TestConstants.Thing.THING.toJson(FieldType.regularOrSpecial()))
              .build();
test_class.type: JsonObject
test_class.var_name: KNOWN_JSON
test_class.file: signals/commands/things/src/test/java/org/eclipse/ditto/signals/commands/things/modify/CreateThingTest.java
test_class.identifier: CreateThingTest
test_case.body: @Test
      public void createInstanceWithValidThingId() {
          final Thing thing = ThingsModelFactory.newThingBuilder()
                  .setLifecycle(TestConstants.Thing.LIFECYCLE)
                  .setPolicyId(TestConstants.Thing.POLICY_ID)
                  .setId(ThingId.of("test.ns", "foo-bar"))
                  .build();
  
          final CreateThing createThing =
                  CreateThing.of(thing, null, TestConstants.EMPTY_DITTO_HEADERS);
  
          softly.assertThat(createThing).isNotNull();
      }
test_case.class_method_signature: CreateThingTest.createInstanceWithValidThingId()
test_case.full_signature: @Test public void createInstanceWithValidThingId()
test_case.identifier: createInstanceWithValidThingId
test_case.invocations: build setId setPolicyId setLifecycle newThingBuilder of of isNotNull assertThat
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void createInstanceWithValidThingId()
focal_class.declarator: NAME = "createThing"
focal_class.modifier: public static final
focal_class.original_string: public static final String NAME = "createThing";
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_THING =
              JsonFactory.newJsonObjectFieldDefinition("thing", FieldType.REGULAR, JsonSchemaVersion.V_1,
                      JsonSchemaVersion.V_2)
focal_class.modifier: public static final
focal_class.original_string: public static final JsonFieldDefinition<JsonObject> JSON_THING =
              JsonFactory.newJsonObjectFieldDefinition("thing", FieldType.REGULAR, JsonSchemaVersion.V_1,
                      JsonSchemaVersion.V_2);
focal_class.type: JsonFieldDefinition<JsonObject>
focal_class.var_name: JSON_THING
focal_class.declarator: JSON_POLICY_ID_OR_PLACEHOLDER =
              JsonFactory.newStringFieldDefinition("policyIdOrPlaceholder", FieldType.REGULAR, JsonSchemaVersion.V_2)
focal_class.modifier: public static final
focal_class.original_string: public static final JsonFieldDefinition<String> JSON_POLICY_ID_OR_PLACEHOLDER =
              JsonFactory.newStringFieldDefinition("policyIdOrPlaceholder", FieldType.REGULAR, JsonSchemaVersion.V_2);
focal_class.type: JsonFieldDefinition<String>
focal_class.var_name: JSON_POLICY_ID_OR_PLACEHOLDER
focal_class.declarator: JSON_COPY_POLICY_FROM =
              JsonFactory.newStringFieldDefinition("_copyPolicyFrom", FieldType.REGULAR, JsonSchemaVersion.V_2)
focal_class.modifier: public static final
focal_class.original_string: public static final JsonFieldDefinition<String> JSON_COPY_POLICY_FROM =
              JsonFactory.newStringFieldDefinition("_copyPolicyFrom", FieldType.REGULAR, JsonSchemaVersion.V_2);
focal_class.type: JsonFieldDefinition<String>
focal_class.var_name: JSON_COPY_POLICY_FROM
focal_class.declarator: JSON_INITIAL_POLICY =
              JsonFactory.newJsonObjectFieldDefinition("initialPolicy", FieldType.REGULAR, JsonSchemaVersion.V_2)
focal_class.modifier: public static final
focal_class.original_string: public static final JsonFieldDefinition<JsonObject> JSON_INITIAL_POLICY =
              JsonFactory.newJsonObjectFieldDefinition("initialPolicy", FieldType.REGULAR, JsonSchemaVersion.V_2);
focal_class.type: JsonFieldDefinition<JsonObject>
focal_class.var_name: JSON_INITIAL_POLICY
focal_class.declarator: JSON_INLINE_POLICY =
              JsonFactory.newJsonObjectFieldDefinition("_policy", FieldType.REGULAR, JsonSchemaVersion.V_2)
focal_class.modifier: public static final
focal_class.original_string: public static final JsonFieldDefinition<JsonObject> JSON_INLINE_POLICY =
              JsonFactory.newJsonObjectFieldDefinition("_policy", FieldType.REGULAR, JsonSchemaVersion.V_2);
focal_class.type: JsonFieldDefinition<JsonObject>
focal_class.var_name: JSON_INLINE_POLICY
focal_class.declarator: thing
focal_class.modifier: private final
focal_class.original_string: private final Thing thing;
focal_class.type: Thing
focal_class.var_name: thing
focal_class.declarator: initialPolicy
focal_class.modifier: @Nullable private final
focal_class.original_string: @Nullable private final JsonObject initialPolicy;
focal_class.type: JsonObject
focal_class.var_name: initialPolicy
focal_class.declarator: policyIdOrPlaceholder
focal_class.modifier: @Nullable private final
focal_class.original_string: @Nullable private final String policyIdOrPlaceholder;
focal_class.type: String
focal_class.var_name: policyIdOrPlaceholder
focal_class.file: signals/commands/things/src/main/java/org/eclipse/ditto/signals/commands/things/modify/CreateThing.java
focal_class.identifier: CreateThing
focal_class.interfaces: implements ThingModifyCommand<CreateThing>
focal_class.class_method_signature: CreateThing.CreateThing(final Thing thing, @Nullable final JsonObject initialPolicy, final DittoHeaders dittoHeaders)
focal_class.full_signature: private  CreateThing(final Thing thing, @Nullable final JsonObject initialPolicy, final DittoHeaders dittoHeaders)
focal_class.identifier: CreateThing
focal_class.modifiers: private
focal_class.parameters: (final Thing thing, @Nullable final JsonObject initialPolicy, final DittoHeaders dittoHeaders)
focal_class.signature:  CreateThing(final Thing thing, @Nullable final JsonObject initialPolicy, final DittoHeaders dittoHeaders)
focal_class.class_method_signature: CreateThing.CreateThing(final Thing thing, final String policyIdOrPlaceholder, final DittoHeaders dittoHeaders)
focal_class.full_signature: private  CreateThing(final Thing thing, final String policyIdOrPlaceholder, final DittoHeaders dittoHeaders)
focal_class.identifier: CreateThing
focal_class.modifiers: private
focal_class.parameters: (final Thing thing, final String policyIdOrPlaceholder, final DittoHeaders dittoHeaders)
focal_class.signature:  CreateThing(final Thing thing, final String policyIdOrPlaceholder, final DittoHeaders dittoHeaders)
focal_class.class_method_signature: CreateThing.of(final Thing newThing, @Nullable final JsonObject initialPolicy,
              final DittoHeaders dittoHeaders)
focal_class.full_signature: public static CreateThing of(final Thing newThing, @Nullable final JsonObject initialPolicy,
              final DittoHeaders dittoHeaders)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (final Thing newThing, @Nullable final JsonObject initialPolicy,
              final DittoHeaders dittoHeaders)
focal_class.return: CreateThing
focal_class.signature: CreateThing of(final Thing newThing, @Nullable final JsonObject initialPolicy,
              final DittoHeaders dittoHeaders)
focal_class.class_method_signature: CreateThing.withCopiedPolicy(final Thing newThing, final String policyIdOrPlaceholder,
              final DittoHeaders dittoHeaders)
focal_class.full_signature: public static CreateThing withCopiedPolicy(final Thing newThing, final String policyIdOrPlaceholder,
              final DittoHeaders dittoHeaders)
focal_class.identifier: withCopiedPolicy
focal_class.modifiers: public static
focal_class.parameters: (final Thing newThing, final String policyIdOrPlaceholder,
              final DittoHeaders dittoHeaders)
focal_class.return: CreateThing
focal_class.signature: CreateThing withCopiedPolicy(final Thing newThing, final String policyIdOrPlaceholder,
              final DittoHeaders dittoHeaders)
focal_class.class_method_signature: CreateThing.of(final Thing newThing, @Nullable final JsonObject initialPolicy,
              @Nullable final String policyIdOrPlaceholder, final DittoHeaders dittoHeaders)
focal_class.full_signature: public static CreateThing of(final Thing newThing, @Nullable final JsonObject initialPolicy,
              @Nullable final String policyIdOrPlaceholder, final DittoHeaders dittoHeaders)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (final Thing newThing, @Nullable final JsonObject initialPolicy,
              @Nullable final String policyIdOrPlaceholder, final DittoHeaders dittoHeaders)
focal_class.return: CreateThing
focal_class.signature: CreateThing of(final Thing newThing, @Nullable final JsonObject initialPolicy,
              @Nullable final String policyIdOrPlaceholder, final DittoHeaders dittoHeaders)
focal_class.class_method_signature: CreateThing.fromJson(final String jsonString, final DittoHeaders dittoHeaders)
focal_class.full_signature: public static CreateThing 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: CreateThing
focal_class.signature: CreateThing fromJson(final String jsonString, final DittoHeaders dittoHeaders)
focal_class.class_method_signature: CreateThing.fromJson(final JsonObject jsonObject, final DittoHeaders dittoHeaders)
focal_class.full_signature: public static CreateThing 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: CreateThing
focal_class.signature: CreateThing fromJson(final JsonObject jsonObject, final DittoHeaders dittoHeaders)
focal_class.class_method_signature: CreateThing.getThing()
focal_class.full_signature: public Thing getThing()
focal_class.identifier: getThing
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Thing
focal_class.signature: Thing getThing()
focal_class.class_method_signature: CreateThing.getInitialPolicy()
focal_class.full_signature: public Optional<JsonObject> getInitialPolicy()
focal_class.identifier: getInitialPolicy
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Optional<JsonObject>
focal_class.signature: Optional<JsonObject> getInitialPolicy()
focal_class.class_method_signature: CreateThing.getPolicyIdOrPlaceholder()
focal_class.full_signature: public Optional<String> getPolicyIdOrPlaceholder()
focal_class.identifier: getPolicyIdOrPlaceholder
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Optional<String>
focal_class.signature: Optional<String> getPolicyIdOrPlaceholder()
focal_class.class_method_signature: CreateThing.getThingEntityId()
focal_class.full_signature: @Override public ThingId getThingEntityId()
focal_class.identifier: getThingEntityId
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: ThingId
focal_class.signature: ThingId getThingEntityId()
focal_class.class_method_signature: CreateThing.getEntity(final JsonSchemaVersion schemaVersion)
focal_class.full_signature: @Override public Optional<JsonValue> getEntity(final JsonSchemaVersion schemaVersion)
focal_class.identifier: getEntity
focal_class.modifiers: @Override public
focal_class.parameters: (final JsonSchemaVersion schemaVersion)
focal_class.return: Optional<JsonValue>
focal_class.signature: Optional<JsonValue> getEntity(final JsonSchemaVersion schemaVersion)
focal_class.class_method_signature: CreateThing.getResourcePath()
focal_class.full_signature: @Override public JsonPointer getResourcePath()
focal_class.identifier: getResourcePath
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: JsonPointer
focal_class.signature: JsonPointer getResourcePath()
focal_class.class_method_signature: CreateThing.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: CreateThing.getCategory()
focal_class.full_signature: @Override public Category getCategory()
focal_class.identifier: getCategory
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Category
focal_class.signature: Category getCategory()
focal_class.class_method_signature: CreateThing.setDittoHeaders(final DittoHeaders dittoHeaders)
focal_class.full_signature: @Override public CreateThing setDittoHeaders(final DittoHeaders dittoHeaders)
focal_class.identifier: setDittoHeaders
focal_class.modifiers: @Override public
focal_class.parameters: (final DittoHeaders dittoHeaders)
focal_class.return: CreateThing
focal_class.signature: CreateThing setDittoHeaders(final DittoHeaders dittoHeaders)
focal_class.class_method_signature: CreateThing.changesAuthorization()
focal_class.full_signature: @Override public boolean changesAuthorization()
focal_class.identifier: changesAuthorization
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean changesAuthorization()
focal_class.class_method_signature: CreateThing.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: CreateThing.equals(@Nullable final Object obj)
focal_class.full_signature: @SuppressWarnings("squid:MethodCyclomaticComplexity") @Override public boolean equals(@Nullable final Object obj)
focal_class.identifier: equals
focal_class.modifiers: @SuppressWarnings("squid:MethodCyclomaticComplexity") @Override public
focal_class.parameters: (@Nullable final Object obj)
focal_class.return: boolean
focal_class.signature: boolean equals(@Nullable final Object obj)
focal_class.class_method_signature: CreateThing.canEqual(@Nullable final Object other)
focal_class.full_signature: @Override protected boolean canEqual(@Nullable final Object other)
focal_class.identifier: canEqual
focal_class.modifiers: @Override protected
focal_class.parameters: (@Nullable final Object other)
focal_class.return: boolean
focal_class.signature: boolean canEqual(@Nullable final Object other)
focal_class.class_method_signature: CreateThing.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<CreateThing>
focal_method.body: public static CreateThing of(final Thing newThing, @Nullable final JsonObject initialPolicy,
              final DittoHeaders dittoHeaders) {
          checkNotNull(newThing, "new Thing");
          return new CreateThing(newThing, initialPolicy, dittoHeaders);
      }
focal_method.class_method_signature: CreateThing.of(final Thing newThing, @Nullable final JsonObject initialPolicy,
              final DittoHeaders dittoHeaders)
focal_method.full_signature: public static CreateThing of(final Thing newThing, @Nullable final JsonObject initialPolicy,
              final DittoHeaders dittoHeaders)
focal_method.identifier: of
focal_method.invocations: checkNotNull
focal_method.modifiers: public static
focal_method.parameters: (final Thing newThing, @Nullable final JsonObject initialPolicy,
              final DittoHeaders dittoHeaders)
focal_method.return: CreateThing
focal_method.signature: CreateThing of(final Thing newThing, @Nullable final JsonObject initialPolicy,
              final DittoHeaders dittoHeaders)