Spec-Zone.ru › OpenJDK 27

Класс ParameterBlock

java.lang.Object
java.awt.image.renderable.ParameterBlock
Все реализуемые интерфейсы:
Serializable, Cloneable
public class ParameterBlock extends Object implements Cloneable, Serializable
ParameterBlock содержит всю информацию об источниках и параметрах (объектах), необходимых для RenderableImageOp или других классов, обрабатывающих изображения.

Хотя в вектор источников можно помещать произвольные объекты, пользователи этого класса могут накладывать семантические ограничения, например требовать, чтобы все источники были объектами RenderedImage или RenderableImage. Сам ParameterBlock является лишь контейнером и не проверяет типы источников или параметров.

Все параметры в ParameterBlock являются объектами; для удобства доступны методы add и set, принимающие аргументы базового типа и создающие соответствующий подкласс Number (например, Integer или Float). Соответствующие методы get выполняют приведение к более конкретному типу и возвращают значения базового типа; если сохранённые значения не имеют требуемого типа, будет выброшено исключение. Невозможно различить результаты вызовов «short s; add(s)» и «add(Short.valueOf(s))».

Обратите внимание, что методы get и set работают со ссылками. Поэтому следует избегать совместного использования ссылок между ParameterBlockами, если это нежелательно. Например, чтобы создать новый ParameterBlock, равный старому, но с добавленным источником, можно было бы написать:

ParameterBlock addSource(ParameterBlock pb, RenderableImage im) {
    ParameterBlock pb1 = new ParameterBlock(pb.getSources());
    pb1.addSource(im);
    return pb1;
}

Этот код приведёт к побочному эффекту — изменению исходного ParameterBlock, поскольку операция getSources возвращает ссылку на его вектор источников. Объекты pb и pb1 используют один и тот же вектор источников, поэтому изменения, внесённые в один из них, видны в обоих.

Правильный способ написать функцию addSource — клонировать вектор источников:

ParameterBlock addSource (ParameterBlock pb, RenderableImage im) {
    ParameterBlock pb1 = new ParameterBlock(pb.getSources().clone());
    pb1.addSource(im);
    return pb1;
}

По этой причине метод clone класса ParameterBlock определён так, чтобы клонировать и векторы источников, и векторы параметров. Стандартное поверхностное клонирование доступно через shallowClone.

Методы addSource, setSource, add и set после добавления аргумента возвращают значение «this». Это позволяет использовать такой синтаксис:

ParameterBlock pb = new ParameterBlock();
op = new RenderableImageOp("operation", pb.add(arg1).add(arg2));
См. также:
  • Сериализованная форма

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

Модификатор и тип Поле Описание
protected Vector<Object> parameters
Вектор параметров, не являющихся источниками; элементы хранятся как произвольные объекты.
protected Vector<Object> sources
Вектор источников, хранящихся как произвольные объекты.

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

Конструктор Описание
ParameterBlock()
Пустой конструктор.
ParameterBlock(Vector<Object> sources)
Создаёт ParameterBlock с заданным вектором источников.
ParameterBlock(Vector<Object> sources, Vector<Object> parameters)
Создаёт ParameterBlock с заданным вектором источников и вектором параметров.

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

