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