Spec-Zone.ru › OpenJDK 27

Класс DataBuffer

java.lang.Object
java.awt.image.DataBuffer
Прямые известные подклассы:
DataBufferByte, DataBufferDouble, DataBufferFloat, DataBufferInt, DataBufferShort, DataBufferUShort
public abstract class DataBuffer extends Object
Этот класс предназначен для обёртывания одного или нескольких массивов данных. Каждый массив данных в DataBuffer называется банком. Методы доступа для получения и установки элементов банков DataBuffer существуют как с указанием банка, так и без него. Методы без указания банка используют банк по умолчанию с индексом 0. Для каждого банка DataBuffer может принимать смещение, благодаря чему можно использовать данные из существующего массива, даже если нужные данные начинаются не с нулевого элемента массива. При получении или установке элемента с индексом 0 банка используется элемент массива с индексом (0+смещение). Поле size задаёт объём массива данных, доступный для использования. Значение size + смещение для данного банка никогда не должно превышать длину соответствующего массива данных. Тип данных буфера данных указывает тип массива (массивов) данных и может также задавать дополнительную семантику, например хранение беззнаковых 8-битных данных в элементах массива байтов. Тип данных может быть TYPE_UNDEFINED или одним из типов, определённых ниже. В будущем могут быть добавлены другие типы. Как правило, объект класса DataBuffer приводится к одному из его подклассов, специфичных для типа данных, чтобы получить доступ к соответствующим методам и повысить производительность. В настоящее время классы изображений API Java 2D(tm) используют DataBuffer типов TYPE_BYTE, TYPE_USHORT, TYPE_INT, TYPE_SHORT, TYPE_FLOAT и TYPE_DOUBLE для хранения данных изображений.
См. также:
  • Raster
  • SampleModel

Краткое описание полей

Модификатор и тип Поле Описание
protected int banks
Количество банков в этом DataBuffer.
protected int dataType
Тип данных этого DataBuffer.
protected int offset
Смещение в банке по умолчанию (первом), от которого отсчитывается первый элемент.
protected int[] offsets
Смещения во всех банках.
protected int size
Доступный размер всех банков.
static final int TYPE_BYTE
Метка для данных типа беззнаковый байт.
static final int TYPE_DOUBLE
Метка для данных типа double.
static final int TYPE_FLOAT
Метка для данных типа float.
static final int TYPE_INT
Метка для данных типа int.
static final int TYPE_SHORT
Метка для данных типа знаковое short.
static final int TYPE_UNDEFINED
Метка для неопределённых данных.
static final int TYPE_USHORT
Метка для данных типа беззнаковый short.

Краткое описание конструкторов

DataBuffer(int dataType, int size)
DataBuffer(int dataType, int size, int numBanks)
DataBuffer(int dataType, int size, int numBanks, int offset)
DataBuffer(int dataType, int size, int numBanks, int[] offsets)
Модификатор Конструктор Описание
protected
Создаёт DataBuffer, содержащий один банк указанного типа данных и размера.
protected
Создаёт DataBuffer, содержащий указанное количество банков.
protected
Создаёт DataBuffer, содержащий указанное количество банков.
protected
Создаёт DataBuffer, содержащий указанное количество банков.

Краткое описание методов