Модификатор и тип Метод Описание
ParameterBlock add(byte b)
Добавляет Byte в список параметров.
ParameterBlock add(char c)
Добавляет Character в список параметров.
ParameterBlock add(double d)
Добавляет Double в список параметров.
ParameterBlock add(float f)
Добавляет Float в список параметров.
ParameterBlock add(int i)
Добавляет Integer в список параметров.
ParameterBlock add(long l)
Добавляет Long в список параметров.
ParameterBlock add(short s)
Добавляет Short в список параметров.
ParameterBlock add(Object obj)
Добавляет объект в список параметров.
ParameterBlock addSource(Object source)
Добавляет изображение в конец списка источников.
Object clone()
Создаёт копию ParameterBlock.
byte getByteParameter(int index)
Вспомогательный метод, возвращающий параметр как byte.
char getCharParameter(int index)
Вспомогательный метод, возвращающий параметр как char.
double getDoubleParameter(int index)
Вспомогательный метод, возвращающий параметр как double.
float getFloatParameter(int index)
Вспомогательный метод, возвращающий параметр как float.
int getIntParameter(int index)
Вспомогательный метод, возвращающий параметр как int.
long getLongParameter(int index)
Вспомогательный метод, возвращающий параметр как long.
int getNumParameters()
Возвращает количество параметров (не включая изображения-источники).
int getNumSources()
Возвращает количество изображений-источников.
Object getObjectParameter(int index)
Получает параметр как объект.
Class<?>[] getParamClasses()
Возвращает массив объектов Class, описывающих типы параметров.
Vector<Object> getParameters()
Возвращает весь вектор параметров.
RenderableImage getRenderableSource(int index)
Возвращает источник как RenderableImage.
RenderedImage getRenderedSource(int index)
Возвращает источник как RenderedImage.
short getShortParameter(int index)
Вспомогательный метод, возвращающий параметр как short.
Object getSource(int index)
Возвращает источник как объект Object общего назначения.
Vector<Object> getSources()
Возвращает весь вектор источников.
void removeParameters()
Очищает список параметров.
void removeSources()
Очищает список изображений-источников.
ParameterBlock set(byte b, int index)
Заменяет объект в списке параметров на Byte.
ParameterBlock set(char c, int index)
Заменяет объект в списке параметров на Character.
ParameterBlock set(double d, int index)
Заменяет объект в списке параметров на Double.
ParameterBlock set(float f, int index)
Заменяет объект в списке параметров на Float.
ParameterBlock set(int i, int index)
Заменяет объект в списке параметров на Integer.
ParameterBlock set(long l, int index)
Заменяет объект в списке параметров на Long.
ParameterBlock set(short s, int index)
Заменяет объект в списке параметров на Short.
ParameterBlock set(Object obj, int index)
Заменяет объект в списке параметров.
void setParameters(Vector<Object> parameters)
Задаёт весь вектор параметров равным указанному вектору.
ParameterBlock setSource(Object source, int index)
Заменяет элемент в списке источников новым источником.
void setSources(Vector<Object> sources)
Задаёт весь вектор источников равным указанному вектору.
Object shallowClone()
Создаёт поверхностную копию ParameterBlock.

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

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
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()
Переводит текущий поток в режим ожидания до его пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Переводит текущий поток в режим ожидания до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в режим ожидания до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

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

sources

protected Vector<Object> sources
Вектор источников, хранящихся в виде произвольных объектов.

parameters

protected Vector<Object> parameters
Вектор параметров, не являющихся источниками, хранящихся в виде произвольных объектов.

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

ParameterBlock

public ParameterBlock()
Пустой конструктор.

ParameterBlock

public ParameterBlock(Vector<Object> sources)
Создает ParameterBlock с заданным вектором источников.
Параметры:
sources — Vector исходных изображений

ParameterBlock

public ParameterBlock(Vector<Object> sources, Vector<Object> parameters)
Создает ParameterBlock с заданными вектором источников и вектором параметров.
Параметры:
sources — Vector исходных изображений
parameters — Vector параметров, используемых при выполнении операции рендеринга

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

shallowClone

public Object shallowClone()
Создает поверхностную копию ParameterBlock. Векторы источников и параметров копируются по ссылке — добавления и изменения будут видны в обеих версиях.
Возвращает:
копию ParameterBlock типа Object.

clone

public Object clone()
Создает копию ParameterBlock. Векторы источников и параметров клонируются, но сами источники и параметры копируются по ссылке. Это позволяет изменять порядок и количество источников и параметров в клоне, не затрагивая исходный ParameterBlock. Изменения самих общих источников или параметров по-прежнему будут видны.
Переопределяет:
clone в классе Object
Возвращает:
копию ParameterBlock типа Object.
См. также:
  • Cloneable

addSource

