PtcRunner.Lisp.Java.Lang.String (PtcRunner v0.14.0)

Copy Markdown View Source

Bounded UTF-16 semantics for the admitted java.lang.String methods.

PTC strings remain UTF-8 binaries. Java indexes are measured over a temporary big-endian UTF-16 code-unit view capped at 256,000 input bytes. A substring that cuts a surrogate pair is rejected because it cannot be represented as a valid PTC UTF-8 string.

Summary

Functions

contains(list)

@spec contains([term()]) ::
  {:ok, boolean()} | {:error, PtcRunner.Lisp.Java.Condition.t()}

ends_with(list)

@spec ends_with([term()]) ::
  {:ok, boolean()} | {:error, PtcRunner.Lisp.Java.Condition.t()}

index_of(list)

@spec index_of([term()]) ::
  {:ok, PtcRunner.Lisp.Java.Primitive.t()}
  | {:error, PtcRunner.Lisp.Java.Condition.t()}

last_index_of(list)

@spec last_index_of([term()]) ::
  {:ok, PtcRunner.Lisp.Java.Primitive.t()}
  | {:error, PtcRunner.Lisp.Java.Condition.t()}

length(list)

@spec length([term()]) ::
  {:ok, PtcRunner.Lisp.Java.Primitive.t()}
  | {:error, PtcRunner.Lisp.Java.Condition.t()}

starts_with(list)

@spec starts_with([term()]) ::
  {:ok, boolean()} | {:error, PtcRunner.Lisp.Java.Condition.t()}

substring(list)

@spec substring([term()]) ::
  {:ok, binary()} | {:error, PtcRunner.Lisp.Java.Condition.t()}

trim(list)

@spec trim([term()]) :: {:ok, binary()} | {:error, PtcRunner.Lisp.Java.Condition.t()}

validate_input(value)

@spec validate_input(term()) :: :ok | {:error, :invalid_utf8 | :too_large}