rendsite.renderer
Class Renderer

java.lang.Object
  extended by rendsite.renderer.Renderer
Direct Known Subclasses:
Renderer_Default, Renderer_Templatev1

public abstract class Renderer
extends java.lang.Object

Base renderer.

Author:
erich Version History
 10NOV09 - EPG - First package release.
 

Field Summary
protected  things.thinger.io.Logger logger
          A logger.
protected  PropertiesGeneralContext pcontext
          The general properties context.
protected  RenderingContext rcontext
          The rendering context.
 
Constructor Summary
Renderer(RenderingContext rcontext, PropertiesGeneralContext pcontext)
          Construct a renderer.
 
Method Summary
static java.lang.String blankIfNull(java.lang.String value)
          Return a blank string if the passed string is null.
abstract  void check(Node_File source)
          Check a file.
abstract  void render(Node_Directory source)
          Render a directory context.
abstract  void render(Node_File source)
          Render a file.
abstract  void renderFrame(Node_Directory source)
          Render the frame itself.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rcontext

protected RenderingContext rcontext
The rendering context.


pcontext

protected PropertiesGeneralContext pcontext
The general properties context.


logger

protected things.thinger.io.Logger logger
A logger.

Constructor Detail

Renderer

public Renderer(RenderingContext rcontext,
                PropertiesGeneralContext pcontext)
         throws things.common.ThingsException
Construct a renderer. Let the system do this for you.

Parameters:
rcontext - The rendering context. A renderer cannot change context.
pcontext - general properties context.
Throws:
ThingsException. - This will usually happen only if you give it a bad context.
things.common.ThingsException
Method Detail

render

public abstract void render(Node_File source)
                     throws things.common.ThingsException
Render a file. The file is new or the configuration has changed, so it must be rendered.

Parameters:
source - The file to render.
Throws:
things.common.ThingsException

check

public abstract void check(Node_File source)
                    throws things.common.ThingsException
Check a file. The file exists and the configuration has not changed, so you don't need to render it. However, you may choose to render it anyway.

IMPORTANT! IMPORTANT! Neighbors are determined during rendering, not spidering. If the neighbor is not opened for write, but an old version exists, it will be treated as a dead file and removed during cleanup. You can make

Parameters:
source - The file to render.
Throws:
things.common.ThingsException

render

public abstract void render(Node_Directory source)
                     throws things.common.ThingsException
Render a directory context. There may not be much to do here. Any catalog page should be rendered by renderFrame() so that it is done after all other processing is complete.

Parameters:
source - the source directory
Throws:
things.common.ThingsException

renderFrame

public abstract void renderFrame(Node_Directory source)
                          throws things.common.ThingsException
Render the frame itself. If you make a catalog, it is important you set the catalogFileName in the source directory if you want the parent catalog to point at it.

Parameters:
source - the source directory
Throws:
things.common.ThingsException

blankIfNull

public static java.lang.String blankIfNull(java.lang.String value)
Return a blank string if the passed string is null.



rendsite.