| java.lang.Object org.apache.struts.tiles.ComponentDefinition
All known Subclasses: org.apache.struts.tiles.xmlDefinition.XmlDefinition,
ComponentDefinition | public class ComponentDefinition implements Serializable(Code) | | 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.
|
Constructor Summary | |
public | ComponentDefinition() Constructor. | public | ComponentDefinition(ComponentDefinition definition) Copy Constructor. | 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. | public | ComponentDefinition(String name, String path, Map attributes) Constructor. |
Method Summary | |
public static Controller | createController(String name, String controllerType) 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. | public static Controller | createControllerFromClassname(String classname) Create a controller from specified classname
Parameters: classname - Controller classname. | 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. | public Map | getAttributes() Access method for the attributes property. | public String | getController() Get associated controller local URL. | public Controller | getControllerInstance() Get controller instance. | public String | getControllerType() Get associated controller type. | public String | getName() Access method for the name property. | public Controller | getOrCreateController() Get or create controller. | public String | getPage() Access method for the path property. | public String | getPath() Access method for the path property. | public String | getRole() Access method for the role property. | public String | getTemplate() Access method for the template property. | public void | put(String name, Object content) Put an attribute in component / template definition. | public void | put(String name, Object content, boolean direct) Put an attribute in template definition. | 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 Parameters: content - Attribute value Parameters: direct - Determines how content is handled by get tag: true means content is printed directly; false, the default, means content is included Parameters: role - Determine if content is used by get tag. | 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 Parameters: content - Attribute value Parameters: type - attribute type: template, string, definition Parameters: role - Determine if content is used by get tag. | public void | putAttribute(String key, Object value) | public void | setController(String url) Set associated controller URL. | public void | setControllerClass(String controller) Set associated controller name as a classtype, and controller
type as "classname". | public void | setControllerInstance(Controller controller) Set controller. | public void | setControllerType(String controllerType) Set associated controller type. | public void | setControllerUrl(String controller) Set associated controller name as an url, and controller
type as "url". | public void | setName(String aName) Sets the value of the name property. | public void | setPage(String page) Sets the value of the path property. | public void | setPath(String aPath) Sets the value of the path property. | public void | setRole(String role) Sets the value of the role property. | public void | setTemplate(String template) Sets the value of the template property. | public String | toString() Returns a description of the attributes. |
ACTION | final public static String ACTION(Code) | | Controller name type.
|
CONTROLLER | final public static String CONTROLLER(Code) | | Controller name type.
|
URL | final public static String URL(Code) | | Controller name type.
|
attributes | protected Map attributes(Code) | | Attributes defined for the component.
|
controller | protected String controller(Code) | | Associated Controller URL or classname, if defined
|
controllerType | protected String controllerType(Code) | | Associated Controller typename, if controllerName defined.
Can be CONTROLLER, ACTION or URL, or null.
|
log | protected static Log log(Code) | | Commons Logging instance.
|
path | protected String path(Code) | | Component / template path (URL).
|
role | protected String role(Code) | | Role associated to definition.
|
ComponentDefinition | public ComponentDefinition()(Code) | | Constructor.
|
ComponentDefinition | public ComponentDefinition(ComponentDefinition definition)(Code) | | 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)(Code) | | 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)(Code) | | Constructor.
|
createController | public static Controller createController(String name, String controllerType) throws InstantiationException(Code) | | 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, ...) Parameters: controllerType - Expected Controller type 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(Code) | | Create a controller from specified classname
Parameters: classname - Controller classname. 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. |
getAttribute | public Object getAttribute(String key)(Code) | | Returns the value of the named attribute as an Object, or null if no
attribute of the given name exists.
requested attribute or null if not found |
getAttributes | public Map getAttributes()(Code) | | Access method for the attributes property.
If there is no attributes, return an empty map.
the current value of the attributes property |
getController | public String getController()(Code) | | Get associated controller local URL.
URL should be local to webcontainer in order to allow request context followup.
URL comes as a string.
|
getControllerInstance | public Controller getControllerInstance()(Code) | | Get controller instance.
controller instance. |
getControllerType | public String getControllerType()(Code) | | Get associated controller type.
Type denote a fully qualified classname.
|
getName | public String getName()(Code) | | Access method for the name property.
the current value of the name property |
getOrCreateController | public Controller getOrCreateController() throws InstantiationException(Code) | | Get or create controller.
Get controller, create it if necessary.
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. |
getPage | public String getPage()(Code) | | Access method for the path property.
The current value of the path property. |
getPath | public String getPath()(Code) | | Access method for the path property.
the current value of the path property |
getRole | public String getRole()(Code) | | Access method for the role property.
the current value of the role property |
getTemplate | public String getTemplate()(Code) | | Access method for the template property.
Same as getPath()
the current value of the template property |
put | public void put(String name, Object content)(Code) | | Put an attribute in component / template definition.
Attribute can be used as content for tag get.
Parameters: name - Attribute name Parameters: content - Attribute value |
put | public void put(String name, Object content, boolean direct)(Code) | | Put an attribute in template definition.
Attribute can be used as content for tag get.
Parameters: name - Attribute name Parameters: content - Attribute value � Parameters: 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)(Code) | | Put an attribute in template definition.
Attribute can be used as content for tag get.
Parameters: name - Attribute name Parameters: content - Attribute value Parameters: direct - Determines how content is handled by get tag: true means content is printed directly; false, the default, means content is included Parameters: 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)(Code) | | Put an attribute in template definition.
Attribute can be used as content for tag get.
Parameters: name - Attribute name Parameters: content - Attribute value Parameters: type - attribute type: template, string, definition Parameters: role - Determine if content is used by get tag. If user is in role, content is used. |
putAttribute | public void putAttribute(String key, Object value)(Code) | | Put a new attribute in this component
Parameters: key - String key for attribute Parameters: value - Attibute value. |
setController | public void setController(String url)(Code) | | 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 |
setControllerClass | public void setControllerClass(String controller)(Code) | | Set associated controller name as a classtype, and controller
type as "classname".
Name denote a fully qualified classname
Convenience method.
Parameters: controller - Controller classname. |
setControllerInstance | public void setControllerInstance(Controller controller)(Code) | | Set controller.
|
setControllerType | public void setControllerType(String controllerType)(Code) | | Set associated controller type.
Type denote a fully qualified classname.
Parameters: controllerType - Typeof associated controller |
setControllerUrl | public void setControllerUrl(String controller)(Code) | | 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 |
setName | public void setName(String aName)(Code) | | Sets the value of the name property.
Parameters: aName - the new value of the name property |
setPage | public void setPage(String page)(Code) | | Sets the value of the path property.
Parameters: page - the new value of the path property |
setPath | public void setPath(String aPath)(Code) | | Sets the value of the path property.
Parameters: aPath - the new value of the path property |
setRole | public void setRole(String role)(Code) | | Sets the value of the role property.
Parameters: role - the new value of the path property |
setTemplate | public void setTemplate(String template)(Code) | | Sets the value of the template property.
Same as setPath()
Parameters: template - the new value of the path property |
toString | public String toString()(Code) | | Returns a description of the attributes.
|
|
|