Модификатор и тип Метод Описание
int getDataType()
Возвращает тип данных этого DataBuffer.
static int getDataTypeSize(int type)
Возвращает размер типа данных в битах для указанной метки типа данных.
int getElem(int i)
Возвращает запрошенный элемент массива данных из первого банка (по умолчанию) в виде целого числа.
abstract int getElem(int bank, int i)
Возвращает запрошенный элемент массива данных из указанного банка в виде целого числа.
double getElemDouble(int i)
Возвращает запрошенный элемент массива данных из первого банка (по умолчанию) в виде числа double.
double getElemDouble(int bank, int i)
Возвращает запрошенный элемент массива данных из указанного банка в виде числа double.
float getElemFloat(int i)
Возвращает запрошенный элемент массива данных из первого банка (по умолчанию) в виде числа float.
float getElemFloat(int bank, int i)
Возвращает запрошенный элемент массива данных из указанного банка в виде числа float.
int getNumBanks()
Возвращает количество банков в этом DataBuffer.
int getOffset()
Возвращает смещение банка по умолчанию в элементах массива.
int[] getOffsets()
Возвращает смещения всех банков в элементах массива.
int getSize()
Возвращает размер всех банков в элементах массива.
void setElem(int i, int val)
Устанавливает запрошенный элемент массива данных в первом банке (по умолчанию), используя заданное целое число.
abstract void setElem(int bank, int i, int val)
Устанавливает запрошенный элемент массива данных в указанном банке, используя заданное целое число.
void setElemDouble(int i, double val)
Устанавливает запрошенный элемент массива данных в первом банке (по умолчанию), используя заданное число double.
void setElemDouble(int bank, int i, double val)
Устанавливает запрошенный элемент массива данных в указанном банке, используя заданное число double.
void setElemFloat(int i, float val)
Устанавливает запрошенный элемент массива данных в первом банке (по умолчанию), используя заданное число float.
void setElemFloat(int bank, int i, float val)
Устанавливает запрошенный элемент массива данных в указанном банке, используя заданное число float.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание полей

TYPE_BYTE

@Native public static final int TYPE_BYTE
Тег для данных типа беззнаковый байт.
См. также:
  • Значения константных полей

TYPE_USHORT

@Native public static final int TYPE_USHORT
Тег для данных типа беззнаковое короткое целое.
См. также:
  • Значения константных полей

TYPE_SHORT

@Native public static final int TYPE_SHORT
Тег для данных типа короткое целое со знаком.
См. также:
  • Значения константных полей

TYPE_INT

@Native public static final int TYPE_INT
Тег для данных типа int.
См. также:
  • Значения константных полей

TYPE_FLOAT

@Native public static final int TYPE_FLOAT
Тег для данных типа float.
См. также:
  • Значения константных полей

TYPE_DOUBLE

@Native public static final int TYPE_DOUBLE
Тег для данных типа double.
См. также:
  • Значения константных полей

TYPE_UNDEFINED

@Native public static final int TYPE_UNDEFINED
Тег для данных неопределенного типа.
См. также:
  • Значения константных полей

dataType

protected int dataType
Тип данных этого DataBuffer.

banks

protected int banks
Количество банков в этом DataBuffer.

offset

protected int offset
Смещение в банке по умолчанию (первом банке), с которого извлекается первый элемент.

size

protected int size
Доступный размер всех банков.

offsets

protected int[] offsets
Смещения во всех банках.

Подробное описание конструкторов

DataBuffer

protected DataBuffer(int dataType, int size)
Создает DataBuffer, содержащий один банк указанного типа данных и размера.
Параметры:
dataType — тип данных этого DataBuffer
size — размер банков
Исключения:
IllegalArgumentException — если size меньше или равно нулю.

DataBuffer

protected DataBuffer(int dataType, int size, int numBanks)
Создает DataBuffer, содержащий указанное количество банков. Каждый банк имеет указанный размер и смещение 0.
Параметры:
dataType — тип данных этого DataBuffer
size — размер банков
numBanks — количество банков в этом DataBuffer
Исключения:
IllegalArgumentException — если size или numBanks меньше или равно нулю.

DataBuffer

protected DataBuffer(int dataType, int size, int numBanks, int offset)
Создает DataBuffer, содержащий указанное количество банков. Каждый банк имеет указанные тип данных, размер и смещение.
Параметры:
dataType — тип данных этого DataBuffer
size — размер банков
numBanks — количество банков в этом DataBuffer
offset — смещение для каждого банка
Исключения:
IllegalArgumentException — если size или numBanks меньше или равно нулю.
IllegalArgumentException — если offset меньше нуля.

DataBuffer

protected DataBuffer(int dataType, int size, int numBanks, int[] offsets)
Создает DataBuffer, содержащий указанное количество банков. Каждый банк имеет указанные тип данных и размер. Смещение для каждого банка задается соответствующим элементом массива offsets.
Параметры:
dataType — тип данных этого DataBuffer
size — размер банков
numBanks — количество банков в этом DataBuffer
offsets — массив, содержащий смещение для каждого банка.
Исключения:
IllegalArgumentException — если size или numBanks меньше или равно нулю.
NullPointerException — если offsets равен null.
IllegalArgumentException — если любой элемент offsets меньше нуля.
ArrayIndexOutOfBoundsException — если numBanks не равен длине offsets

