Класс 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(new Short(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<Object> |
parameters |
Вектор параметров, не являющихся источниками, хранящихся в виде произвольных объектов. |
protected Vector<Object> |
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 |
Удобный метод для возвращения параметра как значения типа byte. |
char |
getCharParameter |
Удобный метод для возвращения параметра как значения типа char. |
double |
getDoubleParameter |
Удобный метод для возвращения параметра как значения типа double. |
float |
getFloatParameter |
Удобный метод для возвращения параметра как значения типа float. |
int |
getIntParameter |
Удобный метод для возвращения параметра как значения типа int. |
long |
getLongParameter |
Удобный метод для возвращения параметра как значения типа long. |
int |
getNumParameters() |
Возвращает количество параметров (без учёта источников изображений). |
int |
getNumSources() |
Возвращает количество источников изображений. |
Object |
getObjectParameter |
Возвращает параметр как объект. |
Class<?>[] |
getParamClasses() |
Возвращает массив объектов Class, описывающих типы параметров. |
Vector<Object> |
getParameters() |
Возвращает весь вектор параметров. |
RenderableImage |
getRenderableSource |
Возвращает источник как RenderableImage. |
RenderedImage |
getRenderedSource |
Возвращает источник как RenderedImage. |
short |
getShortParameter |
Удобный метод для возвращения параметра как значения типа short. |
Object |
getSource |
Возвращает источник как общий объект. |
Vector<Object> |
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- вектор изображений-источников
ParameterBlock
public ParameterBlock(Vector<Object> sources, Vector<Object> parameters)
ParameterBlock с заданным вектором источников и вектором параметров.- Параметры:
-
sources- вектор изображений-источников -
parameters- вектор параметров, используемых в операции рендеринга
Подробное описание методов
shallowClone
public Object shallowClone()
ParameterBlock. Векторы источников и параметров копируются по ссылке — изменения в одной копии будут видны в другой.- Возвращает:
- объектную копию
ParameterBlock.
clone
public Object clone()
ParameterBlock. Векторы источников и параметров клонируются, но сами источники и параметры копируются по ссылке. Это позволяет изменять порядок и количество источников и параметров в копии без изменения оригинала ParameterBlock. Изменения общих источников или параметров всё равно будут видны.- Переопределяет:
-
cloneв классеObject - Возвращает:
- объектную копию
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- вектор изображений-источников - См. также:
removeSources
public void removeSources()
getNumParameters
public int getNumParameters()
- Возвращает:
- количество параметров в векторе
parametersVector.
getParameters
public Vector<Object> getParameters()
- Возвращает:
- вектор
parameters Vector. - См. также:
setParameters
public void setParameters(Vector<Object> parameters)
- Параметры:
-
parameters- указанный вектор параметров - См. также:
removeParameters
public void removeParameters()
add
public ParameterBlock add(Object obj)
- Параметры:
-
obj- параметр, который нужно добавить в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- short, который нужно добавить вparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(int i)
- Параметры:
-
i- целое число, которое нужно добавить вparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(long l)
- Параметры:
-
l- long, который нужно добавить вparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(float f)
- Параметры:
-
f- float, который нужно добавить вparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(double d)
- Параметры:
-
d- double, который нужно добавить вparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
set
public ParameterBlock set(Object obj, int index)
- Параметры:
-
obj- параметр, который заменяет параметр в указанном индексе вparameters Vector -
index- индекс параметра, который будет заменён указанным параметром - Возвращает:
- новый
ParameterBlockсодержащий указанный параметр.
set
public ParameterBlock set(byte b, int index)
- Параметры:
-
b- параметр, который заменяет параметр в указанном индексе вparameters Vector -
index- индекс параметра, который будет заменён указанным параметром - Возвращает:
- новый
ParameterBlockсодержащий указанный параметр.
set
public ParameterBlock set(char c, int index)
- Параметры:
-
c- параметр, который заменяет параметр в указанном индексе вparameters Vector -
index- индекс параметра, который будет заменён указанным параметром - Возвращает:
- новый
ParameterBlockсодержащий указанный параметр.
set
public ParameterBlock set(short s, int index)
- Параметры:
-
s- параметр, который заменяет параметр в указанном индексе вparameters Vector -
index- индекс параметра, который будет заменён указанным параметром - Возвращает:
- новый
ParameterBlockсодержащий указанный параметр.
set
public ParameterBlock set(int i, int index)
- Параметры:
-
i- параметр, который заменяет параметр в указанном индексе вparameters Vector -
index- индекс параметра, который будет заменён указанным параметром - Возвращает:
- новый
ParameterBlockсодержащий указанный параметр.
set
public ParameterBlock set(long l, int index)
- Параметры:
-
l- параметр, который заменяет параметр в указанном индексе вparameters Vector -
index- индекс параметра, который будет заменён указанным параметром - Возвращает:
- новый
ParameterBlockсодержащий указанный параметр.
set
public ParameterBlock set(float f, int index)
- Параметры:
-
f- параметр, который заменяет параметр в указанном индексе вparameters Vector -
index- индекс параметра, который будет заменён указанным параметром - Возвращает:
- новый
ParameterBlockсодержащий указанный параметр.
set
public ParameterBlock set(double d, int index)
- Параметры:
-
d- параметр, который заменяет параметр в указанном индексе вparameters Vector -
index- индекс параметра, который будет заменён указанным параметром - Возвращает:
- новый
ParameterBlockсодержащий указанный параметр.
getObjectParameter
public Object getObjectParameter(int index)
- Параметры:
-
index- индекс параметра для получения - Возвращает:
- объект
Objectпредставляющий параметр в указанном индексе вparametersVector.
getByteParameter
public byte getByteParameter(int index)
null или не является Byte.- Параметры:
-
index- индекс параметра, который нужно вернуть. - Возвращает:
- параметр в указанном индексе как значение типа
byte. - Исключения:
-
ClassCastException- если параметр в указанном индексе не являетсяByte -
NullPointerException- если параметр в указанном индексеnull -
ArrayIndexOutOfBoundsException- еслиindexотрицательное или не меньше текущего размера этого объектаParameterBlock
getCharParameter
public char getCharParameter(int index)
null или не является Character.- Параметры:
-
index- индекс параметра, который нужно вернуть. - Возвращает:
- параметр в указанном индексе как значение типа
char. - Исключения:
-
ClassCastException- если параметр в указанном индексе не являетсяCharacter -
NullPointerException- если параметр в указанном индексеnull -
ArrayIndexOutOfBoundsException- еслиindexотрицательное или не меньше текущего размера этого объектаParameterBlock
getShortParameter
public short getShortParameter(int index)
null или не является Short.- Параметры:
-
index- индекс параметра, который нужно вернуть. - Возвращает:
- параметр в указанном индексе как значение типа
short. - Исключения:
-
ClassCastException- если параметр в указанном индексе не являетсяShort -
NullPointerException- если параметр в указанном индексеnull -
ArrayIndexOutOfBoundsException- еслиindexотрицательное или не меньше текущего размера этого объектаParameterBlock
getIntParameter
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, 2021, 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://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/java/awt/image/renderable/ParameterBlock.html