Class Interpreter


  • public class Interpreter
    extends java.lang.Object
    The interpreter of the DSP file.

    Note: we recognize only <%, <\%, %>, %\>, ${ and $\{. Unlike JSP, we don't recognize \${ or \$\{.

    Author:
    tomyeh
    • Constructor Summary

      Constructors 
      Constructor Description
      Interpreter()
      Constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String getContentType​(java.lang.String path)
      Returns the content type by specifying a path, or null if no content type is available or path is null.
      void interpret​(javax.servlet.ServletContext ctx, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.io.Writer out, java.lang.String content, java.lang.String ctype, Locator locator)
      Interprets the specified content based on the HTTP request.
      void interpret​(javax.servlet.ServletContext ctx, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String content, java.lang.String ctype, Locator locator)
      Interprets the specified content based on the HTTP request.
      void interpret​(DspContext dc, java.lang.String content, java.lang.String ctype, XelContext xelc)
      Interprets the specified content and generates the result to the output specified in DspContext.
      Interpretation parse​(java.lang.String content, java.lang.String ctype, XelContext xelc, Locator loc)
      Parses a content to a meta format called Interpretation.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Interpreter

        public Interpreter()
        Constructor.
    • Method Detail

      • getContentType

        public static final java.lang.String getContentType​(java.lang.String path)
        Returns the content type by specifying a path, or null if no content type is available or path is null.

        It determines the content type by looking the extension. Note: it considers the extension of "a.css.dsp" as "css".

      • parse

        public final Interpretation parse​(java.lang.String content,
                                          java.lang.String ctype,
                                          XelContext xelc,
                                          Locator loc)
                                   throws DspException,
                                          java.io.IOException,
                                          XelException
        Parses a content to a meta format called Interpretation.
        Parameters:
        xelc - the context formation for evaluating ZUL expressions. It can be null, in which case no additional functions and variable resolvers are initialized at the beginning.
        ctype - the content type. Optional. It is used only if no page action at all. If it is not specified and not page action, "text/html" is assumed.
        Throws:
        DspException
        java.io.IOException
        XelException
        Since:
        3.0.0
      • interpret

        public final void interpret​(DspContext dc,
                                    java.lang.String content,
                                    java.lang.String ctype,
                                    XelContext xelc)
                             throws DspException,
                                    java.io.IOException,
                                    XelException
        Interprets the specified content and generates the result to the output specified in DspContext.
        Parameters:
        dc - the interpreter context; never null.
        content - the content of DSP to interpret
        ctype - the content type. Optional. It is used only if no page action at all. If it is not specified and not page action, "text/html" is assumed.
        Throws:
        DspException
        java.io.IOException
        XelException
        Since:
        3.0.0
      • interpret

        public final void interpret​(javax.servlet.ServletContext ctx,
                                    javax.servlet.http.HttpServletRequest request,
                                    javax.servlet.http.HttpServletResponse response,
                                    java.lang.String content,
                                    java.lang.String ctype,
                                    Locator locator)
                             throws DspException,
                                    java.io.IOException,
                                    XelException
        Interprets the specified content based on the HTTP request. It actually wraps the HTTP request into DspContext and then invoke interpret(DspContext, String, String, XelContext).
        Parameters:
        locator - used to locate resources, such as taglib. If null is specified, the locator for the specified servlet context is used. (In other words, we use ServletContextLocator if locator is null).
        ctype - the content type. Optional. It is used only if no page action at all. If it is not specified and not page action, "text/html" is assumed.
        Throws:
        DspException
        java.io.IOException
        XelException
      • interpret

        public final void interpret​(javax.servlet.ServletContext ctx,
                                    javax.servlet.http.HttpServletRequest request,
                                    javax.servlet.http.HttpServletResponse response,
                                    java.io.Writer out,
                                    java.lang.String content,
                                    java.lang.String ctype,
                                    Locator locator)
                             throws DspException,
                                    java.io.IOException,
                                    XelException
        Interprets the specified content based on the HTTP request. It actually wraps the HTTP request into DspContext and then invoke interpret(DspContext, String, String, XelContext).
        Parameters:
        locator - used to locate resources, such as taglib. If null is specified, the locator for the specified servlet context is used. (In other words, we use ServletContextLocator if locator is null).
        ctype - the content type. Optional. It is used only if no page action at all. If it is not specified and not page action, "text/html" is assumed.
        out - the output to generate the result. If null, it is the same as interpret(ServletContext,HttpServletRequest,HttpServletResponse,String,String,Locator) In other words, response.getWriter() is used.
        Throws:
        DspException
        java.io.IOException
        XelException
        Since:
        2.4.1