Package aQute.lib.converter
Class Converter
- java.lang.Object
-
- aQute.lib.converter.Converter
-
- Direct Known Subclasses:
SpecialConverter
public class Converter extends java.lang.Object
General Java type converter from an object to any type. Supports number conversion
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
Converter.Hook
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.List<Converter.Hook>
allHooks
(package private) java.io.File
base
private static java.lang.invoke.MethodType
defaultConstructor
(package private) boolean
fatal
(package private) java.util.Map<java.lang.reflect.Type,Converter.Hook>
hooks
-
Constructor Summary
Constructors Constructor Description Converter()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
array(java.lang.reflect.Type type, java.lang.Object o)
static <T> T
cnv(TypeReference<T> tr, java.lang.Object source)
static <T> T
cnv(java.lang.Class<T> tr, java.lang.Object source)
static java.lang.Object
cnv(java.lang.reflect.Type tr, java.lang.Object source)
private java.util.Collection
collection(java.lang.reflect.Type collectionType, java.lang.Class<? extends java.util.Collection> rawClass, java.lang.Object o)
<T> T
convert(TypeReference<T> type, java.lang.Object o)
<T> T
convert(java.lang.Class<T> type, java.lang.Object o)
java.lang.Object
convert(java.lang.reflect.Type type, java.lang.Object o)
(package private) java.lang.Object
convertT(java.lang.reflect.Type type, java.lang.Object o)
private java.lang.Object
error(java.lang.String string)
private static java.util.stream.Stream<java.lang.reflect.Field>
getFields(java.lang.Class<?> c)
private java.lang.Class<?>
getRawClass(java.lang.reflect.Type type)
Converter
hook(java.lang.reflect.Type type, Converter.Hook hook)
static boolean
isMultiple(java.lang.Class<?> c)
Return if the class's instances can hold multiple values.static boolean
isMultiple(java.lang.reflect.Type c)
Return if the class's instances can hold multiple values.private static boolean
isStatic(java.lang.reflect.Member m)
static java.lang.String
mangleMethodName(java.lang.String id)
private java.util.Map
map(java.lang.reflect.Type mapType, java.lang.Class<? extends java.util.Map<?,?>> rawClass, java.lang.Object o)
private static boolean
match(java.lang.String pattern, char[] array, int i)
private static <T> T
newInstance(java.lang.Class<T> rawClass)
private java.lang.Number
number(java.lang.Object o)
<T> T
proxy(java.lang.Class<T> interfc, java.util.Map<?,?> properties)
Convert a map to an interface.private java.lang.String
sanitizeInputForURI(java.lang.String input)
void
setBase(java.io.File base)
void
setFatalIsException(boolean b)
java.util.Collection<?>
toCollection(java.lang.Object o)
java.util.Map<?,?>
toMap(java.lang.Object o)
-
-
-
Field Detail
-
fatal
boolean fatal
-
hooks
java.util.Map<java.lang.reflect.Type,Converter.Hook> hooks
-
allHooks
java.util.List<Converter.Hook> allHooks
-
base
java.io.File base
-
defaultConstructor
private static final java.lang.invoke.MethodType defaultConstructor
-
-
Method Detail
-
convert
public <T> T convert(java.lang.Class<T> type, java.lang.Object o) throws java.lang.Exception
- Throws:
java.lang.Exception
-
convert
public <T> T convert(TypeReference<T> type, java.lang.Object o) throws java.lang.Exception
- Throws:
java.lang.Exception
-
convert
public java.lang.Object convert(java.lang.reflect.Type type, java.lang.Object o) throws java.lang.Exception
- Throws:
java.lang.Exception
-
convertT
java.lang.Object convertT(java.lang.reflect.Type type, java.lang.Object o) throws java.lang.Exception
- Throws:
java.lang.Exception
-
sanitizeInputForURI
private java.lang.String sanitizeInputForURI(java.lang.String input)
-
number
private java.lang.Number number(java.lang.Object o)
-
collection
private java.util.Collection collection(java.lang.reflect.Type collectionType, java.lang.Class<? extends java.util.Collection> rawClass, java.lang.Object o) throws java.lang.Exception
- Throws:
java.lang.Exception
-
newInstance
private static <T> T newInstance(java.lang.Class<T> rawClass) throws java.lang.Exception
- Throws:
java.lang.Exception
-
isStatic
private static boolean isStatic(java.lang.reflect.Member m)
-
map
private java.util.Map map(java.lang.reflect.Type mapType, java.lang.Class<? extends java.util.Map<?,?>> rawClass, java.lang.Object o) throws java.lang.Exception
- Throws:
java.lang.Exception
-
array
public java.lang.Object array(java.lang.reflect.Type type, java.lang.Object o) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getRawClass
private java.lang.Class<?> getRawClass(java.lang.reflect.Type type)
-
toCollection
public java.util.Collection<?> toCollection(java.lang.Object o)
-
toMap
public java.util.Map<?,?> toMap(java.lang.Object o) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getFields
private static java.util.stream.Stream<java.lang.reflect.Field> getFields(java.lang.Class<?> c)
-
error
private java.lang.Object error(java.lang.String string)
-
setFatalIsException
public void setFatalIsException(boolean b)
-
hook
public Converter hook(java.lang.reflect.Type type, Converter.Hook hook)
-
proxy
public <T> T proxy(java.lang.Class<T> interfc, java.util.Map<?,?> properties)
Convert a map to an interface.- Parameters:
interfc
-properties
-- Returns:
- proxy object for map
-
mangleMethodName
public static java.lang.String mangleMethodName(java.lang.String id)
-
match
private static boolean match(java.lang.String pattern, char[] array, int i)
-
cnv
public static <T> T cnv(TypeReference<T> tr, java.lang.Object source) throws java.lang.Exception
- Throws:
java.lang.Exception
-
cnv
public static <T> T cnv(java.lang.Class<T> tr, java.lang.Object source) throws java.lang.Exception
- Throws:
java.lang.Exception
-
cnv
public static java.lang.Object cnv(java.lang.reflect.Type tr, java.lang.Object source) throws java.lang.Exception
- Throws:
java.lang.Exception
-
isMultiple
public static boolean isMultiple(java.lang.Class<?> c)
Return if the class's instances can hold multiple values.- Parameters:
c
- the class to test- Returns:
- true if the class's instances can hold multiple values
-
isMultiple
public static boolean isMultiple(java.lang.reflect.Type c)
Return if the class's instances can hold multiple values.- Parameters:
c
- the class to test- Returns:
- true if the class's instances can hold multiple values
-
setBase
public void setBase(java.io.File base)
-
-