ByteDataBuffer

interface pública ByteDataBuffer

Um DataBuffer de bytes.

Métodos Públicos

abstrato BooleanDataBuffer
asBooleanos ()
Retorna este buffer de bytes como um buffer de booleanos.
abstrato DoubleDataBuffer
asDoubles ()
Retorne esse buffer de bytes como um buffer duplo.
abstrato FloatDataBuffer
comoFloats ()
Retorne esse buffer de bytes como um buffer de pontos flutuantes.
abstrato IntDataBuffer
asInts ()
Retorne esse buffer de bytes como um buffer de inteiros.
LongDataBuffer abstrato
comolongo ()
Retorne esse buffer de bytes como um buffer de longos.
Resumo ShortDataBuffer
comoShorts ()
Retorne esse buffer de bytes como um buffer de shorts.
ByteDataBuffer abstrato
copyTo ( DataBuffer <Byte> dst, tamanho longo)
byte abstrato
getByte (índice longo)
Lê o byte no índice fornecido.
byte abstrato
getObject (índice longo)
Lê o valor no índice fornecido.
ByteDataBuffer abstrato
estreito (tamanho longo)
Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo deste buffer, cujo tamanho é definido para o valor fornecido.
ByteDataBuffer abstrato
deslocamento (índice longo)
Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo desse buffer, começando no índice fornecido.
ByteDataBuffer abstrato
ler (byte[] dst)
Método de obtenção em massa, usando matrizes de bytes.
ByteDataBuffer abstrato
leitura (byte[] dst, deslocamento interno, comprimento interno)
Método de obtenção em massa, usando matrizes de bytes.
ByteDataBuffer abstrato
setByte (valor de byte, índice longo)
Grava o byte fornecido neste buffer no índice fornecido.
ByteDataBuffer abstrato
setObject (valor de byte, índice longo)
ByteDataBuffer abstrato
fatia (índice longo, tamanho longo)
Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo desse buffer, começando no índice e no tamanho especificados.
abstrato DataBufferWindow < ByteDataBuffer >
janela (tamanho longo)
Cria um DataBufferWindow que fornece uma visão parcial desse buffer.
ByteDataBuffer abstrato
escrever (byte[] src)
Método de colocação em massa, usando matrizes de bytes.
ByteDataBuffer abstrato
escrever (byte[] src, deslocamento interno, comprimento interno)
Método de colocação em massa, usando matrizes de bytes.

Métodos herdados

Métodos Públicos

público abstrato BooleanDataBuffer asBooleans ()

Retorna este buffer de bytes como um buffer de booleanos.

O buffer retornado fornece uma visão diferente da mesma memória que o buffer de bytes original, o que significa que a alteração de um valor em um afetará o outro.

Devoluções
Lança
IllegalStateException se este buffer não puder ser convertido

público abstrato DoubleDataBuffer asDoubles ()

Retorne esse buffer de bytes como um buffer duplo.

O buffer retornado fornece uma visão diferente da mesma memória que o buffer de bytes original, o que significa que a alteração de um valor em um afetará o outro.

Devoluções
Lança
IllegalStateException se este buffer não puder ser convertido

resumo público FloatDataBuffer asFloats ()

Retorne esse buffer de bytes como um buffer de pontos flutuantes.

O buffer retornado fornece uma visão diferente da mesma memória que o buffer de bytes original, o que significa que a alteração de um valor em um afetará o outro.

Devoluções
Lança
IllegalStateException se este buffer não puder ser convertido

resumo público IntDataBuffer asInts ()

Retorne esse buffer de bytes como um buffer de inteiros.

O buffer retornado fornece uma visão diferente da mesma memória que o buffer de bytes original, o que significa que a alteração de um valor em um afetará o outro.

Devoluções
Lança
IllegalStateException se este buffer não puder ser convertido

resumo público LongDataBuffer asLongs ()

Retorne esse buffer de bytes como um buffer de longos.

O buffer retornado fornece uma visão diferente da mesma memória que o buffer de bytes original, o que significa que a alteração de um valor em um afetará o outro.

