Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.struts.tiles
Class ComponentDefinition

    java.lang.Object
      org.apache.struts.tiles.ComponentDefinition

All Implemented Interfaces:
  Serializable

Direct Known Subclasses:
  XmlDefinition

    public class ComponentDefinition

extends Object
implements Serializable

Definition of a template / component attributes. Attributes of a component can be defined with the help of this class. An instance of this class can be used as a bean, and passed to 'insert' tag.

See Also:
  Serialized Form

Field Summary
`static String` | `ACTION` Controller name type.
`protected Map` | `attributes` Attributes defined for the component.
`protected String` | `controller` Associated Controller URL or classname, if defined
`static String` | `CONTROLLER` Controller name type.
`protected String` | `controllerType` Associated Controller typename, if controllerName defined.
`protected static Log` | `log` Commons Logging instance.
`protected String` | `name` Definition name
`protected String` | `path` Component / template path (URL).
`protected String` | `role` Role associated to definition.
`static String` | `URL` Controller name type.

Constructor Summary
`ComponentDefinition()` Constructor.
`ComponentDefinition(ComponentDefinition definition)` Copy Constructor.
`ComponentDefinition(String name, String path, Map attributes)` Constructor.
`ComponentDefinition(XmlDefinition definition)` Constructor.

Method Summary
`static Controller` | `createController(String name, String controllerType)` Create a new instance of controller named in parameter.
`static Controller` | `createControllerFromClassname(String classname)` Create a controller from specified classname
`Object` | `getAttribute(String key)` Returns the value of the named attribute as an Object, or null if no attribute of the given name exists.
`Map` | `getAttributes()` Access method for the attributes property.
`String` | `getController()` Get associated controller local URL.
`Controller` | `getControllerInstance()` Get controller instance.
`String` | `getControllerType()` Get associated controller type.
`String` | `getName()` Access method for the name property.
`Controller` | `getOrCreateController()` Get or create controller.
`String` | `getPage()` Access method for the path property.
`String` | `getPath()` Access method for the path property.
`String` | `getRole()` Access method for the role property.
`String` | `getTemplate()` Access method for the template property.
`void` | `put(String name, Object content)` Put an attribute in component / template definition.
`void` | `put(String name, Object content, boolean direct)` Put an attribute in template definition.
`void` | `put(String name, Object content, boolean direct, String role)` Put an attribute in template definition.
`void` | `put(String name, Object content, String type, String role)` Put an attribute in template definition.
`void` | `putAttribute(String key, Object value)` Put a new attribute in this component
`void` | `setController(String url)` Set associated controller URL.
`void` | `setControllerClass(String controller)` Set associated controller name as a classtype, and controller type as "classname".
`void` | `setControllerInstance(Controller controller)` Set controller.
`void` | `setControllerType(String controllerType)` Set associated controller type.
`void` | `setControllerUrl(String controller)` Set associated controller name as an url, and controller type as "url".
`void` | `setName(String aName)` Sets the value of the name property.
`void` | `setPage(String page)` Sets the value of the path property.
`void` | `setPath(String aPath)` Sets the value of the path property.
`void` | `setRole(String role)` Sets the value of the role property.
`void` | `setTemplate(String template)` Sets the value of the template property.
`String` | `toString()` Returns a description of the attributes.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### log

    protected static Log log

  Commons Logging instance.

### name

    protected String name

  Definition name

### path

    protected String path

  Component / template path (URL).

### attributes

    protected Map attributes

  Attributes defined for the component.

### role

    protected String role

  Role associated to definition.

### controller

    protected String controller

  Associated Controller URL or classname, if defined

### controllerType

    protected String controllerType

  Associated Controller typename, if controllerName defined. Can be CONTROLLER, ACTION or URL, or null.

### URL

    public static final String URL

  Controller name type.

  See Also:
    Constant Field Values

### CONTROLLER

    public static final String CONTROLLER

  Controller name type.

  See Also:
    Constant Field Values

### ACTION

    public static final String ACTION

  Controller name type.

  See Also:
    Constant Field Values

Constructor Detail

### ComponentDefinition

    public ComponentDefinition()

  Constructor.

### ComponentDefinition

    public ComponentDefinition(ComponentDefinition definition)

  Copy Constructor. Create a new definition initialized with parent definition. Do a shallow copy : attributes are shared between copies, but not the Map containing attributes.