Подробное описание методов

getDataTypeSize

public static int getDataTypeSize(int type)
Возвращает размер (в битах) типа данных, заданного тегом типа данных.
Параметры:
type — значение одного из определенных тегов типа данных
Возвращает:
размер типа данных
Исключения:
IllegalArgumentException — если type меньше нуля или больше TYPE_DOUBLE

getDataType

public int getDataType()
Возвращает тип данных этого DataBuffer.
Возвращает:
тип данных этого DataBuffer.

getSize

public int getSize()
Возвращает размер (в элементах массива) всех банков.
Возвращает:
размер всех банков.

getOffset

public int getOffset()
Возвращает смещение банка по умолчанию в элементах массива.
Возвращает:
смещение банка по умолчанию.

getOffsets

public int[] getOffsets()
Возвращает смещения (в элементах массива) всех банков.
Возвращает:
смещения всех банков.

getNumBanks

public int getNumBanks()
Возвращает количество банков в этом DataBuffer.
Возвращает:
количество банков.

getElem

public int getElem(int i)
Возвращает запрошенный элемент массива данных из первого банка (банка по умолчанию) в виде целого числа.
Параметры:
i — индекс запрошенного элемента массива данных
Возвращает:
элемент массива данных по указанному индексу.
Исключения:
ArrayIndexOutOfBoundsException — если (i + getOffset()) не является допустимым индексом.
См. также:
  • setElem(int, int)
  • setElem(int, int, int)

getElem

public abstract int getElem(int bank, int i)
Возвращает запрошенный элемент массива данных из указанного банка в виде целого числа.
Параметры:
bank — указанный банк
i — индекс запрошенного элемента массива данных
Возвращает:
элемент массива данных по указанному индексу из указанного банка.
Исключения:
ArrayIndexOutOfBoundsException — если bank не является допустимым индексом банка или (i + getOffsets()[bank]) не является допустимым индексом в банке.
См. также:
  • setElem(int, int)
  • setElem(int, int, int)

setElem

public void setElem(int i, int val)
Устанавливает запрошенный элемент массива данных в первом банке (банке по умолчанию), используя заданное целое число.
Параметры:
i — указанный индекс в массиве данных
val — данные, которыми нужно установить элемент массива данных по указанному индексу
Исключения:
ArrayIndexOutOfBoundsException — если (i + getOffset()) не является допустимым индексом.
См. также:
  • getElem(int)
  • getElem(int, int)

setElem

public abstract void setElem(int bank, int i, int val)
Устанавливает запрошенный элемент массива данных в указанном банке, используя заданное целое число.
Параметры:
bank — указанный банк
i — указанный индекс в массиве данных
val — данные, которыми нужно установить элемент в указанном банке по указанному индексу в массиве данных
Исключения:
ArrayIndexOutOfBoundsException — если bank не является допустимым индексом банка или (i + getOffsets()[bank]) не является допустимым индексом в банке.
См. также:
  • getElem(int)
  • getElem(int, int)

getElemFloat

public float getElemFloat(int i)
Возвращает запрошенный элемент массива данных из первого банка (банка по умолчанию) в виде числа с плавающей точкой типа float. Реализация этого класса преобразует результат вызова getElem(i) к типу float. Подклассы могут переопределить этот метод, если требуется другая реализация.
Параметры:
i — индекс запрошенного элемента массива данных
Возвращает:
значение типа float, представляющее элемент массива данных по указанному индексу.
Исключения:
ArrayIndexOutOfBoundsException — если (i + getOffset()) не является допустимым индексом.
См. также:
  • setElemFloat(int, float)
  • setElemFloat(int, int, float)

getElemFloat

public float getElemFloat(int bank, int i)
Возвращает запрошенный элемент массива данных из указанного банка в виде числа с плавающей точкой типа float. Реализация этого класса преобразует результат вызова getElem(int, int) к типу float. Подклассы могут переопределить этот метод, если требуется другая реализация.
Параметры:
bank — указанный банк
i — индекс запрошенного элемента массива данных
Возвращает:
значение типа float, представляющее элемент массива данных из указанного банка по указанному индексу.
Исключения:
ArrayIndexOutOfBoundsException — если bank не является допустимым индексом банка или (i + getOffsets()[bank]) не является допустимым индексом в банке.
См. также:
  • setElemFloat(int, float)
  • setElemFloat(int, int, float)