Devoluções
Lança
IllegalStateException se este buffer não puder ser convertido

resumo público ShortDataBuffer asShorts ()

Retorne esse buffer de bytes como um buffer de shorts.

O buffer retornado fornece uma visão diferente da mesma memória que o buffer de bytes original, o que significa que a alteração de um valor em um afetará o outro.

Devoluções
Lança
IllegalStateException se este buffer não puder ser convertido

public abstract ByteDataBuffer copyTo ( DataBuffer <Byte> dst, tamanho longo)

byte abstrato público getByte (índice longo)

Lê o byte no índice fornecido.

Parâmetros
índice o índice a partir do qual o float será lido
Devoluções
  • o byte no índice fornecido
Lança
IndexOutOfBoundsException se o índice for negativo ou não menor que o tamanho do buffer

público abstrato Byte getObject (índice longo)

Lê o valor no índice fornecido. Importante: O uso deste método deve ser limitado a buffers de tipos não primitivos ou quando o tipo de dados não é conhecido deterministicamente pelo chamador. Em qualquer outro caso, prefira o uso de sua variante primitiva que melhorará significativamente o desempenho (por exemplo, IntDataBuffer.getInt(idx)

Parâmetros
índice o índice a partir do qual o float será lido
Devoluções
  • o valor no índice fornecido

público abstrato ByteDataBuffer estreito (tamanho longo)

Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo deste buffer, cujo tamanho é definido para o valor fornecido.

O novo tamanho não deve ser maior que esse tamanho de buffer. As alterações no conteúdo deste buffer serão visíveis no novo buffer e vice-versa. O novo buffer será somente leitura se, e somente se, esse buffer for somente leitura.

Esta chamada é equivalente a slice(0, size)

Parâmetros
tamanho tamanho deste novo buffer
Devoluções
  • o novo buffer

deslocamento de ByteDataBuffer abstrato público (índice longo)

Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo desse buffer, começando no índice fornecido.

O índice não deve ser maior que esse tamanho de buffer. As alterações no conteúdo deste buffer serão visíveis no novo buffer e vice-versa. O novo buffer será somente leitura se, e somente se, esse buffer for somente leitura.

Esta chamada é equivalente a slice(index, size() - index)

Parâmetros
índice índice do primeiro valor do novo buffer criado, não deve ser maior que size()
Devoluções
  • o novo buffer

leitura de ByteDataBuffer abstrato público (byte[] dst)

Método de obtenção em massa, usando matrizes de bytes.

Este método transfere valores deste buffer para o array de destino fornecido. Se houver menos valores no buffer do que os necessários para satisfazer a solicitação, ou seja, se dst.length > size() , nenhum valor será transferido e uma BufferUnderflowException será lançada.

Caso contrário, este método copia os valores n = dst.length deste buffer para o array fornecido.

Parâmetros
horário de verão a matriz na qual os valores devem ser escritos
Devoluções
  • este buffer
Lança
BufferUnderflowException se não houver valores suficientes para copiar deste buffer

público abstrato ByteDataBuffer lido (byte[] dst, deslocamento interno, comprimento interno)

Método de obtenção em massa, usando matrizes de bytes.

Este método transfere valores deste buffer para o array de destino fornecido. Se houver menos valores no buffer do que os necessários para satisfazer a solicitação, ou seja, se length > size() , nenhum valor será transferido e uma BufferUnderflowException será lançada.

Caso contrário, este método copia valores n = length deste buffer para o array fornecido, começando no deslocamento fornecido.

Parâmetros
horário de verão a matriz na qual os valores devem ser escritos
desvio o deslocamento dentro da matriz do primeiro valor a ser escrito; deve ser não negativo e não maior que dst.length
comprimento o número máximo de valores a serem gravados no array fornecido; deve ser não negativo e não maior que dst.length - offset
Devoluções
  • este buffer
Lança
BufferUnderflowException se houver menos valores de comprimento restantes neste buffer
IndexOutOfBoundsException se as pré-condições nos parâmetros de deslocamento e comprimento não forem válidas

público abstrato ByteDataBuffer setByte (valor de byte, índice longo)

Grava o byte fornecido neste buffer no índice fornecido.

Parâmetros
valor o byte a ser escrito
índice o índice no qual o valor será escrito
Devoluções
  • este buffer
Lança
IndexOutOfBoundsException se o índice for negativo ou não menor que o tamanho do buffer
ReadOnlyBufferException se este buffer for somente leitura

público abstrato ByteDataBuffer setObject (valor de byte, índice longo)

fatia ByteDataBuffer abstrata pública (índice longo, tamanho longo)

Cria um novo buffer cujo conteúdo é uma subsequência compartilhada do conteúdo desse buffer, começando no índice e no tamanho especificados.

O índice mais o novo tamanho não deve ser maior que o tamanho do buffer. As alterações no conteúdo deste buffer serão visíveis no novo buffer e vice-versa. O novo buffer será somente leitura se, e somente se, esse buffer for somente leitura.

Parâmetros
índice índice do primeiro valor do novo buffer criado
tamanho tamanho deste novo buffer, não deve ser maior que size()
Devoluções
  • o novo buffer

public abstract DataBufferWindow < ByteDataBuffer > janela (tamanho longo)

Cria um DataBufferWindow que fornece uma visão parcial desse buffer.

A janela criada tem um tamanho fixo e pode "slide" ao longo deste buffer para fornecer diferentes visualizações dos dados sem alocar uma nova instância de buffer, como faz offset(long) . Isto melhora o desempenho geral quando esta operação é repetida com frequência. Por exemplo:

IntDataBuffer bufferA = DataBuffers.ofInts(1024);
 // ... init buffer data
 IntDataBuffer bufferB = DataBuffers.ofInts(1, 2, 3, 4);

 // Return the index of the first occurrence of bufferB in bufferA using a sliding window
 DataBufferWindow<IntDataBuffer> windowA = bufferA.window(4);
 for (int i = 0; i < bufferA.size() - bufferB.size(); ++i) {
     if (windowA.slideTo(i).buffer().equals(bufferB)) {
         return i;
     
 }
 }

O objeto retornado tem estado e não é thread-safe.

Parâmetros
tamanho tamanho da janela
Devoluções
  • uma nova janela que começa no índice 0 deste buffer

gravação pública abstrata de ByteDataBuffer (byte[] src)

Método de colocação em massa, usando matrizes de bytes.

Este método transfere os valores da matriz de origem fornecida para este buffer. Se houver mais valores na matriz de origem do que neste buffer, ou seja, se src.length > size() , nenhum valor será transferido e uma BufferOverflowException será lançada.

Caso contrário, este método copia os valores n = src.length do array fornecido.

Parâmetros
fonte a matriz de origem a partir da qual os valores devem ser lidos
Devoluções
  • este buffer
Lança
BufferOverflowException se não houver espaço suficiente neste buffer para os valores na matriz de origem
ReadOnlyBufferException se este buffer for somente leitura

gravação pública abstrata de ByteDataBuffer (byte [] src, deslocamento interno, comprimento interno)

Método de colocação em massa, usando matrizes de bytes.

Este método transfere os valores da matriz de origem fornecida para este buffer. Se houver mais valores na matriz de origem do que neste buffer, ou seja, se length > size() , nenhum valor será transferido e uma BufferOverflowException será lançada.

Caso contrário, este método copia valores n = length do array fornecido para este buffer, começando no deslocamento fornecido.

Parâmetros
fonte a matriz de origem a partir da qual os valores devem ser lidos
desvio o deslocamento dentro da matriz do primeiro valor a ser lido; deve ser não negativo e não maior que src.length
comprimento o número de valores a serem lidos de um determinado array; deve ser não negativo e não maior que src.length - offset
Devoluções
  • este buffer
Lança
BufferOverflowException se não houver espaço suficiente neste buffer para os valores na matriz de origem
IndexOutOfBoundsException se as pré-condições nos parâmetros de deslocamento e comprimento não forem válidas
ReadOnlyBufferException se este buffer for somente leitura