View Javadoc

1   /**
2    * Copyright (C) 2005-2009 Alfresco Software Limited.
3    *
4    * This file is part of the Spring Surf Extension project.
5    *
6    * Licensed under the Apache License, Version 2.0 (the "License");
7    * you may not use this file except in compliance with the License.
8    * You may obtain a copy of the License at
9    *
10   *  http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   */
18  
19  package org.springframework.extensions.webscripts;
20  
21  import java.io.Writer;
22  
23  
24  /**
25   * Web Script Template Processor
26   * 
27   * @author davidc
28   */
29  public interface TemplateProcessor
30  {
31      /**
32       * Determines if a template exists
33       * 
34       * @param template
35       * @return  true => exists
36       */
37      public boolean hasTemplate(String template);
38      
39      /**
40       * Process a template against the supplied data model and write to the out.
41       * 
42       * @param template       Template name/path
43       * @param model          Object model to process template against
44       * @param out            Writer object to send output too
45       */
46      public void process(String template, Object model, Writer out);
47      
48      /**
49       * Process a string template against the supplied data model and write to the out.
50       * 
51       * @param template       Template string
52       * @param model          Object model to process template against
53       * @param out            Writer object to send output too
54       */
55      public void processString(String template, Object model, Writer out);
56  
57      /**
58       * Gets the default encoding
59       * 
60       * @return  default encoding
61       */
62      public String getDefaultEncoding();
63      
64      /**
65       * Reset the Template Processor
66       */
67      public void reset();
68  
69  }