## helma.framework.core
Class Skin

    java.lang.Object
      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.