public ParameterBlock addSource(Object source)
Добавляет изображение в конец списка источников. Изображение хранится как объект, чтобы в будущем можно было добавлять новые типы узлов.
Параметры:
source — объект изображения, который нужно сохранить в списке источников.
Возвращает:
новый ParameterBlock, содержащий указанный source.

getSource

public Object getSource(int index)
Возвращает источник как объект общего типа Object. Вызывающий код должен привести его к соответствующему типу.
Параметры:
index — индекс возвращаемого источника.
Возвращает:
Object, представляющий источник, расположенный по указанному индексу в sources Vector.
См. также:
  • setSource(Object, int)

setSource

public ParameterBlock setSource(Object source, int index)
Заменяет элемент списка источников новым источником. Если индекс выходит за пределы текущего списка источников, список при необходимости дополняется значениями null.
Параметры:
source — указанное исходное изображение
index — индекс в sources Vector, по которому нужно вставить указанный source
Возвращает:
новый ParameterBlock, содержащий указанный source по указанному index.
См. также:
  • getSource(int)

getRenderedSource

public RenderedImage getRenderedSource(int index)
Возвращает источник как RenderedImage. Это вспомогательный метод. Если источник не является RenderedImage, будет выброшено исключение.
Параметры:
index — индекс возвращаемого источника
Возвращает:
RenderedImage, представляющий исходное изображение, расположенное по указанному индексу в sources Vector.

getRenderableSource

public RenderableImage getRenderableSource(int index)
Возвращает источник как RenderableImage. Это вспомогательный метод. Если источник не является RenderableImage, будет выброшено исключение.
Параметры:
index — индекс возвращаемого источника
Возвращает:
RenderableImage, представляющий исходное изображение, расположенное по указанному индексу в sources Vector.

getNumSources

public int getNumSources()
Возвращает количество исходных изображений.
Возвращает:
количество исходных изображений в sources Vector.

getSources

public Vector<Object> getSources()
Возвращает весь вектор источников.
Возвращает:
sources Vector.
См. также:
  • setSources(Vector)

setSources

public void setSources(Vector<Object> sources)
Задает весь вектор источников указанным вектором.
Параметры:
sources — Vector исходных изображений
См. также:
  • getSources()

removeSources

public void removeSources()
Очищает список исходных изображений.

getNumParameters

public int getNumParameters()
Возвращает количество параметров (без учета исходных изображений).
Возвращает:
количество параметров в parameters Vector.

getParameters

public Vector<Object> getParameters()
Возвращает весь вектор параметров.
Возвращает:
parameters Vector.
См. также:
  • setParameters(Vector)

setParameters

public void setParameters(Vector<Object> parameters)
Задает весь вектор параметров указанным вектором.
Параметры:
parameters — указанный Vector параметров
См. также:
  • getParameters()

removeParameters

public void removeParameters()
Очищает список параметров.

add

public ParameterBlock add(Object obj)
Добавляет объект в список параметров.
Параметры:
obj — Object, который нужно добавить в parameters Vector
Возвращает:
новый ParameterBlock, содержащий указанный параметр.

add

public ParameterBlock add(byte b)
Добавляет Byte в список параметров.
Параметры:
b — значение byte, которое нужно добавить в parameters Vector
Возвращает:
новый ParameterBlock, содержащий указанный параметр.

add

public ParameterBlock add(char c)
Добавляет Character в список параметров.
Параметры:
c — значение char, которое нужно добавить в parameters Vector
Возвращает:
новый ParameterBlock, содержащий указанный параметр.

add

public ParameterBlock add(short s)
Добавляет Short в список параметров.
Параметры:
s — значение short, которое нужно добавить в parameters Vector
Возвращает:
новый ParameterBlock, содержащий указанный параметр.

add

public ParameterBlock add(int i)
Добавляет Integer в список параметров.
Параметры:
i — значение int, которое нужно добавить в parameters Vector
Возвращает:
новый ParameterBlock, содержащий указанный параметр.

add

