Package com.blazebit.expression
Interface ExpressionService
-
public interface ExpressionService
A factory for expression related functionality based on a domain model.- Since:
- 1.0.0
- Author:
- Christian Beikov
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description ExpressionCompiler
createCompiler()
Creates and returns an expression compiler to parse and type check expression strings.ExpressionInterpreter
createInterpreter()
Creates and returns an expression interpreter to interpret a compiled expression.ExpressionSerializer<StringBuilder>
createSerializer()
Creates and returns an expression serializer that produces an expression, which can be compiled again.<T> ExpressionSerializer<T>
createSerializer(Class<T> serializationTarget)
Creates and returns an expression serializer to serialize a compiled expression.<T> ExpressionSerializer<T>
createSerializer(Class<T> serializationTarget, String serializationFormat)
Creates and returns an expression serializer to serialize a compiled expression.ExpressionSerializer<StringBuilder>
createTemplateSerializer()
Creates and returns an expression serializer that produces a template expression, which can be compiled again.BooleanLiteralResolver
getBooleanLiteralResolver()
Returns the boolean literal resolver.CollectionLiteralResolver
getCollectionLiteralResolver()
Returns the collection literal resolver.Map<Class<?>,Map<Class<?>,TypeConverter<?,?>>>
getConverters()
Returns the registered converters, mapped from target type to a map of source type to converter mapping.com.blazebit.domain.runtime.model.DomainModel
getDomainModel()
The domain model that is used for the expression services.EntityLiteralResolver
getEntityLiteralResolver()
Returns the entity literal resolver.EnumLiteralResolver
getEnumLiteralResolver()
Returns the enum literal resolver.Map<Class<?>,Map<String,ExpressionSerializerFactory<?>>>
getExpressionSerializerFactories()
The expression serializer factories.List<ExpressionServiceSerializer<?>>
getExpressionServiceSerializers()
The expression service serializers.NumericLiteralResolver
getNumericLiteralResolver()
Returns the numeric literal resolver.StringLiteralResolver
getStringLiteralResolver()
Returns the string literal resolver.TemporalLiteralResolver
getTemporalLiteralResolver()
Returns the temporal literal resolver.String
serialize(Expression expression)
Serializes the given compiled expression to a string.String
serialize(Expression expression, String serializationFormat)
Serializes the given compiled expression to a string.<T> T
serialize(ExpressionService baseModel, Class<T> targetType, String format, Map<String,Object> properties)
Serializes the expression service to the given target type with the given format.default <T> T
serialize(Class<T> targetType, String format, Map<String,Object> properties)
Serializes the expression service to the given target type with the given format.default ExpressionService
withSubDomainModel(com.blazebit.domain.runtime.model.DomainModel subDomainModel)
Creates a new expression service for the given sub domain model.
-
-
-
Method Detail
-
getDomainModel
com.blazebit.domain.runtime.model.DomainModel getDomainModel()
The domain model that is used for the expression services.- Returns:
- the domain model
-
withSubDomainModel
default ExpressionService withSubDomainModel(com.blazebit.domain.runtime.model.DomainModel subDomainModel)
Creates a new expression service for the given sub domain model.- Parameters:
subDomainModel
- the sub domain model- Returns:
- A new expression service with the given sub domain model
-
getExpressionSerializerFactories
Map<Class<?>,Map<String,ExpressionSerializerFactory<?>>> getExpressionSerializerFactories()
The expression serializer factories.- Returns:
- the expression serializer factories
-
getExpressionServiceSerializers
List<ExpressionServiceSerializer<?>> getExpressionServiceSerializers()
The expression service serializers.- Returns:
- the expression service serializers
-
createCompiler
ExpressionCompiler createCompiler()
Creates and returns an expression compiler to parse and type check expression strings.- Returns:
- the expression compiler
-
createInterpreter
ExpressionInterpreter createInterpreter()
Creates and returns an expression interpreter to interpret a compiled expression.- Returns:
- the expression interpreter
-
createSerializer
ExpressionSerializer<StringBuilder> createSerializer()
Creates and returns an expression serializer that produces an expression, which can be compiled again.- Returns:
- the expression serializer
-
createTemplateSerializer
ExpressionSerializer<StringBuilder> createTemplateSerializer()
Creates and returns an expression serializer that produces a template expression, which can be compiled again.- Returns:
- the expression serializer
-
createSerializer
<T> ExpressionSerializer<T> createSerializer(Class<T> serializationTarget)
Creates and returns an expression serializer to serialize a compiled expression.- Type Parameters:
T
- The serialization target type- Parameters:
serializationTarget
- The serialization target type- Returns:
- the expression serializer
-
createSerializer
<T> ExpressionSerializer<T> createSerializer(Class<T> serializationTarget, String serializationFormat)
Creates and returns an expression serializer to serialize a compiled expression.- Type Parameters:
T
- The serialization target type- Parameters:
serializationTarget
- The serialization target typeserializationFormat
- The serialization format- Returns:
- the expression serializer
-
getNumericLiteralResolver
NumericLiteralResolver getNumericLiteralResolver()
Returns the numeric literal resolver.- Returns:
- the numeric literal resolver
-
getBooleanLiteralResolver
BooleanLiteralResolver getBooleanLiteralResolver()
Returns the boolean literal resolver.- Returns:
- the boolean literal resolver
-
getStringLiteralResolver
StringLiteralResolver getStringLiteralResolver()
Returns the string literal resolver.- Returns:
- the string literal resolver
-
getTemporalLiteralResolver
TemporalLiteralResolver getTemporalLiteralResolver()
Returns the temporal literal resolver.- Returns:
- the temporal literal resolver
-
getEnumLiteralResolver
EnumLiteralResolver getEnumLiteralResolver()
Returns the enum literal resolver.- Returns:
- the enum literal resolver
-
getEntityLiteralResolver
EntityLiteralResolver getEntityLiteralResolver()
Returns the entity literal resolver.- Returns:
- the entity literal resolver
-
getCollectionLiteralResolver
CollectionLiteralResolver getCollectionLiteralResolver()
Returns the collection literal resolver.- Returns:
- the collection literal resolver
-
getConverters
Map<Class<?>,Map<Class<?>,TypeConverter<?,?>>> getConverters()
Returns the registered converters, mapped from target type to a map of source type to converter mapping.- Returns:
- the registered converters
-
serialize
default <T> T serialize(Class<T> targetType, String format, Map<String,Object> properties)
Serializes the expression service to the given target type with the given format.- Type Parameters:
T
- The target type- Parameters:
targetType
- The target typeformat
- The serialization formatproperties
- Serialization properties- Returns:
- The serialized form
-
serialize
<T> T serialize(ExpressionService baseModel, Class<T> targetType, String format, Map<String,Object> properties)
Serializes the expression service to the given target type with the given format. It only serializes elements that do not belong to the given base model already or are overridden.- Type Parameters:
T
- The target type- Parameters:
baseModel
- The base expression servicetargetType
- The target typeformat
- The serialization formatproperties
- Serialization properties- Returns:
- The serialized form
-
serialize
String serialize(Expression expression)
Serializes the given compiled expression to a string.- Parameters:
expression
- The expression to serialize- Returns:
- the string serialized form of the expression
-
serialize
String serialize(Expression expression, String serializationFormat)
Serializes the given compiled expression to a string.- Parameters:
expression
- The expression to serializeserializationFormat
- The serialization format- Returns:
- the string serialized form of the expression
-
-