test_class.declarator: actorSystem
test_class.modifier: private
test_class.original_string: private ActorSystem actorSystem;
test_class.type: ActorSystem
test_class.var_name: actorSystem
test_class.file: services/thingsearch/starter/src/test/java/org/eclipse/ditto/services/thingsearch/starter/actors/ThingsSearchCursorTest.java
test_class.identifier: ThingsSearchCursorTest
test_case.body: @Test
      public void decodingInvalidCursorsFailsWithInvalidCursorException() {
          assertThat(
                  ThingsSearchCursor.decode("null", actorSystem)
                          .<Object>map(x -> x)
                          .recover(new PFBuilder<Throwable, Object>().matchAny(x -> x).build())
                          .runWith(Sink.head(), actorSystem)
                          .toCompletableFuture()
                          .join())
                  .isInstanceOf(InvalidOptionException.class);
  
      }
test_case.class_method_signature: ThingsSearchCursorTest.decodingInvalidCursorsFailsWithInvalidCursorException()
test_case.full_signature: @Test public void decodingInvalidCursorsFailsWithInvalidCursorException()
test_case.identifier: decodingInvalidCursorsFailsWithInvalidCursorException
test_case.invocations: isInstanceOf assertThat join toCompletableFuture runWith recover map decode build matchAny head
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void decodingInvalidCursorsFailsWithInvalidCursorException()
focal_class.declarator: LOG = LoggerFactory.getLogger(ThingsSearchCursor.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOG = LoggerFactory.getLogger(ThingsSearchCursor.class);
focal_class.type: Logger
focal_class.var_name: LOG
focal_class.declarator: DEFAULT_SORT_OPTION_ENTRY =
              SortOptionEntry.asc(Thing.JsonFields.ID.getPointer())
focal_class.modifier: static final
focal_class.original_string: static final SortOptionEntry DEFAULT_SORT_OPTION_ENTRY =
              SortOptionEntry.asc(Thing.JsonFields.ID.getPointer());
focal_class.type: SortOptionEntry
focal_class.var_name: DEFAULT_SORT_OPTION_ENTRY
focal_class.declarator: LIMIT_OPTION_FORBIDDEN = "The options 'cursor' and 'limit' must not be used together."
focal_class.modifier: private static final
focal_class.original_string: private static final String LIMIT_OPTION_FORBIDDEN = "The options 'cursor' and 'limit' must not be used together.";
focal_class.type: String
focal_class.var_name: LIMIT_OPTION_FORBIDDEN
focal_class.declarator: BASE64_URL_ENCODER_WITHOUT_PADDING = Base64.getUrlEncoder().withoutPadding()
focal_class.modifier: private static final
focal_class.original_string: private static final Base64.Encoder BASE64_URL_ENCODER_WITHOUT_PADDING = Base64.getUrlEncoder().withoutPadding();
focal_class.type: Base64.Encoder
focal_class.var_name: BASE64_URL_ENCODER_WITHOUT_PADDING
focal_class.declarator: DECODE_ERROR_MAPPER = createDecodeErrorMapper()
focal_class.modifier: private static final
focal_class.original_string: private static final PartialFunction<Throwable, Throwable> DECODE_ERROR_MAPPER = createDecodeErrorMapper();
focal_class.type: PartialFunction<Throwable, Throwable>
focal_class.var_name: DECODE_ERROR_MAPPER
focal_class.declarator: FILTER = JsonFactory.newStringFieldDefinition("F")
focal_class.modifier: private static final
focal_class.original_string: private static final JsonFieldDefinition<String> FILTER = JsonFactory.newStringFieldDefinition("F");
focal_class.type: JsonFieldDefinition<String>
focal_class.var_name: FILTER
focal_class.declarator: NAMESPACES = JsonFactory.newJsonArrayFieldDefinition("N")
focal_class.modifier: private static final
focal_class.original_string: private static final JsonFieldDefinition<JsonArray> NAMESPACES = JsonFactory.newJsonArrayFieldDefinition("N");
focal_class.type: JsonFieldDefinition<JsonArray>
focal_class.var_name: NAMESPACES
focal_class.declarator: CORRELATION_ID = JsonFactory.newStringFieldDefinition("C")
focal_class.modifier: private static final
focal_class.original_string: private static final JsonFieldDefinition<String> CORRELATION_ID = JsonFactory.newStringFieldDefinition("C");
focal_class.type: JsonFieldDefinition<String>
focal_class.var_name: CORRELATION_ID
focal_class.declarator: VALUES = JsonFactory.newJsonArrayFieldDefinition("V")
focal_class.modifier: private static final
focal_class.original_string: private static final JsonFieldDefinition<JsonArray> VALUES = JsonFactory.newJsonArrayFieldDefinition("V");
focal_class.type: JsonFieldDefinition<JsonArray>
focal_class.var_name: VALUES
focal_class.declarator: SORT_OPTION = JsonFactory.newStringFieldDefinition("S")
focal_class.modifier: private static final
focal_class.original_string: private static final JsonFieldDefinition<String> SORT_OPTION = JsonFactory.newStringFieldDefinition("S");
focal_class.type: JsonFieldDefinition<String>
focal_class.var_name: SORT_OPTION
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: 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.declarator: correlationId
focal_class.modifier: @Nullable final
focal_class.original_string: @Nullable final String correlationId;
focal_class.type: String
focal_class.var_name: correlationId
focal_class.declarator: sortOption
focal_class.modifier: private final
focal_class.original_string: private final SortOption sortOption;
focal_class.type: SortOption
focal_class.var_name: sortOption
focal_class.declarator: values
focal_class.modifier: private final
focal_class.original_string: private final JsonArray values;
focal_class.type: JsonArray
focal_class.var_name: values
focal_class.file: services/thingsearch/starter/src/main/java/org/eclipse/ditto/services/thingsearch/starter/actors/ThingsSearchCursor.java
focal_class.identifier: ThingsSearchCursor
focal_class.class_method_signature: ThingsSearchCursor.ThingsSearchCursor(@Nullable final Set<String> namespaces, @Nullable final String correlationId,
              final SortOption sortOption, @Nullable final String filter, final JsonArray values)
focal_class.full_signature:   ThingsSearchCursor(@Nullable final Set<String> namespaces, @Nullable final String correlationId,
              final SortOption sortOption, @Nullable final String filter, final JsonArray values)
focal_class.identifier: ThingsSearchCursor
focal_class.parameters: (@Nullable final Set<String> namespaces, @Nullable final String correlationId,
              final SortOption sortOption, @Nullable final String filter, final JsonArray values)
focal_class.signature:  ThingsSearchCursor(@Nullable final Set<String> namespaces, @Nullable final String correlationId,
              final SortOption sortOption, @Nullable final String filter, final JsonArray values)
focal_class.class_method_signature: ThingsSearchCursor.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.class_method_signature: ThingsSearchCursor.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: ThingsSearchCursor.equals(final Object that)
focal_class.full_signature: @Override public boolean equals(final Object that)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (final Object that)
focal_class.return: boolean
focal_class.signature: boolean equals(final Object that)
focal_class.class_method_signature: ThingsSearchCursor.logCursorCorrelationId(final DiagnosticLoggingAdapter log, final WithDittoHeaders command)
focal_class.full_signature:  void logCursorCorrelationId(final DiagnosticLoggingAdapter log, final WithDittoHeaders command)
focal_class.identifier: logCursorCorrelationId
focal_class.parameters: (final DiagnosticLoggingAdapter log, final WithDittoHeaders command)
focal_class.return: void
focal_class.signature: void logCursorCorrelationId(final DiagnosticLoggingAdapter log, final WithDittoHeaders command)
focal_class.class_method_signature: ThingsSearchCursor.checkCursorValidity(final QueryThings queryThings,
              final List<Option> commandOptions)
focal_class.full_signature: private Optional<DittoRuntimeException> checkCursorValidity(final QueryThings queryThings,
              final List<Option> commandOptions)
focal_class.identifier: checkCursorValidity
focal_class.modifiers: private
focal_class.parameters: (final QueryThings queryThings,
              final List<Option> commandOptions)
focal_class.return: Optional<DittoRuntimeException>
focal_class.signature: Optional<DittoRuntimeException> checkCursorValidity(final QueryThings queryThings,
              final List<Option> commandOptions)
focal_class.class_method_signature: ThingsSearchCursor.hasIncompatibleSortOption(final List<Option> commandOptions)
focal_class.full_signature: private boolean hasIncompatibleSortOption(final List<Option> commandOptions)
focal_class.identifier: hasIncompatibleSortOption
focal_class.modifiers: private
focal_class.parameters: (final List<Option> commandOptions)
focal_class.return: boolean
focal_class.signature: boolean hasIncompatibleSortOption(final List<Option> commandOptions)
focal_class.class_method_signature: ThingsSearchCursor.searchResultWithExistingCursor(final SearchResult searchResult,
              final ResultList<?> resultList)
focal_class.full_signature: private SearchResult searchResultWithExistingCursor(final SearchResult searchResult,
              final ResultList<?> resultList)
focal_class.identifier: searchResultWithExistingCursor
focal_class.modifiers: private
focal_class.parameters: (final SearchResult searchResult,
              final ResultList<?> resultList)
focal_class.return: SearchResult
focal_class.signature: SearchResult searchResultWithExistingCursor(final SearchResult searchResult,
              final ResultList<?> resultList)
focal_class.class_method_signature: ThingsSearchCursor.adjustQueryThings(final QueryThings queryThings)
focal_class.full_signature: private QueryThings adjustQueryThings(final QueryThings queryThings)
focal_class.identifier: adjustQueryThings
focal_class.modifiers: private
focal_class.parameters: (final QueryThings queryThings)
focal_class.return: QueryThings
focal_class.signature: QueryThings adjustQueryThings(final QueryThings queryThings)
focal_class.class_method_signature: ThingsSearchCursor.adjustQuery(final Query query, final CriteriaFactory cf)
focal_class.full_signature: private Query adjustQuery(final Query query, final CriteriaFactory cf)
focal_class.identifier: adjustQuery
focal_class.modifiers: private
focal_class.parameters: (final Query query, final CriteriaFactory cf)
focal_class.return: Query
focal_class.signature: Query adjustQuery(final Query query, final CriteriaFactory cf)
focal_class.class_method_signature: ThingsSearchCursor.toJson()
focal_class.full_signature: private JsonObject toJson()
focal_class.identifier: toJson
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: JsonObject
focal_class.signature: JsonObject toJson()
focal_class.class_method_signature: ThingsSearchCursor.renderNamespaces()
focal_class.full_signature: @Nullable private JsonArray renderNamespaces()
focal_class.identifier: renderNamespaces
focal_class.modifiers: @Nullable private
focal_class.parameters: ()
focal_class.return: JsonArray
focal_class.signature: JsonArray renderNamespaces()
focal_class.class_method_signature: ThingsSearchCursor.encode()
focal_class.full_signature:  String encode()
focal_class.identifier: encode
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String encode()
focal_class.class_method_signature: ThingsSearchCursor.decode(final String cursorString, final ActorSystem system)
focal_class.full_signature: static Source<ThingsSearchCursor, NotUsed> decode(final String cursorString, final ActorSystem system)
focal_class.identifier: decode
focal_class.modifiers: static
focal_class.parameters: (final String cursorString, final ActorSystem system)
focal_class.return: Source<ThingsSearchCursor, NotUsed>
focal_class.signature: Source<ThingsSearchCursor, NotUsed> decode(final String cursorString, final ActorSystem system)
focal_class.class_method_signature: ThingsSearchCursor.decodeCS(final String cursorString,
              final ActorSystem system)
focal_class.full_signature: private static CompletionStage<ThingsSearchCursor> decodeCS(final String cursorString,
              final ActorSystem system)
focal_class.identifier: decodeCS
focal_class.modifiers: private static
focal_class.parameters: (final String cursorString,
              final ActorSystem system)
focal_class.return: CompletionStage<ThingsSearchCursor>
focal_class.signature: CompletionStage<ThingsSearchCursor> decodeCS(final String cursorString,
              final ActorSystem system)
focal_class.class_method_signature: ThingsSearchCursor.createDecodeErrorMapper()
focal_class.full_signature: private static PartialFunction<Throwable, Throwable> createDecodeErrorMapper()
focal_class.identifier: createDecodeErrorMapper
focal_class.modifiers: private static
focal_class.parameters: ()
focal_class.return: PartialFunction<Throwable, Throwable>
focal_class.signature: PartialFunction<Throwable, Throwable> createDecodeErrorMapper()
focal_class.class_method_signature: ThingsSearchCursor.adjust(final Optional<ThingsSearchCursor> cursor, final QueryThings queryThings)
focal_class.full_signature: @SuppressWarnings("OptionalUsedAsFieldOrParameterType") static QueryThings adjust(final Optional<ThingsSearchCursor> cursor, final QueryThings queryThings)
focal_class.identifier: adjust
focal_class.modifiers: @SuppressWarnings("OptionalUsedAsFieldOrParameterType") static
focal_class.parameters: (final Optional<ThingsSearchCursor> cursor, final QueryThings queryThings)
focal_class.return: QueryThings
focal_class.signature: QueryThings adjust(final Optional<ThingsSearchCursor> cursor, final QueryThings queryThings)
focal_class.class_method_signature: ThingsSearchCursor.adjust(final Optional<ThingsSearchCursor> cursor, final Query query, final CriteriaFactory cf)
focal_class.full_signature: @SuppressWarnings("OptionalUsedAsFieldOrParameterType") static Query adjust(final Optional<ThingsSearchCursor> cursor, final Query query, final CriteriaFactory cf)
focal_class.identifier: adjust
focal_class.modifiers: @SuppressWarnings("OptionalUsedAsFieldOrParameterType") static
focal_class.parameters: (final Optional<ThingsSearchCursor> cursor, final Query query, final CriteriaFactory cf)
focal_class.return: Query
focal_class.signature: Query adjust(final Optional<ThingsSearchCursor> cursor, final Query query, final CriteriaFactory cf)
focal_class.class_method_signature: ThingsSearchCursor.extractCursor(final QueryThings queryThings,
              final ActorSystem system)
focal_class.full_signature: static Source<Optional<ThingsSearchCursor>, NotUsed> extractCursor(final QueryThings queryThings,
              final ActorSystem system)
focal_class.identifier: extractCursor
focal_class.modifiers: static
focal_class.parameters: (final QueryThings queryThings,
              final ActorSystem system)
focal_class.return: Source<Optional<ThingsSearchCursor>, NotUsed>
focal_class.signature: Source<Optional<ThingsSearchCursor>, NotUsed> extractCursor(final QueryThings queryThings,
              final ActorSystem system)
focal_class.class_method_signature: ThingsSearchCursor.extractCursor(final StreamThings streamThings)
focal_class.full_signature: static Source<Optional<ThingsSearchCursor>, NotUsed> extractCursor(final StreamThings streamThings)
focal_class.identifier: extractCursor
focal_class.modifiers: static
focal_class.parameters: (final StreamThings streamThings)
focal_class.return: Source<Optional<ThingsSearchCursor>, NotUsed>
focal_class.signature: Source<Optional<ThingsSearchCursor>, NotUsed> extractCursor(final StreamThings streamThings)
focal_class.class_method_signature: ThingsSearchCursor.catchExceptions(final DittoHeaders dittoHeaders,
              final Supplier<Source<T, NotUsed>> sourceSupplier)
focal_class.full_signature: private static Source<T, NotUsed> catchExceptions(final DittoHeaders dittoHeaders,
              final Supplier<Source<T, NotUsed>> sourceSupplier)
focal_class.identifier: catchExceptions
focal_class.modifiers: private static
focal_class.parameters: (final DittoHeaders dittoHeaders,
              final Supplier<Source<T, NotUsed>> sourceSupplier)
focal_class.return: Source<T, NotUsed>
focal_class.signature: Source<T, NotUsed> catchExceptions(final DittoHeaders dittoHeaders,
              final Supplier<Source<T, NotUsed>> sourceSupplier)
focal_class.class_method_signature: ThingsSearchCursor.processSearchResult(final QueryThings queryThings,
              @Nullable final ThingsSearchCursor cursor,
              final SearchResult searchResult,
              final ResultList<ThingId> resultList)
focal_class.full_signature: static SearchResult processSearchResult(final QueryThings queryThings,
              @Nullable final ThingsSearchCursor cursor,
              final SearchResult searchResult,
              final ResultList<ThingId> resultList)
focal_class.identifier: processSearchResult
focal_class.modifiers: static
focal_class.parameters: (final QueryThings queryThings,
              @Nullable final ThingsSearchCursor cursor,
              final SearchResult searchResult,
              final ResultList<ThingId> resultList)
focal_class.return: SearchResult
focal_class.signature: SearchResult processSearchResult(final QueryThings queryThings,
              @Nullable final ThingsSearchCursor cursor,
              final SearchResult searchResult,
              final ResultList<ThingId> resultList)
focal_class.class_method_signature: ThingsSearchCursor.findAll(final Class<T> clazz, final Collection<?> collection)
focal_class.full_signature: private static List<T> findAll(final Class<T> clazz, final Collection<?> collection)
focal_class.identifier: findAll
focal_class.modifiers: private static
focal_class.parameters: (final Class<T> clazz, final Collection<?> collection)
focal_class.return: List<T>
focal_class.signature: List<T> findAll(final Class<T> clazz, final Collection<?> collection)
focal_class.class_method_signature: ThingsSearchCursor.findUniqueSortOption(final List<Option> options)
focal_class.full_signature: private static SortOption findUniqueSortOption(final List<Option> options)
focal_class.identifier: findUniqueSortOption
focal_class.modifiers: private static
focal_class.parameters: (final List<Option> options)
focal_class.return: SortOption
focal_class.signature: SortOption findUniqueSortOption(final List<Option> options)
focal_class.class_method_signature: ThingsSearchCursor.invalidCursorBuilder()
focal_class.full_signature: private static DittoRuntimeExceptionBuilder<InvalidOptionException> invalidCursorBuilder()
focal_class.identifier: invalidCursorBuilder
focal_class.modifiers: private static
focal_class.parameters: ()
focal_class.return: DittoRuntimeExceptionBuilder<InvalidOptionException>
focal_class.signature: DittoRuntimeExceptionBuilder<InvalidOptionException> invalidCursorBuilder()
focal_class.class_method_signature: ThingsSearchCursor.invalidCursor(final String description,
              final WithDittoHeaders withDittoHeaders)
focal_class.full_signature: private static InvalidOptionException invalidCursor(final String description,
              final WithDittoHeaders withDittoHeaders)
focal_class.identifier: invalidCursor
focal_class.modifiers: private static
focal_class.parameters: (final String description,
              final WithDittoHeaders withDittoHeaders)
focal_class.return: InvalidOptionException
focal_class.signature: InvalidOptionException invalidCursor(final String description,
              final WithDittoHeaders withDittoHeaders)
focal_class.class_method_signature: ThingsSearchCursor.invalidCursor(final String description,
              final DittoHeaders dittoHeaders)
focal_class.full_signature: private static InvalidOptionException invalidCursor(final String description,
              final DittoHeaders dittoHeaders)
focal_class.identifier: invalidCursor
focal_class.modifiers: private static
focal_class.parameters: (final String description,
              final DittoHeaders dittoHeaders)
focal_class.return: InvalidOptionException
focal_class.signature: InvalidOptionException invalidCursor(final String description,
              final DittoHeaders dittoHeaders)
focal_class.class_method_signature: ThingsSearchCursor.fromJson(final JsonObject json)
focal_class.full_signature: private static ThingsSearchCursor fromJson(final JsonObject json)
focal_class.identifier: fromJson
focal_class.modifiers: private static
focal_class.parameters: (final JsonObject json)
focal_class.return: ThingsSearchCursor
focal_class.signature: ThingsSearchCursor fromJson(final JsonObject json)
focal_class.class_method_signature: ThingsSearchCursor.readNamespaces(final JsonArray array)
focal_class.full_signature: private static Set<String> readNamespaces(final JsonArray array)
focal_class.identifier: readNamespaces
focal_class.modifiers: private static
focal_class.parameters: (final JsonArray array)
focal_class.return: Set<String>
focal_class.signature: Set<String> readNamespaces(final JsonArray array)
focal_class.class_method_signature: ThingsSearchCursor.getOptions(final QueryThings queryThings)
focal_class.full_signature: private static List<Option> getOptions(final QueryThings queryThings)
focal_class.identifier: getOptions
focal_class.modifiers: private static
focal_class.parameters: (final QueryThings queryThings)
focal_class.return: List<Option>
focal_class.signature: List<Option> getOptions(final QueryThings queryThings)
focal_class.class_method_signature: ThingsSearchCursor.searchResultWithNewCursor(final QueryThings queryThings,
              final SearchResult searchResult, final ResultList<?> resultList)
focal_class.full_signature: private static SearchResult searchResultWithNewCursor(final QueryThings queryThings,
              final SearchResult searchResult, final ResultList<?> resultList)
focal_class.identifier: searchResultWithNewCursor
focal_class.modifiers: private static
focal_class.parameters: (final QueryThings queryThings,
              final SearchResult searchResult, final ResultList<?> resultList)
focal_class.return: SearchResult
focal_class.signature: SearchResult searchResultWithNewCursor(final QueryThings queryThings,
              final SearchResult searchResult, final ResultList<?> resultList)
focal_class.class_method_signature: ThingsSearchCursor.computeNewCursor(final QueryThings queryThings, final ResultList<?> resultList)
focal_class.full_signature: private static ThingsSearchCursor computeNewCursor(final QueryThings queryThings, final ResultList<?> resultList)
focal_class.identifier: computeNewCursor
focal_class.modifiers: private static
focal_class.parameters: (final QueryThings queryThings, final ResultList<?> resultList)
focal_class.return: ThingsSearchCursor
focal_class.signature: ThingsSearchCursor computeNewCursor(final QueryThings queryThings, final ResultList<?> resultList)
focal_class.class_method_signature: ThingsSearchCursor.sortOptionForNewCursor(final QueryThings queryThings)
focal_class.full_signature: private static SortOption sortOptionForNewCursor(final QueryThings queryThings)
focal_class.identifier: sortOptionForNewCursor
focal_class.modifiers: private static
focal_class.parameters: (final QueryThings queryThings)
focal_class.return: SortOption
focal_class.signature: SortOption sortOptionForNewCursor(final QueryThings queryThings)
focal_class.class_method_signature: ThingsSearchCursor.ensureDefaultPropertyPath(final List<SortOptionEntry> entries)
focal_class.full_signature: private static List<SortOptionEntry> ensureDefaultPropertyPath(final List<SortOptionEntry> entries)
focal_class.identifier: ensureDefaultPropertyPath
focal_class.modifiers: private static
focal_class.parameters: (final List<SortOptionEntry> entries)
focal_class.return: List<SortOptionEntry>
focal_class.signature: List<SortOptionEntry> ensureDefaultPropertyPath(final List<SortOptionEntry> entries)
focal_class.class_method_signature: ThingsSearchCursor.getNextPageFilter(final List<org.eclipse.ditto.model.query.SortOption> sortOptions,
              final JsonArray previousValues,
              final CriteriaFactory cf)
focal_class.full_signature: private static Criteria getNextPageFilter(final List<org.eclipse.ditto.model.query.SortOption> sortOptions,
              final JsonArray previousValues,
              final CriteriaFactory cf)
focal_class.identifier: getNextPageFilter
focal_class.modifiers: private static
focal_class.parameters: (final List<org.eclipse.ditto.model.query.SortOption> sortOptions,
              final JsonArray previousValues,
              final CriteriaFactory cf)
focal_class.return: Criteria
focal_class.signature: Criteria getNextPageFilter(final List<org.eclipse.ditto.model.query.SortOption> sortOptions,
              final JsonArray previousValues,
              final CriteriaFactory cf)
focal_class.class_method_signature: ThingsSearchCursor.getNextPageFilterImpl(
              final List<org.eclipse.ditto.model.query.SortOption> sortOptionEntries,
              final JsonArray previousValues,
              final CriteriaFactory cf, final int i)
focal_class.full_signature: private static Criteria getNextPageFilterImpl(
              final List<org.eclipse.ditto.model.query.SortOption> sortOptionEntries,
              final JsonArray previousValues,
              final CriteriaFactory cf, final int i)
focal_class.identifier: getNextPageFilterImpl
focal_class.modifiers: private static
focal_class.parameters: (
              final List<org.eclipse.ditto.model.query.SortOption> sortOptionEntries,
              final JsonArray previousValues,
              final CriteriaFactory cf, final int i)
focal_class.return: Criteria
focal_class.signature: Criteria getNextPageFilterImpl(
              final List<org.eclipse.ditto.model.query.SortOption> sortOptionEntries,
              final JsonArray previousValues,
              final CriteriaFactory cf, final int i)
focal_class.class_method_signature: ThingsSearchCursor.getDimensionLtCriteria(final org.eclipse.ditto.model.query.SortOption entry,
              final JsonValue previousValue, final CriteriaFactory cf)
focal_class.full_signature: private static Criteria getDimensionLtCriteria(final org.eclipse.ditto.model.query.SortOption entry,
              final JsonValue previousValue, final CriteriaFactory cf)
focal_class.identifier: getDimensionLtCriteria
focal_class.modifiers: private static
focal_class.parameters: (final org.eclipse.ditto.model.query.SortOption entry,
              final JsonValue previousValue, final CriteriaFactory cf)
focal_class.return: Criteria
focal_class.signature: Criteria getDimensionLtCriteria(final org.eclipse.ditto.model.query.SortOption entry,
              final JsonValue previousValue, final CriteriaFactory cf)
focal_class.class_method_signature: ThingsSearchCursor.getNextDimensionCriteria(final Criteria thisDimensionLt, final Criteria nextDimension,
              final org.eclipse.ditto.model.query.SortOption sortOption, final JsonValue previousValue,
              final CriteriaFactory cf)
focal_class.full_signature: private static Criteria getNextDimensionCriteria(final Criteria thisDimensionLt, final Criteria nextDimension,
              final org.eclipse.ditto.model.query.SortOption sortOption, final JsonValue previousValue,
              final CriteriaFactory cf)
focal_class.identifier: getNextDimensionCriteria
focal_class.modifiers: private static
focal_class.parameters: (final Criteria thisDimensionLt, final Criteria nextDimension,
              final org.eclipse.ditto.model.query.SortOption sortOption, final JsonValue previousValue,
              final CriteriaFactory cf)
focal_class.return: Criteria
focal_class.signature: Criteria getNextDimensionCriteria(final Criteria thisDimensionLt, final Criteria nextDimension,
              final org.eclipse.ditto.model.query.SortOption sortOption, final JsonValue previousValue,
              final CriteriaFactory cf)
focal_class.class_method_signature: ThingsSearchCursor.hasNextPage(final ResultList<?> resultList)
focal_class.full_signature: private static boolean hasNextPage(final ResultList<?> resultList)
focal_class.identifier: hasNextPage
focal_class.modifiers: private static
focal_class.parameters: (final ResultList<?> resultList)
focal_class.return: boolean
focal_class.signature: boolean hasNextPage(final ResultList<?> resultList)
focal_class.class_method_signature: ThingsSearchCursor.areCompatible(final List<SortOptionEntry> cursorSortOptionEntries,
              final List<SortOptionEntry> commandSortOptionEntries,
              final int i)
focal_class.full_signature: private static boolean areCompatible(final List<SortOptionEntry> cursorSortOptionEntries,
              final List<SortOptionEntry> commandSortOptionEntries,
              final int i)
focal_class.identifier: areCompatible
focal_class.modifiers: private static
focal_class.parameters: (final List<SortOptionEntry> cursorSortOptionEntries,
              final List<SortOptionEntry> commandSortOptionEntries,
              final int i)
focal_class.return: boolean
focal_class.signature: boolean areCompatible(final List<SortOptionEntry> cursorSortOptionEntries,
              final List<SortOptionEntry> commandSortOptionEntries,
              final int i)
focal_class.class_method_signature: ThingsSearchCursor.checkSizeOption(final List<Option> options,
              final WithDittoHeaders withDittoHeaders)
focal_class.full_signature: private static Optional<InvalidOptionException> checkSizeOption(final List<Option> options,
              final WithDittoHeaders withDittoHeaders)
focal_class.identifier: checkSizeOption
focal_class.modifiers: private static
focal_class.parameters: (final List<Option> options,
              final WithDittoHeaders withDittoHeaders)
focal_class.return: Optional<InvalidOptionException>
focal_class.signature: Optional<InvalidOptionException> checkSizeOption(final List<Option> options,
              final WithDittoHeaders withDittoHeaders)
focal_method.body: static Source<ThingsSearchCursor, NotUsed> decode(final String cursorString, final ActorSystem system) {
          return Source.fromCompletionStage(decodeCS(cursorString, system)).mapError(DECODE_ERROR_MAPPER);
      }
focal_method.class_method_signature: ThingsSearchCursor.decode(final String cursorString, final ActorSystem system)
focal_method.full_signature: static Source<ThingsSearchCursor, NotUsed> decode(final String cursorString, final ActorSystem system)
focal_method.identifier: decode
focal_method.invocations: mapError fromCompletionStage decodeCS
focal_method.modifiers: static
focal_method.parameters: (final String cursorString, final ActorSystem system)
focal_method.return: Source<ThingsSearchCursor, NotUsed>
focal_method.signature: Source<ThingsSearchCursor, NotUsed> decode(final String cursorString, final ActorSystem system)