setElemFloat

public void setElemFloat(int i, float val)
Устанавливает запрошенный элемент массива данных в первом банке (банке по умолчанию), используя заданное значение типа float. Реализация этого класса преобразует val к типу int и вызывает setElem(int, int). Подклассы могут переопределить этот метод, если требуется другая реализация.
Параметры:
i — указанный индекс
val — значение, которым нужно установить элемент массива данных по указанному индексу
Исключения:
ArrayIndexOutOfBoundsException — если (i + getOffset()) не является допустимым индексом.
См. также:
  • getElemFloat(int)
  • getElemFloat(int, int)

setElemFloat

public void setElemFloat(int bank, int i, float val)
Устанавливает запрошенный элемент массива данных в указанном банке, используя заданное значение типа float. Реализация этого класса преобразует val к типу int и вызывает setElem(int, int). Подклассы могут переопределить этот метод, если требуется другая реализация.
Параметры:
bank — указанный банк
i — указанный индекс
val — значение, которым нужно установить элемент в указанном банке по указанному индексу в массиве данных
Исключения:
ArrayIndexOutOfBoundsException — если bank не является допустимым индексом банка или (i + getOffsets()[bank]) не является допустимым индексом в банке.
См. также:
  • getElemFloat(int)
  • getElemFloat(int, int)

getElemDouble

public double getElemDouble(int i)
Возвращает запрошенный элемент массива данных из первого банка (банка по умолчанию) в виде числа с плавающей точкой типа double. Реализация этого класса преобразует результат вызова getElem(int) к типу double. Подклассы могут переопределить этот метод, если требуется другая реализация.
Параметры:
i — указанный индекс
Возвращает:
значение типа double, представляющее элемент массива данных по указанному индексу.
Исключения:
ArrayIndexOutOfBoundsException — если (i + getOffset()) не является допустимым индексом.
См. также:
  • setElemDouble(int, double)
  • setElemDouble(int, int, double)

getElemDouble

public double getElemDouble(int bank, int i)
Возвращает запрошенный элемент массива данных из указанного банка в виде числа с плавающей точкой типа double. Реализация этого класса преобразует результат вызова getElem(bank, i) к типу double. Подклассы могут переопределить этот метод, если требуется другая реализация.
Параметры:
bank — указанный банк
i — указанный индекс
Возвращает:
значение типа double, представляющее элемент массива данных из указанного банка по указанному индексу.
Исключения:
ArrayIndexOutOfBoundsException — если bank не является допустимым индексом банка или (i + getOffsets()[bank]) не является допустимым индексом в банке.
См. также:
  • setElemDouble(int, double)
  • setElemDouble(int, int, double)

setElemDouble

public void setElemDouble(int i, double val)
Устанавливает запрошенный элемент массива данных в первом банке (банке по умолчанию), используя заданное значение типа double. Реализация этого класса преобразует val к типу int и вызывает setElem(int, int). Подклассы могут переопределить этот метод, если требуется другая реализация.
Параметры:
i — указанный индекс
val — значение, которым нужно установить элемент массива данных по указанному индексу
Исключения:
ArrayIndexOutOfBoundsException — если (i + getOffset()) не является допустимым индексом.
См. также:
  • getElemDouble(int)
  • getElemDouble(int, int)

setElemDouble

public void setElemDouble(int bank, int i, double val)
Устанавливает запрошенный элемент массива данных в указанном банке, используя заданное значение типа double. Реализация этого класса преобразует val к типу int и вызывает setElem(int, int). Подклассы могут переопределить этот метод, если требуется другая реализация.
Параметры:
bank — указанный банк
i — указанный индекс
val — значение, которым нужно установить элемент в указанном банке по указанному индексу массива данных
Исключения:
ArrayIndexOutOfBoundsException — если bank не является допустимым индексом банка или (i + getOffsets()[bank]) не является допустимым индексом в банке.
См. также:
  • getElemDouble(int)
  • getElemDouble(int, int)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, где содержатся более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API