org.clearsilver
Class DelegatedCs

java.lang.Object
  extended by org.clearsilver.DelegatedCs
All Implemented Interfaces:
Closeable, CS

public abstract class DelegatedCs
extends Object
implements CS

Utility class that delegates all methods of an CS object. Made to facilitate the transition to CS being an interface and thus not extensible in the same way as it was.

This class, and its subclasses must take care to wrap or unwrap HDF and CS objects as they are passed through from the callers to the delegate object.


Constructor Summary
DelegatedCs(CS cs)
           
 
Method Summary
 void close()
          Clean up CS object state.
 CS getCs()
           
 CSFileLoader getFileLoader()
          Get the file loader in use, if any.
 HDF getGlobalHDF()
          Return global hdf in use
protected abstract  DelegatedHdf newDelegatedHdf(HDF hdf)
          Method subclasses are required to override with a method that returns a new DelegatedHdf object that wraps the specified HDF object.
 void parseFile(String filename)
          Parses the specified file as if it has template content.
 void parseStr(String content)
          Parse the given string as a CS template.
 String render()
          Generate output from the CS templates and HDF objects that have been read in.
 void setFileLoader(CSFileLoader fileLoader)
          Set the CS file loader to use
 void setGlobalHDF(HDF global)
          Specify a new/different global HDF
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DelegatedCs

public DelegatedCs(CS cs)
Method Detail

getCs

public CS getCs()

newDelegatedHdf

protected abstract DelegatedHdf newDelegatedHdf(HDF hdf)
Method subclasses are required to override with a method that returns a new DelegatedHdf object that wraps the specified HDF object.

Parameters:
hdf - an HDF object that should be wrapped in a new DelegatedHdf object of the same type as this current object.
Returns:
an object that is a subclass of DelegatedHdf and which wraps the given HDF object.

setGlobalHDF

public void setGlobalHDF(HDF global)
Description copied from interface: CS
Specify a new/different global HDF

Specified by:
setGlobalHDF in interface CS

getGlobalHDF

public HDF getGlobalHDF()
Description copied from interface: CS
Return global hdf in use

Specified by:
getGlobalHDF in interface CS

close

public void close()
Description copied from interface: CS
Clean up CS object state.

Specified by:
close in interface Closeable
Specified by:
close in interface CS

parseFile

public void parseFile(String filename)
               throws IOException
Description copied from interface: CS
Parses the specified file as if it has template content. The file will be located using the HDF's loadpaths.

Specified by:
parseFile in interface CS
Parameters:
filename - the name of file to read in and parse.
Throws:
FileNotFoundException - if the specified file does not exist.
IOException - other problems reading the file.

parseStr

public void parseStr(String content)
Description copied from interface: CS
Parse the given string as a CS template.

Specified by:
parseStr in interface CS
Parameters:
content - string to parse.

render

public String render()
Description copied from interface: CS
Generate output from the CS templates and HDF objects that have been read in.

Specified by:
render in interface CS
Returns:
the output of the template rendering.

getFileLoader

public CSFileLoader getFileLoader()
Description copied from interface: CS
Get the file loader in use, if any.

Specified by:
getFileLoader in interface CS
Returns:
the file loader in use.

setFileLoader

public void setFileLoader(CSFileLoader fileLoader)
Description copied from interface: CS
Set the CS file loader to use

Specified by:
setFileLoader in interface CS
Parameters:
fileLoader - the file loader that should be used.


Copyright © 2010-2012 Google. All Rights Reserved.