shared/java/U16String.java (32 lines of code) (raw):

package org.jetbrains.skija; import java.lang.ref.*; import lombok.*; import org.jetbrains.annotations.*; import org.jetbrains.skija.impl.*; /** * Java mirror of std::vector<jchar> (UTF-16) */ public class U16String extends Managed { static { Library.staticLoad(); } @ApiStatus.Internal public U16String(long ptr) { super(ptr, _FinalizerHolder.PTR); } public U16String(String s) { this(_nMake(s)); Stats.onNativeCall(); } @Override public String toString() { try { Stats.onNativeCall(); return _nToString(_ptr); } finally { Reference.reachabilityFence(this); } } @ApiStatus.Internal public static class _FinalizerHolder { public static final long PTR = _nGetFinalizer(); } @ApiStatus.Internal public static native long _nMake(String s); @ApiStatus.Internal public static native long _nGetFinalizer(); @ApiStatus.Internal public static native String _nToString(long ptr); }