Класс ParameterBlock
- Все реализованные интерфейсы:
-
Serializable,Cloneable
public class ParameterBlock extends Object implements Cloneable, Serializable
ParameterBlock инкапсулирует всю информацию о источниках и параметрах (объектах), необходимых для RenderableImageOp или других классов, обрабатывающих изображения. Хотя в вектор источников можно поместить произвольные объекты, пользователи этого класса могут наложить семантические ограничения, например, потребовать, чтобы все источники были RenderedImages или 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 |
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 |
Удобный метод для возвращения параметра как значения типа 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 |
getParameters() |
Возвращает весь вектор параметров. |
RenderableImage |
getRenderableSource |
Возвращает источник как RenderableImage. |
RenderedImage |
getRenderedSource |
Возвращает источник как RenderedImage. |
short |
getShortParameter |
Удобный метод для возвращения параметра как значения типа short. |
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. |
Подробное описание полей
источники
protected Vector<Object> sources
параметры
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- длинное целое число, которое нужно добавить в векторparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(float f)
- Параметры:
-
f- число с плавающей точкой, которое нужно добавить в векторparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(double d)
- Параметры:
-
d- число с двойной точностью, которое нужно добавить в вектор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, 2023, 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/21/docs/api/java.desktop/java/awt/image/renderable/ParameterBlock.html