public interface EngineImportService extends ClassLoaderProvider
Modifier and Type | Field and Description |
---|---|
static String |
EXT_SINGLEROW_FUNCTION_TRANSPOSE |
NAME
Modifier and Type | Method and Description |
---|---|
void |
addAggregation(String functionName,
ConfigurationPlugInAggregationFunction aggregationDesc)
Add an aggregation function.
|
void |
addAggregationMultiFunction(ConfigurationPlugInAggregationMultiFunction desc) |
void |
addAnnotationImport(String importName)
Add an import for annotation-only use, such as "com.mypackage.*" or "com.mypackage.MyClass".
|
void |
addImport(String importName)
Add an import, such as "com.mypackage.*" or "com.mypackage.MyClass".
|
void |
addSingleRow(String functionName,
String singleRowFuncClass,
String methodName,
ConfigurationPlugInSingleRowFunction.ValueCache valueCache,
ConfigurationPlugInSingleRowFunction.FilterOptimizable filterOptimizable,
boolean rethrowExceptions,
String optionalEventTypeName)
Add an single-row function.
|
EventPropertyGetterIndexed |
codegenGetter(EventPropertyGetterIndexedSPI getterSPI,
String eventTypeName,
String propertyExpression) |
EventPropertyGetterMapped |
codegenGetter(EventPropertyGetterMappedSPI getterSPI,
String eventTypeName,
String propertyExpression) |
EventPropertyGetter |
codegenGetter(EventPropertyGetterSPI getterSPI,
String eventTypeName,
String propertyExpression) |
AggregationFactoryFactory |
getAggregationFactoryFactory() |
ClassForNameProvider |
getClassForNameProvider() |
ClassLoader |
getClassLoader() |
CodegenCompiler |
getCodegenCompiler() |
ConfigurationEngineDefaults.CodeGeneration |
getCodeGeneration() |
ConfigurationMethodRef |
getConfigurationMethodRef(String className)
Returns the method invocation caches for the from-clause for a class.
|
MathContext |
getDefaultMathContext() |
String |
getEngineURI() |
ClassLoader |
getFastClassClassLoader(Class clazz) |
ConfigurationEngineDefaults.ThreadingProfile |
getThreadingProfile() |
TimeAbacus |
getTimeAbacus() |
TimeZone |
getTimeZone() |
boolean |
isCodegenEventPropertyGetters() |
boolean |
isDuckType() |
boolean |
isSortUsingCollator() |
boolean |
isUdfCache() |
AdvancedIndexFactoryProvider |
resolveAdvancedIndexProvider(String indexTypeName) |
ExprNode |
resolveAggExtendedBuiltin(String name,
boolean isDistinct)
Resolve an extended (non-SQL std) builtin aggregation.
|
AggregationFunctionFactory |
resolveAggregationFactory(String functionName)
Used at statement compile-time to try and resolve a given function name into an
aggregation method.
|
ConfigurationPlugInAggregationMultiFunction |
resolveAggregationMultiFunction(String name) |
Class |
resolveAnnotation(String className)
Resolves a given class name, either fully qualified and simple and imported to a annotation.
|
Class |
resolveClass(String className,
boolean forAnnotation)
Resolves a given class name, either fully qualified and simple and imported to a class.
|
Constructor |
resolveCtor(Class clazz,
Class[] paramTypes)
Resolves a constructor matching list of parameter types.
|
Method |
resolveMethod(Class clazz,
String methodName,
Class[] paramTypes,
boolean[] allowEventBeanType,
boolean[] allowEventBeanCollType)
Resolves a given method name and list of parameter types to an instance or static method exposed by the given class.
|
Method |
resolveMethodOverloadChecked(Class clazz,
String methodName) |
Method |
resolveMethodOverloadChecked(String className,
String methodName)
Resolves a given class and method name to a static method, expecting the method to exist
exactly once and not be overloaded, with any parameters.
|
Method |
resolveMethodOverloadChecked(String className,
String methodName,
Class[] paramTypes,
boolean[] allowEventBeanType,
boolean[] allowEventBeanCollType)
Resolves a given class, method and list of parameter types to a static method.
|
Method |
resolveNonStaticMethodOverloadChecked(Class clazz,
String methodName)
Resolves a given class and method name to a non-static method, expecting the method to exist
exactly once and not be overloaded, with any parameters.
|
Pair<Class,EngineImportSingleRowDesc> |
resolveSingleRow(String functionName)
Used at statement compile-time to try and resolve a given function name into an
single-row function.
|
ExprNode |
resolveSingleRowExtendedBuiltin(String name)
Resolve an extended (non-SQL std) single-row function.
|
classloader
static final String EXT_SINGLEROW_FUNCTION_TRANSPOSE
ConfigurationMethodRef getConfigurationMethodRef(String className)
className
- the class name providing the methodvoid addImport(String importName) throws EngineImportException
importName
- is the import to addEngineImportException
- if the information or format is invalidvoid addAnnotationImport(String importName) throws EngineImportException
importName
- is the import to addEngineImportException
- if the information or format is invalidvoid addAggregation(String functionName, ConfigurationPlugInAggregationFunction aggregationDesc) throws EngineImportException
functionName
- is the name of the function to make known.aggregationDesc
- is the descriptor for the aggregation functionEngineImportException
- throw if format or information is invalidvoid addSingleRow(String functionName, String singleRowFuncClass, String methodName, ConfigurationPlugInSingleRowFunction.ValueCache valueCache, ConfigurationPlugInSingleRowFunction.FilterOptimizable filterOptimizable, boolean rethrowExceptions, String optionalEventTypeName) throws EngineImportException
functionName
- is the name of the function to make known.singleRowFuncClass
- is the class that provides the single row functionmethodName
- is the name of the public static method provided by the class that provides the single row functionvalueCache
- setting to control value cache behavior which may cache a result value when constant parameters are passedfilterOptimizable
- filter behavior settingrethrowExceptions
- for whether to rethrowoptionalEventTypeName
- event type name when providedEngineImportException
- throw if format or information is invalidAggregationFunctionFactory resolveAggregationFactory(String functionName) throws EngineImportUndefinedException, EngineImportException
functionName
- is the function nameEngineImportUndefinedException
- if the function is not a configured aggregation functionEngineImportException
- if the aggregation providing class could not be loaded or doesn't matchConfigurationPlugInAggregationMultiFunction resolveAggregationMultiFunction(String name)
Pair<Class,EngineImportSingleRowDesc> resolveSingleRow(String functionName) throws EngineImportUndefinedException, EngineImportException
functionName
- is the function nameEngineImportUndefinedException
- if the function is not a configured single-row functionEngineImportException
- if the function providing class could not be loaded or doesn't matchMethod resolveMethodOverloadChecked(String className, String methodName, Class[] paramTypes, boolean[] allowEventBeanType, boolean[] allowEventBeanCollType) throws EngineImportException
className
- is the class name to usemethodName
- is the method nameparamTypes
- is parameter types match expression sub-nodesallowEventBeanType
- flag for whether event bean is allowedallowEventBeanCollType
- flag for whether event bean array is allowedEngineImportException
- if the method cannot be resolved to a visible static methodMethod resolveMethodOverloadChecked(Class clazz, String methodName) throws EngineImportException
EngineImportException
Constructor resolveCtor(Class clazz, Class[] paramTypes) throws EngineImportException
clazz
- is the class to useparamTypes
- is parameter types match expression sub-nodesEngineImportException
- if the ctor cannot be resolvedClass resolveClass(String className, boolean forAnnotation) throws EngineImportException
className
- is the class name to useforAnnotation
- whether we are resolving an annotationEngineImportException
- if there was an error resolving the classClass resolveAnnotation(String className) throws EngineImportException
className
- is the class name to useEngineImportException
- if there was an error resolving the classMethod resolveMethodOverloadChecked(String className, String methodName) throws EngineImportException
className
- is the class name to usemethodName
- is the method nameEngineImportException
- if the method cannot be resolved to a visible static method, or
if the method is overloadedMethod resolveNonStaticMethodOverloadChecked(Class clazz, String methodName) throws EngineImportException
clazz
- is the classmethodName
- is the method nameEngineImportException
- if the method cannot be resolved to a visible static method, or
if the method is overloadedMethod resolveMethod(Class clazz, String methodName, Class[] paramTypes, boolean[] allowEventBeanType, boolean[] allowEventBeanCollType) throws EngineImportException
clazz
- is the class to look for a fitting methodmethodName
- is the method nameparamTypes
- is parameter types match expression sub-nodesallowEventBeanType
- whether EventBean footprint is allowedallowEventBeanCollType
- whether EventBean array footprint is allowedEngineImportException
- if the method cannot be resolved to a visible static or instance methodExprNode resolveAggExtendedBuiltin(String name, boolean isDistinct)
name
- of funcisDistinct
- indicatorExprNode resolveSingleRowExtendedBuiltin(String name)
name
- of funcboolean isDuckType()
boolean isUdfCache()
boolean isSortUsingCollator()
void addAggregationMultiFunction(ConfigurationPlugInAggregationMultiFunction desc) throws EngineImportException
EngineImportException
MathContext getDefaultMathContext()
TimeZone getTimeZone()
TimeAbacus getTimeAbacus()
ConfigurationEngineDefaults.ThreadingProfile getThreadingProfile()
AggregationFactoryFactory getAggregationFactoryFactory()
ClassForNameProvider getClassForNameProvider()
ClassLoader getFastClassClassLoader(Class clazz)
ClassLoader getClassLoader()
AdvancedIndexFactoryProvider resolveAdvancedIndexProvider(String indexTypeName) throws EngineImportException
EngineImportException
boolean isCodegenEventPropertyGetters()
ConfigurationEngineDefaults.CodeGeneration getCodeGeneration()
CodegenCompiler getCodegenCompiler()
EventPropertyGetter codegenGetter(EventPropertyGetterSPI getterSPI, String eventTypeName, String propertyExpression)
EventPropertyGetterIndexed codegenGetter(EventPropertyGetterIndexedSPI getterSPI, String eventTypeName, String propertyExpression)
EventPropertyGetterMapped codegenGetter(EventPropertyGetterMappedSPI getterSPI, String eventTypeName, String propertyExpression)
String getEngineURI()