Класс 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 являются объектами; доступны удобные методы добавления и установки параметров, принимающие аргументы базового типа и создающие соответствующий подкласс 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(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(Object obj) Добавляет объект в список параметров. |
ParameterBlock |
add(short s) Добавляет значение типа Short в список параметров. |
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(Object obj,
int index) Заменяет объект в списке параметров. |
ParameterBlock |
set(short s,
int index) Заменяет объект в списке параметров значением типа Short. |
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-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(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, представляющий исходное изображение, которое находится по указанному индексу вsourcesVector.
getRenderableSource
public RenderableImage getRenderableSource(int index)
Возвращает источник как RenderableImage. Этот метод является вспомогательным. Если источник не является RenderableImage, будет выброшено исключение.
- Параметры:
-
index— индекс возвращаемого источника - Возвращает:
RenderableImage, представляющий исходное изображение, которое находится по указанному индексу вsourcesVector.
getNumSources
public int getNumSources()
Возвращает количество исходных изображений.
- Возвращает:
- количество исходных изображений в
sourcesVector.
getSources
public Vector<Object> getSources()
Возвращает весь вектор источников.
- Возвращает:
sourcesVector.- См. также:
setSources(Vector)
setSources
public void setSources(Vector<Object> sources)
Устанавливает весь вектор источников в заданный вектор.
- Параметры:
-
sources—Vectorисходных изображений - См. также:
getSources()
removeSources
public void removeSources()
Очищает список исходных изображений.
getNumParameters
public int getNumParameters()
Возвращает количество параметров (не включая исходные изображения).
- Возвращает:
- количество параметров в
parametersVector.
getParameters
public Vector<Object> getParameters()
Возвращает весь вектор параметров.
- Возвращает:
parametersVector.- См. также:
setParameters(Vector)
setParameters
public void setParameters(Vector<Object> parameters)
Устанавливает весь вектор параметров в заданный вектор.
- Параметры:
-
parameters— указанныйVectorпараметров - См. также:
getParameters()
removeParameters
public void removeParameters()
Очищает список параметров.
add
public ParameterBlock add(Object obj)
Добавляет объект в список параметров.
- Параметры:
-
obj—Object, который нужно добавить вparametersVector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(byte b)
Добавляет байт в список параметров.
- Параметры:
-
b— байт, который нужно добавить вparametersVector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(char c)
Добавляет символ в список параметров.
- Параметры:
-
c— символ, который нужно добавить вparametersVector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(short s)
Добавляет короткое целое число в список параметров.
- Параметры:
-
s— короткое целое число, которое нужно добавить вparametersVector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(int i)
Добавляет целое число в список параметров.
- Параметры:
-
i— целое число, которое нужно добавить вparametersVector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(long l)
Добавляет длинное целое число в список параметров.
- Параметры:
-
l— длинное целое число, которое нужно добавить вparametersVector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(float f)
Добавляет число с плавающей точкой в список параметров.
- Параметры:
-
f— число с плавающей точкой, которое нужно добавить вparametersVector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
add
public ParameterBlock add(double d)
Добавляет число с двойной точностью в список параметров.
- Параметры:
-
d— число с двойной точностью, которое нужно добавить вparametersVector - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
set
public ParameterBlock set(Object obj,
int index) Заменяет объект в списке параметров. Если индекс выходит за пределы текущего списка источников, список расширяется нулями по мере необходимости.
- Параметры:
-
obj— параметр, который заменяет параметр по указанному индексу вparametersVector -
index— индекс параметра, который нужно заменить указанным параметром - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
set
public ParameterBlock set(byte b,
int index) Заменяет объект в списке параметров байтом. Если индекс выходит за пределы текущего списка источников, список расширяется нулями по мере необходимости.
- Параметры:
-
b— параметр, который заменяет параметр по указанному индексу вparametersVector -
index— индекс параметра, который нужно заменить указанным параметром - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
set
public ParameterBlock set(char c,
int index) Заменяет объект в списке параметров символом. Если индекс выходит за пределы текущего списка источников, список расширяется нулями по мере необходимости.
- Параметры:
-
c— параметр, который заменяет параметр по указанному индексу вparametersVector -
index— индекс параметра, который нужно заменить указанным параметром - Возвращает:
- новый
ParameterBlock, содержащий указанный параметр.
set
public ParameterBlock set(short s,
int index) Заменяет Объект в списке параметров на Short. Если индекс выходит за пределы текущего списка источников, список расширяется нулями по мере необходимости.
- Parameters:
-
s- параметр, который заменяет параметр в указанном индексе вparametersVector -
index- индекс параметра, который нужно заменить указанным параметром - Returns:
- новый
ParameterBlock, содержащий указанный параметр.
set
public ParameterBlock set(int i,
int index) Заменяет Объект в списке параметров на Integer. Если индекс выходит за пределы текущего списка источников, список расширяется нулями по мере необходимости.
- Parameters:
-
i- параметр, который заменяет параметр в указанном индексе вparametersVector -
index- индекс параметра, который нужно заменить указанным параметром - Returns:
- новый
ParameterBlock, содержащий указанный параметр.
set
public ParameterBlock set(long l,
int index) Заменяет Объект в списке параметров на Long. Если индекс выходит за пределы текущего списка источников, список расширяется нулями по мере необходимости.
- Parameters:
-
l- параметр, который заменяет параметр в указанном индексе вparametersVector -
index- индекс параметра, который нужно заменить указанным параметром - Returns:
- новый
ParameterBlock, содержащий указанный параметр.
set
public ParameterBlock set(float f,
int index) Заменяет Объект в списке параметров на Float. Если индекс выходит за пределы текущего списка источников, список расширяется нулями по мере необходимости.
- Parameters:
-
f- параметр, который заменяет параметр в указанном индексе вparametersVector -
index- индекс параметра, который нужно заменить указанным параметром - Returns:
- новый
ParameterBlock, содержащий указанный параметр.
set
public ParameterBlock set(double d,
int index) Заменяет Объект в списке параметров на Double. Если индекс выходит за пределы текущего списка источников, список расширяется нулями по мере необходимости.
- Parameters:
-
d- параметр, который заменяет параметр в указанном индексе вparametersVector -
index- индекс параметра, который нужно заменить указанным параметром - Returns:
- новый
ParameterBlock, содержащий указанный параметр.
getObjectParameter
public Object getObjectParameter(int index)
Получает параметр как объект.
- Parameters:
-
index- индекс параметра для получения - Returns:
- Объект, представляющий параметр по указанному индексу в
parametersVector.
getByteParameter
public byte getByteParameter(int index)
Удобный метод для возвращения параметра как байта. Исключение генерируется, если параметр null или не является Byte.
- Parameters:
-
index- индекс параметра, который нужно вернуть. - Returns:
- параметр по указанному индексу как значение
byte. - Throws:
-
ClassCastException- если параметр по указанному индексу не являетсяByte -
NullPointerException- если параметр по указанному индексуnull -
ArrayIndexOutOfBoundsException- еслиindexотрицательно или не меньше текущего размера этого объектаParameterBlock
getCharParameter
public char getCharParameter(int index)
Удобный метод для возвращения параметра как символа. Исключение генерируется, если параметр null или не является Character.
- Parameters:
-
index- индекс параметра, который нужно вернуть. - Returns:
- параметр по указанному индексу как значение
char. - Throws:
-
ClassCastException- если параметр по указанному индексу не являетсяCharacter -
NullPointerException- если параметр по указанному индексуnull -
ArrayIndexOutOfBoundsException- еслиindexотрицательно или не меньше текущего размера этого объектаParameterBlock
getShortParameter
public short getShortParameter(int index)
Удобный метод для возвращения параметра как короткого целого. Исключение генерируется, если параметр null или не является Short.
- Parameters:
-
index- индекс параметра, который нужно вернуть. - Returns:
- параметр по указанному индексу как значение
short. - Throws:
-
ClassCastException- если параметр по указанному индексу не являетсяShort -
NullPointerException- если параметр по указанному индексуnull -
ArrayIndexOutOfBoundsException- еслиindexотрицательно или не меньше текущего размера этого объектаParameterBlock
getIntParameter
public int getIntParameter(int index)
Удобный метод для возвращения параметра как целого числа. Исключение генерируется, если параметр null или не является Integer.
- Parameters:
-
index- индекс параметра, который нужно вернуть. - Returns:
- параметр по указанному индексу как значение
int. - Throws:
-
ClassCastException- если параметр по указанному индексу не являетсяInteger -
NullPointerException- если параметр по указанному индексуnull -
ArrayIndexOutOfBoundsException- еслиindexотрицательно или не меньше текущего размера этого объектаParameterBlock
getLongParameter
public long getLongParameter(int index)
Удобный метод для возвращения параметра как длинного целого. Исключение генерируется, если параметр null или не является Long.
- Parameters:
-
index- индекс параметра, который нужно вернуть. - Returns:
- параметр по указанному индексу как значение
long. - Throws:
-
ClassCastException- если параметр по указанному индексу не являетсяLong -
NullPointerException- если параметр по указанному индексуnull -
ArrayIndexOutOfBoundsException- еслиindexотрицательно или не меньше текущего размера этого объектаParameterBlock
getFloatParameter
public float getFloatParameter(int index)
Удобный метод для возвращения параметра как числа с плавающей точкой. Исключение генерируется, если параметр null или не является Float.
- Parameters:
-
index- индекс параметра, который нужно вернуть. - Returns:
- параметр по указанному индексу как значение
float. - Throws:
-
ClassCastException- если параметр по указанному индексу не являетсяFloat -
NullPointerException- если параметр по указанному индексуnull -
ArrayIndexOutOfBoundsException- еслиindexотрицательно или не меньше текущего размера этого объектаParameterBlock
getDoubleParameter
public double getDoubleParameter(int index)
Удобный метод для возвращения параметра как двойного числа с плавающей точкой. Исключение генерируется, если параметр null или не является Double.
- Parameters:
-
index- индекс параметра, который нужно вернуть. - Returns:
- параметр по указанному индексу как значение
double. - Throws:
-
ClassCastException- если параметр по указанному индексу не являетсяDouble -
NullPointerException- если параметр по указанному индексуnull -
ArrayIndexOutOfBoundsException- еслиindexотрицательно или не меньше текущего размера этого объектаParameterBlock
getParamClasses
public Class[] getParamClasses()
Возвращает массив объектов Class, описывающих типы параметров.
- Returns:
- массив объектов
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.