### ComponentDefinition

    public ComponentDefinition(XmlDefinition definition)

  Constructor. Create a new definition initialized from a RawDefinition. Raw definitions are used to read definition from a data source (xml file, db, ...). A RawDefinition mainly contains properties of type String, while Definition contains more complex type (ex : Controller). Do a shallow copy : attributes are shared between objects, but not the Map containing attributes. OO Design issues : Actually RawDefinition (XmlDefinition) extends ComponentDefinition. This must not be the case. I have do it because I am lazy.

  Throws:
    `InstantiationException` - if an error occur while instanciating Controller : (classname can't be instanciated, Illegal access with instanciated class, Error while instanciating class, classname can't be instanciated.

### ComponentDefinition

    public ComponentDefinition(String name,
                               String path,
                               Map attributes)

  Constructor.

Method Detail

### getName

    public String getName()

  Access method for the name property.

  Returns:
    the current value of the name property

### setName

    public void setName(String aName)

  Sets the value of the name property.

  Parameters:
    `aName` - the new value of the name property

### getPage

    public String getPage()

  Access method for the path property.

  Returns:
    The current value of the path property.

### setPage

    public void setPage(String page)

  Sets the value of the path property.

  Parameters:
    `page` - the new value of the path property

### getPath

    public String getPath()

  Access method for the path property.

  Returns:
    the current value of the path property

### setPath

    public void setPath(String aPath)

  Sets the value of the path property.

  Parameters:
    `aPath` - the new value of the path property

### getTemplate

    public String getTemplate()

  Access method for the template property. Same as getPath()

  Returns:
    the current value of the template property

### setTemplate

    public void setTemplate(String template)

  Sets the value of the template property. Same as setPath()

  Parameters:
    `template` - the new value of the path property

### getRole

    public String getRole()

  Access method for the role property.

  Returns:
    the current value of the role property

### setRole

    public void setRole(String role)

  Sets the value of the role property.

  Parameters:
    `role` - the new value of the path property

### getAttributes

    public Map getAttributes()

  Access method for the attributes property. If there is no attributes, return an empty map.

  Returns:
    the current value of the attributes property

### getAttribute

    public Object getAttribute(String key)

  Returns the value of the named attribute as an Object, or null if no attribute of the given name exists.

  Returns:
    requested attribute or null if not found

### putAttribute

    public void putAttribute(String key,
                             Object value)

  Put a new attribute in this component

  Parameters:
    `key` - String key for attribute
    `value` - Attibute value.

### put

    public void put(String name,
                    Object content)

  Put an attribute in component / template definition. Attribute can be used as content for tag get.

  Parameters:
    `name` - Attribute name
    `content` - Attribute value

### put

    public void put(String name,
                    Object content,
                    boolean direct)

  Put an attribute in template definition. Attribute can be used as content for tag get.

  Parameters:
    `name` - Attribute name
    `content` - Attribute value ï¿½
    `direct` - Determines how content is handled by get tag: true means content is printed directly; false, the default, means content is included

### put

    public void put(String name,
                    Object content,
                    boolean direct,
                    String role)

  Put an attribute in template definition. Attribute can be used as content for tag get.

  Parameters:
    `name` - Attribute name
    `content` - Attribute value
    `direct` - Determines how content is handled by get tag: true means content is printed directly; false, the default, means content is included
    `role` - Determine if content is used by get tag. If user is in role, content is used.

### put

    public void put(String name,
                    Object content,
                    String type,
                    String role)

  Put an attribute in template definition. Attribute can be used as content for tag get.

  Parameters:
    `name` - Attribute name
    `content` - Attribute value
    `type` - attribute type: template, string, definition
    `role` - Determine if content is used by get tag. If user is in role, content is used.

### toString

    public String toString()

  Returns a description of the attributes.

  Overrides:
    `toString` in class `Object`

### getControllerType

    public String getControllerType()

  Get associated controller type. Type denote a fully qualified classname.

### setControllerType

    public void setControllerType(String controllerType)

  Set associated controller type. Type denote a fully qualified classname.

  Parameters:
    `controllerType` - Typeof associated controller

### setControllerUrl

    public void setControllerUrl(String controller)

  Set associated controller name as an url, and controller type as "url". Name must be an url (not checked). Convenience method.

  Parameters:
    `controller` - Controller url

### setControllerClass

    public void setControllerClass(String controller)

  Set associated controller name as a classtype, and controller type as "classname". Name denote a fully qualified classname Convenience method.

  Parameters:
    `controller` - Controller classname.

### getController

    public String getController()

  Get associated controller local URL. URL should be local to webcontainer in order to allow request context followup. URL comes as a string.

### setController

    public void setController(String url)

  Set associated controller URL. URL should be local to webcontainer in order to allow request context followup. URL is specified as a string.

  Parameters:
    `url` - Url called locally

### getControllerInstance

    public Controller getControllerInstance()

  Get controller instance.

  Returns:
    controller instance.

### getOrCreateController

    public Controller getOrCreateController()
                                     throws InstantiationException

  Get or create controller. Get controller, create it if necessary.

  Returns:
    controller if controller or controllerType is set, null otherwise.
  Throws:
    `InstantiationException` - if an error occur while instanciating Controller : (classname can't be instanciated, Illegal access with instanciated class, Error while instanciating class, classname can't be instanciated.

### setControllerInstance

    public void setControllerInstance(Controller controller)

  Set controller.

### createController

    public static Controller createController(String name,
                                              String controllerType)
                                       throws InstantiationException

  Create a new instance of controller named in parameter. If controllerType is specified, create controller accordingly. Otherwise, if name denote a classname, create an instance of it. If class is subclass of org.apache.struts.action.Action, wrap controller appropriately. Otherwise, consider name as an url.

  Parameters:
    `name` - Controller name (classname, url, ...)
    `controllerType` - Expected Controller type
  Returns:
    org.apache.struts.tiles.Controller
  Throws:
    `InstantiationException` - if an error occur while instanciating Controller : (classname can't be instanciated, Illegal access with instanciated class, Error while instanciating class, classname can't be instanciated.

### createControllerFromClassname

    public static Controller createControllerFromClassname(String classname)
                                                    throws InstantiationException

  Create a controller from specified classname

  Parameters:
    `classname` - Controller classname.
  Returns:
    org.apache.struts.tiles.Controller
  Throws:
    `InstantiationException` - if an error occur while instanciating Controller : (classname can't be instanciated, Illegal access with instanciated class, Error while instanciating class, classname can't be instanciated.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.