public ParameterBlock add(long l)
Добавляет Long в список параметров.
Параметры:
l — значение long, которое нужно добавить в parameters Vector
Возвращает:
новый ParameterBlock, содержащий указанный параметр.

add

public ParameterBlock add(float f)
Добавляет Float в список параметров.
Параметры:
f — значение float, которое нужно добавить в parameters Vector
Возвращает:
новый ParameterBlock, содержащий указанный параметр.

add

public ParameterBlock add(double d)
Добавляет Double в список параметров.
Параметры:
d — значение double, которое нужно добавить в parameters Vector
Возвращает:
новый ParameterBlock, содержащий указанный параметр.

set

public ParameterBlock set(Object obj, int index)
Заменяет объект в списке параметров. Если индекс выходит за пределы текущего списка источников, список при необходимости дополняется значениями null.
Параметры:
obj — параметр, заменяющий параметр по указанному индексу в parameters Vector
index — индекс параметра, который нужно заменить указанным параметром
Возвращает:
новый ParameterBlock, содержащий указанный параметр.

set

public ParameterBlock set(byte b, int index)
Заменяет объект в списке параметров значением Byte. Если индекс выходит за пределы текущего списка источников, список при необходимости дополняется значениями null.
Параметры:
b — параметр, заменяющий параметр по указанному индексу в parameters Vector
index — индекс параметра, который нужно заменить указанным параметром
Возвращает:
новый ParameterBlock, содержащий указанный параметр.

set

public ParameterBlock set(char c, int index)
Заменяет объект в списке параметров значением Character. Если индекс выходит за пределы текущего списка источников, список при необходимости дополняется значениями null.
Параметры:
c — параметр, заменяющий параметр по указанному индексу в parameters Vector
index — индекс параметра, который нужно заменить указанным параметром
Возвращает:
новый ParameterBlock, содержащий указанный параметр.

set

public ParameterBlock set(short s, int index)
Заменяет объект в списке параметров значением Short. Если индекс выходит за пределы текущего списка источников, список при необходимости дополняется значениями null.
Параметры:
s — параметр, заменяющий параметр по указанному индексу в parameters Vector
index — индекс параметра, который нужно заменить указанным параметром
Возвращает:
новый ParameterBlock, содержащий указанный параметр.

set

public ParameterBlock set(int i, int index)
Заменяет объект в списке параметров значением Integer. Если индекс выходит за пределы текущего списка источников, список при необходимости дополняется значениями null.
Параметры:
i — параметр, заменяющий параметр по указанному индексу в parameters Vector
index — индекс параметра, который нужно заменить указанным параметром
Возвращает:
новый ParameterBlock, содержащий указанный параметр.

set

public ParameterBlock set(long l, int index)
Заменяет объект в списке параметров значением Long. Если индекс выходит за пределы текущего списка источников, список при необходимости дополняется значениями null.
Параметры:
l — параметр, заменяющий параметр по указанному индексу в parameters Vector
index — индекс параметра, который нужно заменить указанным параметром
Возвращает:
новый ParameterBlock, содержащий указанный параметр.

set

public ParameterBlock set(float f, int index)
Заменяет объект в списке параметров значением Float. Если индекс выходит за пределы текущего списка источников, список при необходимости дополняется значениями null.
Параметры:
f — параметр, заменяющий параметр по указанному индексу в parameters Vector
index — индекс параметра, который нужно заменить указанным параметром
Возвращает:
новый ParameterBlock, содержащий указанный параметр.

set

public ParameterBlock set(double d, int index)
Заменяет объект в списке параметров значением Double. Если индекс выходит за пределы текущего списка источников, список при необходимости дополняется значениями null.
Параметры:
d — параметр, заменяющий параметр по указанному индексу в parameters Vector
index — индекс параметра, который нужно заменить указанным параметром
Возвращает:
новый ParameterBlock, содержащий указанный параметр.

getObjectParameter

public Object getObjectParameter(int index)
Получает параметр в виде объекта.
Параметры:
index — индекс получаемого параметра
Возвращает:
Object, представляющий параметр по указанному индексу в parameters Vector.

