helma.framework.core
Class Skin

java.lang.Object
  extended by helma.framework.core.Skin

public final class Skin
extends java.lang.Object

This represents a Helma skin, i.e. a template created from containing Macro tags that will be dynamically evaluated.. It uses the request path array from the RequestEvaluator object to resolve Macro handlers by type name.


Constructor Summary
Skin(char[] content, int length, Application app)
          Create a skin without any restrictions on the macros from a char array.
Skin(java.lang.String content, Application app)
          Create a skin without any restrictions on which macros are allowed to be called from it
Skin(java.lang.String content, Application app, java.util.HashSet sandbox)
          Create a skin with a sandbox which contains the names of macros allowed to be called
 
Method Summary
 void allowMacro(java.lang.String macroname)
          Adds a macro to the list of allowed macros.
 boolean containsMacro(java.lang.String macroname)
          Check if a certain macro is present in this skin.
static Skin getSkin(Resource res, Application app)
           
 java.lang.String getSource()
          Get the raw source text this skin was parsed from
 Skin getSubskin(java.lang.String name)
          Get a subskin by name
 java.lang.String[] getSubskinNames()
          Return an array of subskin names defined in this skin
 boolean hasMainskin()
          Check if this skin has a main skin, as opposed to consisting just of subskins
 boolean hasSubskin(java.lang.String name)
          Check if this skin contains a subskin with the given name
 void render(RequestEvaluator reval, java.lang.Object thisObject, java.lang.Object paramObject)
          Render this skin
 java.lang.String renderAsString(RequestEvaluator reval, java.lang.Object thisObject, java.lang.Object paramObject)
          Render this skin and return it as string
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Skin

public Skin(java.lang.String content,
            Application app)
Create a skin without any restrictions on which macros are allowed to be called from it


Skin

public Skin(java.lang.String content,
            Application app,
            java.util.HashSet sandbox)
Create a skin with a sandbox which contains the names of macros allowed to be called


Skin

public Skin(char[] content,
            int length,
            Application app)
Create a skin without any restrictions on the macros from a char array.

Method Detail

getSkin

public static Skin getSkin(Resource res,
                           Application app)
                    throws java.io.IOException
Throws:
java.io.IOException

hasMainskin

public boolean hasMainskin()
Check if this skin has a main skin, as opposed to consisting just of subskins

Returns:
true if this skin contains a main skin

hasSubskin

public boolean hasSubskin(java.lang.String name)
Check if this skin contains a subskin with the given name

Parameters:
name - a subskin name
Returns:
true if the given subskin exists

getSubskin

public Skin getSubskin(java.lang.String name)
Get a subskin by name

Parameters:
name - the subskin name
Returns:
the subskin

getSubskinNames

public java.lang.String[] getSubskinNames()
Return an array of subskin names defined in this skin

Returns:
a string array containing this skin's substrings

getSource

public java.lang.String getSource()
Get the raw source text this skin was parsed from


renderAsString

public java.lang.String renderAsString(RequestEvaluator reval,
                                       java.lang.Object thisObject,
                                       java.lang.Object paramObject)
                                throws RedirectException,
                                       java.io.UnsupportedEncodingException
Render this skin and return it as string

Throws:
RedirectException
java.io.UnsupportedEncodingException

render

public void render(RequestEvaluator reval,
                   java.lang.Object thisObject,
                   java.lang.Object paramObject)
            throws RedirectException,
                   java.io.UnsupportedEncodingException
Render this skin

Throws:
RedirectException
java.io.UnsupportedEncodingException

containsMacro

public boolean containsMacro(java.lang.String macroname)
Check if a certain macro is present in this skin. The macro name is in handler.name notation


allowMacro

public void allowMacro(java.lang.String macroname)
Adds a macro to the list of allowed macros. The macro is in handler.name notation.



Copyright © 1998-1998-${year} Helma.org. All Rights Reserved.