Класс 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 с заданным вектором источников.

ParameterBlock​(Vector<Object> sources, Vector<Object> parameters)

Создаёт ParameterBlock с заданным вектором источников и вектором параметров.

Краткое описание методов

Модификатор и тип Метод Описание
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()

Создаёт копию ParameterBlock.

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)

Возвращает источник как RenderedImage.

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()

Создаёт поверхностную копию ParameterBlock.

Методы, унаследованные от класса 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, представляющий источник, расположенный по указанному индексу в списке sources Vector.
См. также:
setSource(Object, int)

setSource

public ParameterBlock setSource(Object source,
                                int index)

Заменяет элемент в списке источников новым источником. Если индекс выходит за пределы текущего списка источников, список расширяется нулями по мере необходимости.

Параметры:
source - указанное изображение источника
index - индекс в списке sources Vector, в котором нужно вставить указанный 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()

Возвращает количество изображений источников.

Возвращает:
количество изображений источников в sources Vector.

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()

Возвращает количество параметров (не включая изображения источников).

Возвращает:
количество параметров в parameters Vector.

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, представляющий параметр в указанном индексе в parameters Vector.

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

Spec-Zone .ru
спецификации, руководства, описания, API