Класс ParameterBlock
- Все реализованные интерфейсы:
-
Serializable,Cloneable
public class ParameterBlock extends Object implements Cloneable, Serializable
ParameterBlock, содержащий всю информацию о источниках и параметрах (объектах), необходимых для RenderableImageOp или других классов, обрабатывающих изображения. Несмотря на возможность размещения произвольных объектов в векторе источников, пользователи могут наложить семантические ограничения, такие как требование, чтобы все источники были RenderedImages или RenderableImage. ParameterBlock сам по себе является лишь контейнером и не выполняет проверки типов источников и параметров.
Все параметры в ParameterBlock являются объектами; доступны удобные методы добавления и установки, принимающие аргументы базового типа и создающие соответствующий подкласс Number (например, Integer или Float). Соответствующие методы получения выполняют приведение типа вниз и возвращают значения базового типа; если сохраненные значения не имеют правильного типа, будет выброшено исключение. Нет способа различить результаты "short s; add(s)" и "add(Short.valueOf(s))".
Обратите внимание, что методы получения и установки работают с ссылками. Поэтому следует быть осторожным, чтобы не делиться ссылками между 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 |
parameters |
Вектор параметров, не являющихся источниками, хранящихся в виде произвольных объектов. |
protected Vector |
sources |
Вектор источников, хранящихся в виде произвольных объектов. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ParameterBlock() |
Пустой конструктор. |
ParameterBlock |
Создает ParameterBlock с заданным вектором источников. |
ParameterBlock |
Создает ParameterBlock с заданным вектором источников и вектором параметров. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
ParameterBlock |
add |
Добавляет Byte в список параметров. |
ParameterBlock |
add |
Добавляет Character в список параметров. |
ParameterBlock |
add |
Добавляет Double в список параметров. |
ParameterBlock |
add |
Добавляет Float в список параметров. |
ParameterBlock |
add |
Добавляет Integer в список параметров. |
ParameterBlock |
add |
Добавляет Long в список параметров. |
ParameterBlock |
add |
Добавляет Short в список параметров. |
ParameterBlock |
add |
Добавляет объект в список параметров. |
ParameterBlock |
addSource |
Добавляет изображение в конец списка источников. |
Object |
clone() |
Создает копию ParameterBlock. |
byte |
getByteParameter |
Удобный метод для возвращения параметра как байт. |
char |
getCharParameter |
Удобный метод для возвращения параметра как символ. |
double |
getDoubleParameter |
Удобный метод для возвращения параметра как двойное число. |
float |
getFloatParameter |
Удобный метод для возвращения параметра как число с плавающей точкой. |
int |
getIntParameter |
Удобный метод для возвращения параметра как целое число. |
long |
getLongParameter |
Удобный метод для возвращения параметра как длинное целое число. |
int |
getNumParameters() |
Возвращает количество параметров (без учета источников изображений). |
int |
getNumSources() |
Возвращает количество источников изображений. |
Object |
getObjectParameter |
Получает параметр как объект. |
Class<?>[] |
getParamClasses() |
Возвращает массив объектов Class, описывающих типы параметров. |
Vector |
getParameters() |
Возвращает весь вектор параметров. |
RenderableImage |
getRenderableSource |
Возвращает источник как RenderableImage. |
RenderedImage |
getRenderedSource |
Возвращает источник как RenderedImage. |
short |
getShortParameter |
Удобный метод для возвращения параметра как короткое целое число. |
Object |
getSource |
Возвращает источник как общий объект. |
Vector |
getSources() |
Возвращает весь вектор источников. |
void |
removeParameters() |
Очищает список параметров. |
void |
removeSources() |
Очищает список источников изображений. |
ParameterBlock |
set |
Заменяет объект в списке параметров на Byte. |
ParameterBlock |
set |
Заменяет объект в списке параметров на Character. |
ParameterBlock |
set |
Заменяет объект в списке параметров на Double. |
ParameterBlock |
set |
Заменяет объект в списке параметров на Float. |
ParameterBlock |
set |
Заменяет объект в списке параметров на Integer. |
ParameterBlock |
set |
Заменяет объект в списке параметров на Long. |
ParameterBlock |
set |
Заменяет объект в списке параметров на Short. |
ParameterBlock |
set |
Заменяет объект в списке параметров. |
void |
setParameters |
Устанавливает весь вектор параметров на заданный вектор. |
ParameterBlock |
setSource |
Заменяет запись в списке источников новым источником. |
void |
setSources |
Устанавливает весь вектор источников на заданный вектор. |
Object |
shallowClone() |
Создает поверхностную копию ParameterBlock. |
Краткое описание полей
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.
clone
public Object clone()
ParameterBlock. Векторы источников и параметров клонируются, но сами источники и параметры копируются по ссылке. Это позволяет изменениям порядка и количества источников и параметров в клоне быть невидимыми для исходного ParameterBlock. Изменения в общих источниках или самих параметрах по-прежнему будут видны.addSource
public ParameterBlock addSource(Object source)
- Параметры:
-
source- объект изображения, который будет сохранен в списке источников. - Возвращает:
- новый
ParameterBlock, содержащий указанныйsource.
getSource
public Object getSource(int index)
- Параметры:
-
index- индекс возвращаемого источника. - Возвращает:
Object, представляющий источник, расположенный по указанному индексу вsourcesVector.- См. также:
setSource
public ParameterBlock setSource(Object source, int index)
- Параметры:
-
source- указанное исходное изображение -
index- индекс вsourcesVector, в который необходимо вставить указанныйsource - Возвращает:
- новый
ParameterBlock, содержащий указанныйsourceпо указанномуindex. - См. также:
getRenderedSource
public RenderedImage getRenderedSource(int index)
RenderedImage. Этот метод является вспомогательным методом. Будет выброшено исключение, если источник не является RenderedImage.- Параметры:
-
index- индекс возвращаемого источника - Возвращает:
RenderedImage, представляющий исходное изображение, которое находится по указанному индексу вsources Vector.
getRenderableSource
public RenderableImage getRenderableSource(int index)
- Параметры:
-
index- индекс возвращаемого источника - Возвращает:
RenderableImage, представляющий исходное изображение, которое находится по указанному индексу вsources Vector.
getNumSources
public int getNumSources()
- Возвращает:
- количество исходных изображений в
sourcesVector.
getSources
public Vector<Object> getSources()
- Возвращает:
sources Vector.- См. также:
setSources
public void setSources(Vector<Object> sources)
- Параметры:
-
sources-Vectorисходных изображений - См. также:
removeSources
public void removeSources()
getNumParameters
public int getNumParameters()
- Возвращает:
- количество параметров в
parametersVector.
getParameters
public Vector<Object> getParameters()
- Возвращает:
parameters Vector.- См. также:
setParameters
public void setParameters(Vector<Object> parameters)
- Параметры:
-
parameters- указанныйVectorпараметров - См. также:
removeParameters
public void removeParameters()
add
public ParameterBlock add(Object obj)
- Параметры:
-
obj-Objectдля добавления вparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(byte b)
- Параметры:
-
b- байт для добавления вparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(char c)
- Параметры:
-
c- символ для добавления вparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(short s)
- Параметры:
-
s- короткое целое число для добавления вparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(int i)
- Параметры:
-
i- целое число для добавления вparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
добавить
public ParameterBlock add(long l)
- Параметры:
-
l- добавляемый long к спискуparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
добавить
public ParameterBlock add(float f)
- Параметры:
-
f- добавляемый float к спискуparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
добавить
public ParameterBlock add(double d)
- Параметры:
-
d- добавляемый double к спискуparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
установить
public ParameterBlock set(Object obj, int index)
- Параметры:
-
obj- параметр, заменяющий параметр в указанном индексе в спискеparameters Vector -
index- индекс параметра, который нужно заменить указанным параметром - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
установить
public ParameterBlock set(byte b, int index)
- Параметры:
-
b- параметр, заменяющий параметр в указанном индексе в спискеparameters Vector -
index- индекс параметра, который нужно заменить указанным параметром - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
установить
public ParameterBlock set(char c, int index)
- Параметры:
-
c- параметр, заменяющий параметр в указанном индексе в спискеparameters Vector -
index- индекс параметра, который нужно заменить указанным параметром - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
установить
public ParameterBlock set(short s, int index)
- Параметры:
-
s- параметр, заменяющий параметр в указанном индексе в спискеparameters Vector -
index- индекс параметра, который нужно заменить указанным параметром - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
установить
public ParameterBlock set(int i, int index)
- Параметры:
-
i- параметр, заменяющий параметр в указанном индексе в спискеparameters Vector -
index- индекс параметра, который нужно заменить указанным параметром - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
установить
public ParameterBlock set(long l, int index)
- Параметры:
-
l- параметр, заменяющий параметр в указанном индексе в спискеparameters Vector -
index- индекс параметра, который нужно заменить указанным параметром - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
установить
public ParameterBlock set(float f, int index)
- Параметры:
-
f- параметр, заменяющий параметр в указанном индексе в спискеparameters Vector -
index- индекс параметра, который нужно заменить указанным параметром - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
установить
public ParameterBlock set(double d, int index)
- Параметры:
-
d- параметр, заменяющий параметр в указанном индексе в спискеparameters Vector -
index- индекс параметра, который нужно заменить указанным параметром - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
получитьОбъектныйПараметр
public Object getObjectParameter(int index)
- Параметры:
-
index- индекс параметра для получения - Возвращает:
- объект
Object, представляющий параметр в указанном индексе в спискеparametersVector.
получитьБайтовыйПараметр
public byte getByteParameter(int index)
null или не является Byte.- Параметры:
-
index- индекс параметра для возвращения. - Возвращает:
- параметр в указанном индексе как значение
byte. - Исключения:
-
ClassCastException- если параметр в указанном индексе не являетсяByte -
NullPointerException- если параметр в указанном индексеnull -
ArrayIndexOutOfBoundsException- еслиindexотрицательно или не меньше текущего размера этого объектаParameterBlock
получитьСимвольныйПараметр
public char getCharParameter(int index)
null или не является Character.- Параметры:
-
index- индекс параметра для возвращения. - Возвращает:
- параметр в указанном индексе как значение
char. - Исключения:
-
ClassCastException- если параметр в указанном индексе не являетсяCharacter -
NullPointerException- если параметр в указанном индексеnull -
ArrayIndexOutOfBoundsException- еслиindexотрицательно или не меньше текущего размера этого объектаParameterBlock
получитьКороткоеЦелоеПараметр
public short getShortParameter(int index)
null или не является Short.- Параметры:
-
index- индекс параметра для возвращения. - Возвращает:
- параметр в указанном индексе как значение
short. - Исключения:
-
ClassCastException- если параметр в указанном индексе не являетсяShort -
NullPointerException- если параметр в указанном индексеnull -
ArrayIndexOutOfBoundsException- еслиindexотрицательно или не меньше текущего размера этого объектаParameterBlock
получитьЦелоеПараметр
public int getIntParameter(int index)
null или не является Integer.- Параметры:
-
index- индекс параметра для возвращения. - Возвращает:
- параметр в указанном индексе как значение
int. - Исключения:
-
ClassCastException- если параметр в указанном индексе не являетсяInteger -
NullPointerException- если параметр в указанном индексеnull -
ArrayIndexOutOfBoundsException- еслиindexотрицательно или не меньше текущего размера этого объектаParameterBlock
getLongParameter
public long getLongParameter(int index)
null или не является Long.- Параметры:
-
index- индекс возвращаемого параметра. - Возвращает:
- параметр по указанному индексу как значение типа
long. - Исключения:
-
ClassCastException- если параметр по указанному индексу не являетсяLong -
NullPointerException- если параметр по указанному индексу являетсяnull -
ArrayIndexOutOfBoundsException- еслиindexотрицательно или не меньше текущего размера этого объектаParameterBlock
getFloatParameter
public float getFloatParameter(int index)
null или не является Float.- Параметры:
-
index- индекс возвращаемого параметра. - Возвращает:
- параметр по указанному индексу как значение типа
float. - Исключения:
-
ClassCastException- если параметр по указанному индексу не являетсяFloat -
NullPointerException- если параметр по указанному индексу являетсяnull -
ArrayIndexOutOfBoundsException- еслиindexотрицательно или не меньше текущего размера этого объектаParameterBlock
getDoubleParameter
public double getDoubleParameter(int index)
null или не является Double.- Параметры:
-
index- индекс возвращаемого параметра. - Возвращает:
- параметр по указанному индексу как значение типа
double. - Исключения:
-
ClassCastException- если параметр по указанному индексу не являетсяDouble -
NullPointerException- если параметр по указанному индексу являетсяnull -
ArrayIndexOutOfBoundsException- еслиindexотрицательно или не меньше текущего размера этого объектаParameterBlock
getParamClasses
public Class<?>[] getParamClasses()
- Возвращает:
- массив объектов
Class.
© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/image/renderable/ParameterBlock.html