Package org.geotools.util
Class Classes
- Object
-
- Classes
-
-
Field Summary
Fields Modifier and Type Field Description static byte
BOOLEAN
Constants to be used inswitch
statements.static byte
BYTE
Constants to be used inswitch
statements.static byte
CHARACTER
Constants to be used inswitch
statements.static byte
DOUBLE
Constants to be used inswitch
statements.static byte
FLOAT
Constants to be used inswitch
statements.static byte
INTEGER
Constants to be used inswitch
statements.static byte
LONG
Constants to be used inswitch
statements.static byte
OTHER
Constants to be used inswitch
statements.static byte
SHORT
Constants to be used inswitch
statements.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Class<?>
boundOfParameterizedAttribute(Field field)
Returns the upper bounds of the parameterized type of the given attribute.static Class<?>
boundOfParameterizedAttribute(Method method)
If the given method is a getter or a setter for a parameterized attribute, returns the upper bounds of the parameterized type.static Class<?>
commonClass(Collection<?> objects)
Returns the most specific class which is a common parent of all specified objects.static int
getBitCount(Class<?> type)
Returns the number of bits used by number of the specified type.static <T> Class<? extends T>
getClass(T object)
Returns the class of the specified object, ornull
ifobject
is null.static byte
getEnumConstant(Class<?> type)
static String
getShortClassName(Object object)
Returns a short class name for the specified object.static String
getShortName(Class<?> classe)
Returns a short class name for the specified class.static boolean
isFloat(Class<?> type)
Returnstrue
if the giventype
is a floating point type.static boolean
isInteger(Class<?> type)
Returnstrue
if the giventype
is an integer type.static Class<?>
primitiveToWrapper(Class<?> type)
Changes a primitive class to its wrapper (e.g.static <T> boolean
sameInterfaces(Class<? extends T> object1, Class<? extends T> object2, Class<T> base)
Returnstrue
if the two specified objects implements exactly the same set of interfaces.static Class<?>
specializedClass(Collection<?> objects)
Returns the most specific class implemented by the objects in the given collection.static <T> T
valueOf(Class<T> type, String value)
Converts the specified string into a value object.static Class<?>
wrapperToPrimitive(Class<?> type)
Changes a wrapper class to its primitive (e.g.
-
-
-
Field Detail
-
DOUBLE
public static final byte DOUBLE
Constants to be used inswitch
statements.- See Also:
- Constant Field Values
-
FLOAT
public static final byte FLOAT
Constants to be used inswitch
statements.- See Also:
- Constant Field Values
-
LONG
public static final byte LONG
Constants to be used inswitch
statements.- See Also:
- Constant Field Values
-
INTEGER
public static final byte INTEGER
Constants to be used inswitch
statements.- See Also:
- Constant Field Values
-
SHORT
public static final byte SHORT
Constants to be used inswitch
statements.- See Also:
- Constant Field Values
-
BYTE
public static final byte BYTE
Constants to be used inswitch
statements.- See Also:
- Constant Field Values
-
CHARACTER
public static final byte CHARACTER
Constants to be used inswitch
statements.- See Also:
- Constant Field Values
-
BOOLEAN
public static final byte BOOLEAN
Constants to be used inswitch
statements.- See Also:
- Constant Field Values
-
OTHER
public static final byte OTHER
Constants to be used inswitch
statements.- See Also:
- Constant Field Values
-
-
Method Detail
-
boundOfParameterizedAttribute
public static Class<?> boundOfParameterizedAttribute(Field field)
Returns the upper bounds of the parameterized type of the given attribute. If the attribute does not have a parameterized type, returnsnull
.This method is typically used for fetching the type of elements in a collection. We do not provide a method working from a
Class
instance because of the way parameterized types are implemented in Java (by erasure).Examples: When invoking this method for a field of the type below:
Set<Number>
returnsNumber.class
.Set<? extends Number>
returnsNumber.class
as well, since that collection can not (in theory) contain instances of super-classes;Number
is the upper bound.Set<? super Number>
returnsObject.class
, because that collection is allowed to contain such elements.Set
returnsnull
because that collection is un-parameterized.
- Parameters:
field
- The field for which to obtain the parameterized type.- Returns:
- The upper bound of parameterized type, or
null
if the given field is not of a parameterized type.
-
boundOfParameterizedAttribute
public static Class<?> boundOfParameterizedAttribute(Method method)
If the given method is a getter or a setter for a parameterized attribute, returns the upper bounds of the parameterized type. Otherwise returnsnull
. This method provides the same semantic thanboundOfParameterizedAttribute(Field)
, but works on a getter or setter method rather then the field. See the javadoc of above methods for more details.This method is typically used for fetching the type of elements in a collection. We do not provide a method working from a
Class
instance because of the way parameterized types are implemented in Java (by erasure).- Parameters:
method
- The getter or setter method for which to obtain the parameterized type.- Returns:
- The upper bound of parameterized type, or
null
if the given method do not opperate on an object of a parameterized type.
-
getClass
public static <T> Class<? extends T> getClass(T object)
Returns the class of the specified object, ornull
ifobject
is null. This method is also useful for fetching the class of an object known only by its bound type. As of Java 6, the usual pattern:Number n = 0; Class extends Number> c = n.getClass();
Number
is replaced by a parametirez typeT
.- Type Parameters:
T
- The type of the given object.- Parameters:
object
- The object for which to get the class, ornull
.- Returns:
- The class of the given object, or
null
if the given object was null.
-
specializedClass
public static Class<?> specializedClass(Collection<?> objects)
Returns the most specific class implemented by the objects in the given collection. If no class are assignable to all others, then this method returns the most specific common super class.- Parameters:
objects
- A collection of objects. May contains duplicated values and null values.- Returns:
- The most specific class.
-
commonClass
public static Class<?> commonClass(Collection<?> objects)
Returns the most specific class which is a common parent of all specified objects.- Parameters:
objects
- A collection of objects. May contains duplicated values and null values.- Returns:
- The most specific class common to all supplied objects.
-
sameInterfaces
public static <T> boolean sameInterfaces(Class<? extends T> object1, Class<? extends T> object2, Class<T> base)
Returnstrue
if the two specified objects implements exactly the same set of interfaces. Only interfaces assignable tobase
are compared. Declaration order doesn't matter. For example in ISO 19111, different interfaces exist for different coordinate system geometries (CartesianCS
,PolarCS
, etc.). We can check if two CS implementations has the same geometry with the following code:if (sameInterfaces(cs1, cs2, CoordinateSystem.class))
- Type Parameters:
T
- A common parent for both objects.- Parameters:
object1
- The first object to check for interfaces.object2
- The second object to check for interfaces.base
- The parent of all interfaces to check.- Returns:
true
if both objects implement the same set of interfaces, considering only sub-interfaces ofbase
.
-
isFloat
public static boolean isFloat(Class<?> type)
Returnstrue
if the giventype
is a floating point type.
-
isInteger
public static boolean isInteger(Class<?> type)
Returnstrue
if the giventype
is an integer type.
-
getBitCount
public static int getBitCount(Class<?> type)
Returns the number of bits used by number of the specified type.- Parameters:
type
- The type (may benull
).- Returns:
- The number of bits, or 0 if unknow.
-
primitiveToWrapper
public static Class<?> primitiveToWrapper(Class<?> type)
Changes a primitive class to its wrapper (e.g.int
toInteger
). If the specified class is not a primitive type, then it is returned unchanged.- Parameters:
type
- The primitive type (may benull
).- Returns:
- The type as a wrapper.
-
wrapperToPrimitive
public static Class<?> wrapperToPrimitive(Class<?> type)
Changes a wrapper class to its primitive (e.g.Integer
toint
). If the specified class is not a wrapper type, then it is returned unchanged.- Parameters:
type
- The wrapper type (may benull
).- Returns:
- The type as a primitive.
-
getEnumConstant
public static byte getEnumConstant(Class<?> type)
Returns one ofDOUBLE
,FLOAT
,LONG
,INTEGER
,SHORT
,BYTE
,CHARACTER
,BOOLEAN
orOTHER
constants for the given type. This is a commodity for usage inswitch
statememnts.- Parameters:
type
- A type (usually either a primitive type or its wrapper).- Returns:
- The constant for the given type, or
OTHER
if unknow.
-
valueOf
public static <T> T valueOf(Class<T> type, String value) throws IllegalArgumentException, NumberFormatException
Converts the specified string into a value object. The value object can be an instance ofDouble
,Float
,Long
,Integer
,Short
,Byte
,Boolean
,Character
orString
according the specified type. This method is intentionnaly restricted to primitive types, with the addition ofString
which can be though as an identity operation. Other types likeFile
are not the purpose of this method.- Type Parameters:
T
- The requested type.- Parameters:
type
- The requested type.value
- the value to parse.- Returns:
- The value object, or
null
ifvalue
was null. - Throws:
IllegalArgumentException
- iftype
is not a recognized type.NumberFormatException
- iftype
is a subclass ofNumber
and the string value is not parseable as a number of the specified type.
-
getShortName
public static String getShortName(Class<?> classe)
Returns a short class name for the specified class. This method will omit the package name. For example, it will return "String" instead of "java.lang.String" for aString
object. It will also name array according Java language usage, for example "double[]" instead of "[D".- Parameters:
classe
- The object class (may benull
).- Returns:
- A short class name for the specified object.
-
getShortClassName
public static String getShortClassName(Object object)
Returns a short class name for the specified object. This method will omit the package name. For example, it will return "String" instead of "java.lang.String" for aString
object.- Parameters:
object
- The object (may benull
).- Returns:
- A short class name for the specified object.
-
-