Package org.evrete.api
Interface TypeResolver
- All Superinterfaces:
Copyable<TypeResolver>
- All Known Implementing Classes:
TypeResolverWrapper
TypeResolver provides dynamic mapping of Java types to engine's internal Type. It is
particularly useful when developers have to deal with XML or JSON objects.
-
Method Summary
Modifier and TypeMethodDescriptiondefault <T> Type<T>Declares and registers newTypewith the given Java class name.<T> Type<T>Declares and registers newTypewith the given type name and Java class<T> Type<T>Declares and registers newTypewith the given type name and Java class name.Collection<Type<?>>default <T> Type<T>getOrDeclare(Class<T> cl) default <T> Type<T>getOrDeclare(String typeName) default <T> Type<T>getOrDeclare(String typeName, Class<T> javaType) default <T> Type<T>getOrDeclare(String typeName, String javaType) <T> Type<T>getType(int typeId) <T> Type<T><T> Type<T>voidwrapType(TypeWrapper<?> typeWrapper)
-
Method Details
-
getType
- Type Parameters:
T- type parameter- Parameters:
name- type's declared name- Returns:
- existing
Typeornullif not found
-
getType
- Type Parameters:
T- type parameter- Parameters:
typeId- type id- Returns:
- existing
Type - Throws:
NoSuchElementException- if not found
-
getKnownTypes
Collection<Type<?>> getKnownTypes() -
wrapType
-
declare
Declares and registers new
Typewith the given Java class name. The name of the resulting type will beClass.getName()- Type Parameters:
T- java class type parameter- Parameters:
type- Java class- Returns:
- new internal type
- Throws:
IllegalStateException- if such type name has been already declared
-
declare
Declares and registers new
Typewith the given type name and Java class- Type Parameters:
T- java class type parameter- Parameters:
typeName- name of the typejavaType- Java class- Returns:
- new internal type
- Throws:
IllegalStateException- if such type name has been already declared
-
declare
Declares and registers new
Typewith the given type name and Java class name. The existence of the corresponding Java class will be checked lazily, when the engine requires access to the class's properties.- Type Parameters:
T- java class type parameter- Parameters:
typeName- name of the typejavaType- Java class- Returns:
- new internal type
- Throws:
IllegalStateException- if such type name has been already declared
-
getOrDeclare
-
getOrDeclare
-
getOrDeclare
-
getOrDeclare
-
resolve
- Type Parameters:
T- type parameter- Parameters:
o- object to resolve- Returns:
- Type of the argument or null if object's type is unknown
-