Class TLcdVisibilityDescriptor
Describes how special visibility values should be interpreted. It maps double
visibility values to TLcdVisibilityInterpretation
s and vice versa.
-
Constructor Summary
ModifierConstructorDescriptionprotected
Creates an visibility descriptor with an empty special value mapping.TLcdVisibilityDescriptor
(Map<Double, TLcdVisibilityInterpretation> aSpecialValueMap) Creates an visibility descriptor with the specified map. -
Method Summary
Modifier and TypeMethodDescriptionstatic TLcdVisibilityDescriptor
Returns the default visibility descriptor with the default mapping.double
getSpecialValue
(TLcdVisibilityInterpretation aInterpretation) Returns a special value for the specified interpretation.getSpecialValueInterpretation
(double aSpecialValue) Returns an interpretation for the specified special value.Returns the mapping between special visibility values and visibility interpretations.boolean
isSpecialValue
(double aValue) Determines whether the specified visibility value is special or not.
-
Constructor Details
-
TLcdVisibilityDescriptor
protected TLcdVisibilityDescriptor()Creates an visibility descriptor with an empty special value mapping. -
TLcdVisibilityDescriptor
Creates an visibility descriptor with the specified map. The mapping is required to use keys of type
Double
and values of typeTLcdVisibilityInterpretation
.Note that the map is converted to an unmodifiable map to keep the instance immutable.
- Parameters:
aSpecialValueMap
- the special value mapping to be used by this instance.
-
-
Method Details
-
getDefaultInstance
Returns the default visibility descriptor with the default mapping. The table below shows the default mapping:
special visibility value interpretation Integer.MIN_VALUE + 1 INVISIBLE Integer.MIN_VALUE + 2 UNCERTAIN Integer.MIN_VALUE + 3 VISIBLE Integer.MIN_VALUE + 4 CONE_OF_SILENCE Integer.MIN_VALUE + 5 OUTSIDE_SHAPE Integer.MIN_VALUE + 6 NOT_COMPUTED Note that the special value interval
[ Integer.MIN_VALUE + 1, Integer.MIN_VALUE + 100 ]
is reserved for future use.When a special visibility value is required, it is recommended to use the visibility interpretation instead of copying the above values. A visibility descriptor maps the interpretation on a special visibility value.
- Returns:
- the default visibility descriptor with the default mapping.
-
getSpecialValueMappingAsMap
Returns the mapping between special visibility values and visibility interpretations. The keys of this map are
Double
s and represent the special value. The values of this map areTLcdVisibilityInterpretation
s.Note that the returned map is unmodifiable. Attempts to modify the map, whether direct or via its collection views, result in an
UnsupportedOperationException
.- Returns:
- the mapping between special visibility values and visibility interpretations.
-
isSpecialValue
public boolean isSpecialValue(double aValue) Determines whether the specified visibility value is special or not. A value is special if aTLcdVisibilityInterpretation
is found for that value.- Parameters:
aValue
- The visibility value to check.- Returns:
true
if the value is special,false
otherwise.
-
getSpecialValue
Returns a special value for the specified interpretation.
Note that an
IllegalArgumentException
is thrown if this descriptor does not know how to map the specified interpretation.- Parameters:
aInterpretation
- The interpretation to map.- Returns:
- a special value for the specified interpretation.
- Throws:
IllegalArgumentException
- if this descriptor does not know how to map the specified interpretation.
-
getSpecialValueInterpretation
Returns an interpretation for the specified special value.
Note that the specified value is required to be special according to the method
isSpecialValue(double)
, otherwise anIllegalArgumentException
will be thrown.- Parameters:
aSpecialValue
- The special value to map.- Returns:
- an interpretation for the specified special value.
- Throws:
IllegalArgumentException
- if the specified value is not special.
-