javax.media.jai
Class EnumeratedParameter
java.lang.Object
|
+--javax.media.jai.EnumeratedParameter
- All Implemented Interfaces:
- Serializable
- Direct Known Subclasses:
- CompositeDestAlpha, DFTDataNature, DFTScalingType, MaxFilterShape, MedianFilterShape, MinFilterShape, ShearDir, TransposeType
- public class EnumeratedParameter
- extends Object
- implements Serializable
This class provides a mechanism by which enumerated parameters may be
added to subclasses of OperationDescriptorImpl
while
retaining the ability to perform introspection on the allowable range of
values of the enumeration. An example of an enumerated parameter is the
type parameter of the "Transpose" operation which is defined in
TransposeDescriptor
to accept only the values defined by the
FLIP_*
and ROTATE_*
fields of the descriptor.
This class may be used to create enumerated parameters in an
OperationDescriptor
as follows:
- For each constrained-value parameter create a final class extending
EnumeratedParameter
. This class should consist of only a
package private constructor with a single String
parameter
called name and a single statement invoking the superclass
constructor with name as the parameter.
- Define the class of the parameter in question to be the
subclass of
EnumeratedParameter
which was created for it in
in the previous step.
- For each possible value of the parameter, define in the
OperationDescriptor
of the operator a public static final
field of type equal to the class defined in the first step. Each field
should be assigned an instance of the subclass defined in the first step.
The name and value
used for each of these
EnumeratedParameter
subclass instances should be distinct
for each distinct field or an error will occur.
With respect to TransposeDescriptor
, the three steps above
would be to 1) create a final class TransposeType
in the
javax.media.jai.operator
package; 2) define the
type of the "type" parameter as TransposeType.class
; and
3) define a static final field of class TransposeType
for
each of the enumerated values with each field being initialized to an
instance of TransposeType
with name equal to the name
of the field and value to its integral (enumerated) value.
- Since:
- JAI 1.1
- See Also:
OperationDescriptorImpl
,
TransposeDescriptor
, Serialized Form
Constructor Summary |
EnumeratedParameter(String name,
int value)
Constructs an EnumeratedParameter with the indicated name
and value. |
Method Summary |
boolean |
equals(Object o)
Returns true if and only if the parameter is an instance
of the class on which this method is invoked and has either the same
name or the same value. |
String |
getName()
Returns the name assigned to this EnumeratedParameter
when it was constructed. |
int |
getValue()
Returns the value assigned to this EnumeratedParameter
when it was constructed. |
String |
toString()
Returns a String representation of this
EnumeratedParameter as a concatentation of the form
|
EnumeratedParameter
public EnumeratedParameter(String name,
int value)
- Constructs an
EnumeratedParameter
with the indicated name
and value.
getName
public String getName()
- Returns the name assigned to this
EnumeratedParameter
when it was constructed.
getValue
public int getValue()
- Returns the value assigned to this
EnumeratedParameter
when it was constructed.
equals
public boolean equals(Object o)
- Returns
true
if and only if the parameter is an instance
of the class on which this method is invoked and has either the same
name or the same value.
- Overrides:
- equals in class Object
toString
public String toString()
- Returns a
String
representation of this
EnumeratedParameter
as a concatentation of the form
[class name]:[parameter name]=[parameter value]
For example, for an instance of a subclass
org.foobar.jai.EnumParam
with name "SomeValue" and
value "2" the returned String
would be
org.foobar.jai.EnumParam:SomeValue=2
- Overrides:
- toString in class Object