Класс 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. |
Методы, объявленные в классе Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Показывает, равен ли другой объект этому объекту. |
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 |
Переводит текущий поток в режим ожидания до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Переводит текущий поток в режим ожидания до его пробуждения, обычно в результате вызова 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. Изменения самих общих источников или параметров по-прежнему будут видны.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.