Класс 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 |
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 |
Возвращает источник в виде объекта Object общего назначения. |
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— byte для добавления вparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(char c)
- Параметры:
-
c— char для добавления вparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(short s)
- Параметры:
-
s— short для добавления вparameters Vector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(int i)
- Параметры:
-
i— int для добавления в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, 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/image/renderable/ParameterBlock.html