getByteParameter

public byte getByteParameter(int index)
Вспомогательный метод, возвращающий параметр как byte. Исключение выбрасывается, если параметр равен null или не является Byte.
Параметры:
index — индекс возвращаемого параметра.
Возвращает:
параметр по указанному индексу как значение byte.
Выбрасывает:
ClassCastException — если параметр по указанному индексу не является Byte
NullPointerException — если параметр по указанному индексу равен null
ArrayIndexOutOfBoundsException — если index отрицателен или не меньше текущего размера этого объекта ParameterBlock

getCharParameter

public char getCharParameter(int index)
Вспомогательный метод, возвращающий параметр как char. Исключение выбрасывается, если параметр равен null или не является Character.
Параметры:
index — индекс возвращаемого параметра.
Возвращает:
параметр по указанному индексу как значение char.
Выбрасывает:
ClassCastException — если параметр по указанному индексу не является Character
NullPointerException — если параметр по указанному индексу равен null
ArrayIndexOutOfBoundsException — если index отрицателен или не меньше текущего размера этого объекта ParameterBlock

getShortParameter

public short getShortParameter(int index)
Вспомогательный метод, возвращающий параметр как short. Исключение выбрасывается, если параметр равен null или не является Short.
Параметры:
index — индекс возвращаемого параметра.
Возвращает:
параметр по указанному индексу как значение short.
Выбрасывает:
ClassCastException — если параметр по указанному индексу не является Short
NullPointerException — если параметр по указанному индексу равен null
ArrayIndexOutOfBoundsException — если index отрицателен или не меньше текущего размера этого объекта ParameterBlock

getIntParameter

public int getIntParameter(int index)
Вспомогательный метод, возвращающий параметр как int. Исключение выбрасывается, если параметр равен null или не является Integer.
Параметры:
index — индекс возвращаемого параметра.
Возвращает:
параметр по указанному индексу как значение int.
Выбрасывает:
ClassCastException — если параметр по указанному индексу не является Integer
NullPointerException — если параметр по указанному индексу равен null
ArrayIndexOutOfBoundsException — если index отрицателен или не меньше текущего размера этого объекта ParameterBlock

getLongParameter

public long getLongParameter(int index)
Вспомогательный метод, возвращающий параметр как long. Исключение выбрасывается, если параметр равен null или не является Long.
Параметры:
index — индекс возвращаемого параметра.
Возвращает:
параметр по указанному индексу как значение long.
Выбрасывает:
ClassCastException — если параметр по указанному индексу не является Long
NullPointerException — если параметр по указанному индексу равен null
ArrayIndexOutOfBoundsException — если index отрицателен или не меньше текущего размера этого объекта ParameterBlock

getFloatParameter

public float getFloatParameter(int index)
Вспомогательный метод, возвращающий параметр как float. Исключение выбрасывается, если параметр равен null или не является Float.
Параметры:
index — индекс возвращаемого параметра.
Возвращает:
параметр по указанному индексу как значение float.
Выбрасывает:
ClassCastException — если параметр по указанному индексу не является Float
NullPointerException — если параметр по указанному индексу равен null
ArrayIndexOutOfBoundsException — если index отрицателен или не меньше текущего размера этого объекта ParameterBlock

getDoubleParameter

public double getDoubleParameter(int index)
Вспомогательный метод, возвращающий параметр как double. Исключение выбрасывается, если параметр равен null или не является Double.
Параметры:
index — индекс возвращаемого параметра.
Возвращает:
параметр по указанному индексу как значение double.
Выбрасывает:
ClassCastException — если параметр по указанному индексу не является Double
NullPointerException — если параметр по указанному индексу равен null
ArrayIndexOutOfBoundsException — если index отрицателен или не меньше текущего размера этого объекта ParameterBlock

getParamClasses

public Class<?>[] getParamClasses()
Возвращает массив объектов Class, описывающих типы параметров.
Возвращает:
массив объектов Class.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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