org.apache.solr.common.util

## Interface Utf8CharSequence

All Superinterfaces:
  CharSequence, Cloneable, Comparable

All Known Implementing Classes:
  ByteArrayUtf8CharSequence

    public interface Utf8CharSequence
    extends CharSequence, Comparable, Cloneable

A byte[] backed String

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`byte` `byteAt(int idx)`
`Utf8CharSequence` `clone()`
`default int` `compareTo(Object o)`
`int` `size()` The size of utf8 bytes
`int` `write(int start, byte[] buffer, int pos)` Write the bytes into a buffer.
`default void` `write(OutputStream os)` Creates a byte[] and copy to it first before writing it out to the output

### Methods inherited from interface java.lang.CharSequence

`charAt, chars, codePoints, length, subSequence, toString`

### Method Detail

#### write

    int write(int start,
              byte[] buffer,
              int pos)

Write the bytes into a buffer. The objective is to avoid the local bytes being exposed to other classes if the implementation is expected to be immutable. It writes as many bytes as possible into the buffer and then return how many bytes were written. It's the responsibility of the caller to call this method repeatedly and ensure that everything is completely written

Parameters:
  `start` - position from which to start writing
  `buffer` - the buffer to which to write to
  `pos` - position to start writing
Returns:
  no:of bytes written

#### size

    int size()

The size of utf8 bytes

Returns:
  the size

#### byteAt

    byte byteAt(int idx)

#### compareTo

    default int compareTo(Object o)

Specified by:
  `compareTo` in interface `Comparable`

#### write

    default void write(OutputStream os)
                throws IOException

Creates a byte[] and copy to it first before writing it out to the output

Parameters:
  `os` - The sink
Throws:
  `IOException`

#### clone

    Utf8CharSequence clone()