test_class.declarator: underTest
test_class.modifier: private
test_class.original_string: private SudoRetrieveThingStrategy underTest;
test_class.type: SudoRetrieveThingStrategy
test_class.var_name: underTest
test_class.file: services/things/persistence/src/test/java/org/eclipse/ditto/services/things/persistence/actors/strategies/commands/SudoRetrieveThingStrategyTest.java
test_class.identifier: SudoRetrieveThingStrategyTest
test_class.superclass: extends AbstractCommandStrategyTest
test_case.body: @Test
      public void isNotDefinedForDeviantThingIds() {
          final CommandStrategy.Context<ThingId> context = getDefaultContext();
          final SudoRetrieveThing command =
                  SudoRetrieveThing.of(ThingId.of("org.example", "myThing"), DittoHeaders.empty());
  
          final boolean defined = underTest.isDefined(context, THING_V2, command);
  
          assertThat(defined).isFalse();
      }
test_case.class_method_signature: SudoRetrieveThingStrategyTest.isNotDefinedForDeviantThingIds()
test_case.full_signature: @Test public void isNotDefinedForDeviantThingIds()
test_case.identifier: isNotDefinedForDeviantThingIds
test_case.invocations: getDefaultContext of of empty isDefined isFalse assertThat
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void isNotDefinedForDeviantThingIds()
focal_class.file: services/things/persistence/src/main/java/org/eclipse/ditto/services/things/persistence/actors/strategies/commands/SudoRetrieveThingStrategy.java
focal_class.identifier: SudoRetrieveThingStrategy
focal_class.class_method_signature: SudoRetrieveThingStrategy.SudoRetrieveThingStrategy()
focal_class.full_signature:   SudoRetrieveThingStrategy()
focal_class.identifier: SudoRetrieveThingStrategy
focal_class.parameters: ()
focal_class.signature:  SudoRetrieveThingStrategy()
focal_class.class_method_signature: SudoRetrieveThingStrategy.isDefined(final Context<ThingId> context, @Nullable final Thing thing,
              final SudoRetrieveThing command)
focal_class.full_signature: @Override public boolean isDefined(final Context<ThingId> context, @Nullable final Thing thing,
              final SudoRetrieveThing command)
focal_class.identifier: isDefined
focal_class.modifiers: @Override public
focal_class.parameters: (final Context<ThingId> context, @Nullable final Thing thing,
              final SudoRetrieveThing command)
focal_class.return: boolean
focal_class.signature: boolean isDefined(final Context<ThingId> context, @Nullable final Thing thing,
              final SudoRetrieveThing command)
focal_class.class_method_signature: SudoRetrieveThingStrategy.doApply(final Context<ThingId> context,
              @Nullable final Thing thing,
              final long nextRevision,
              final SudoRetrieveThing command,
              @Nullable final Metadata metadata)
focal_class.full_signature: @Override protected Result<ThingEvent> doApply(final Context<ThingId> context,
              @Nullable final Thing thing,
              final long nextRevision,
              final SudoRetrieveThing command,
              @Nullable final Metadata metadata)
focal_class.identifier: doApply
focal_class.modifiers: @Override protected
focal_class.parameters: (final Context<ThingId> context,
              @Nullable final Thing thing,
              final long nextRevision,
              final SudoRetrieveThing command,
              @Nullable final Metadata metadata)
focal_class.return: Result<ThingEvent>
focal_class.signature: Result<ThingEvent> doApply(final Context<ThingId> context,
              @Nullable final Thing thing,
              final long nextRevision,
              final SudoRetrieveThing command,
              @Nullable final Metadata metadata)
focal_class.class_method_signature: SudoRetrieveThingStrategy.determineSchemaVersion(final SudoRetrieveThing command, final Thing thing)
focal_class.full_signature: private static JsonSchemaVersion determineSchemaVersion(final SudoRetrieveThing command, final Thing thing)
focal_class.identifier: determineSchemaVersion
focal_class.modifiers: private static
focal_class.parameters: (final SudoRetrieveThing command, final Thing thing)
focal_class.return: JsonSchemaVersion
focal_class.signature: JsonSchemaVersion determineSchemaVersion(final SudoRetrieveThing command, final Thing thing)
focal_class.class_method_signature: SudoRetrieveThingStrategy.unhandled(final Context<ThingId> context, @Nullable final Thing thing,
              final long nextRevision, final SudoRetrieveThing command)
focal_class.full_signature: @Override public Result<ThingEvent> unhandled(final Context<ThingId> context, @Nullable final Thing thing,
              final long nextRevision, final SudoRetrieveThing command)
focal_class.identifier: unhandled
focal_class.modifiers: @Override public
focal_class.parameters: (final Context<ThingId> context, @Nullable final Thing thing,
              final long nextRevision, final SudoRetrieveThing command)
focal_class.return: Result<ThingEvent>
focal_class.signature: Result<ThingEvent> unhandled(final Context<ThingId> context, @Nullable final Thing thing,
              final long nextRevision, final SudoRetrieveThing command)
focal_class.class_method_signature: SudoRetrieveThingStrategy.previousEntityTag(final SudoRetrieveThing command,
              @Nullable final Thing previousEntity)
focal_class.full_signature: @Override public Optional<EntityTag> previousEntityTag(final SudoRetrieveThing command,
              @Nullable final Thing previousEntity)
focal_class.identifier: previousEntityTag
focal_class.modifiers: @Override public
focal_class.parameters: (final SudoRetrieveThing command,
              @Nullable final Thing previousEntity)
focal_class.return: Optional<EntityTag>
focal_class.signature: Optional<EntityTag> previousEntityTag(final SudoRetrieveThing command,
              @Nullable final Thing previousEntity)
focal_class.class_method_signature: SudoRetrieveThingStrategy.nextEntityTag(final SudoRetrieveThing command, @Nullable final Thing newEntity)
focal_class.full_signature: @Override public Optional<EntityTag> nextEntityTag(final SudoRetrieveThing command, @Nullable final Thing newEntity)
focal_class.identifier: nextEntityTag
focal_class.modifiers: @Override public
focal_class.parameters: (final SudoRetrieveThing command, @Nullable final Thing newEntity)
focal_class.return: Optional<EntityTag>
focal_class.signature: Optional<EntityTag> nextEntityTag(final SudoRetrieveThing command, @Nullable final Thing newEntity)
focal_class.superclass: extends AbstractThingCommandStrategy<SudoRetrieveThing>
focal_method.body: @Override
      public boolean isDefined(final Context<ThingId> context, @Nullable final Thing thing,
              final SudoRetrieveThing command) {
          final boolean thingExists = Optional.ofNullable(thing)
                  .map(t -> !t.isDeleted())
                  .orElse(false);
  
          return Objects.equals(context.getState(), command.getEntityId()) && thingExists;
      }
focal_method.class_method_signature: SudoRetrieveThingStrategy.isDefined(final Context<ThingId> context, @Nullable final Thing thing,
              final SudoRetrieveThing command)
focal_method.full_signature: @Override public boolean isDefined(final Context<ThingId> context, @Nullable final Thing thing,
              final SudoRetrieveThing command)
focal_method.identifier: isDefined
focal_method.invocations: orElse map ofNullable isDeleted equals getState getEntityId
focal_method.modifiers: @Override public
focal_method.parameters: (final Context<ThingId> context, @Nullable final Thing thing,
              final SudoRetrieveThing command)
focal_method.return: boolean
focal_method.signature: boolean isDefined(final Context<ThingId> context, @Nullable final Thing thing,
              final SudoRetrieveThing command)