Interface ExpressionService


  • public interface ExpressionService
    A factory for expression related functionality based on a domain model.
    Since:
    1.0.0
    Author:
    Christian Beikov
    • 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
      • 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 type
        serializationFormat - 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 type
        format - The serialization format
        properties - 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 service
        targetType - The target type
        format - The serialization format
        properties - 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 serialize
        serializationFormat - The serialization format
        Returns:
        the string serialized form of the expression