Interface IExpressionObjectFactory

  • All Known Implementing Classes:
    StandardExpressionObjectFactory

    public interface IExpressionObjectFactory

    Factory objects for creating IExpressionObjects instances. These factories are the artifacts specified by IExpressionObjectDialect implementations, instead of specifying the expression objects themselves, so that these expression objects are only created when really needed in template expressions.

    Since:
    3.0.0
    Author:
    Daniel Fernández
    • Method Detail

      • getAllExpressionObjectNames

        Set<String> getAllExpressionObjectNames()

        Return the complete list of expression objects that can be created by this factory.

        This list will be used for determining if a factory might actually be asked to build an object, so it should contain all possible objects to be built by the factory.

        Returns:
        the list of objects this factory can build.
      • buildObject

        Object buildObject​(IExpressionContext context,
                           String expressionObjectName)

        Build the requested object.

        Parameters:
        context - the context being used for processing the template.
        expressionObjectName - the name of the expression object to be built.
        Returns:
        the built object, or null if the object could not be built.
      • isCacheable

        boolean isCacheable​(String expressionObjectName)

        Returns whether a specific expression object can be cached and reused for all expressions in the same template execution or not.

        Note this cacheable flag refers only to reuse of the object in expressions in expressions executed during a single template execution.

        Parameters:
        expressionObjectName - the name of the expression object.
        Returns:
        true is the object is to be considered cacheable, false if not.