Package org.apache.solr.common.util

# Interface Utf8CharSequence

All Superinterfaces:
  `CharSequence`, `Cloneable`, `Comparable<Utf8CharSequence>`

All Known Implementing Classes:
  `ByteArrayUtf8CharSequence`

public interface Utf8CharSequence extends CharSequence, Comparable<Utf8CharSequence>, Cloneable
A byte[] backed String

## Method Summary

Modifier and Type
Method
Description
`byte`
`byteAt(int idx)`
`Utf8CharSequence`
`clone()`
`default int`
`compareTo(Utf8CharSequence 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, isEmpty, length, subSequence, toString`

## Method Details

### 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(Utf8CharSequence o)

Specified by:
  `compareTo` in interface `Comparable<Utf8CharSequence>`

### 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()