|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Defines an object which may be used to provide dynamic content on a Tapestry web page.
Components are created dynamically from thier class names (part of the
IComponentSpecification
).
Method Summary | |
void |
addAsset(String name,
IAsset asset)
Adds an asset to the component. |
void |
addBody(IRender element)
Adds a new renderable element to the receiver's body. |
void |
addComponent(IComponent component)
Adds a component to a container. |
void |
finishLoad(IRequestCycle cycle,
IPageLoader loader,
IComponentSpecification specification)
Allows a component to finish any setup after it has been constructed. |
IAsset |
getAsset(String name)
Returns the named asset, or null if not found. |
Map |
getAssets()
Returns the asset map for the component, which may be empty but will not be null. |
IBinding |
getBinding(String name)
Returns the binding with the given name or null if not found. |
Collection |
getBindingNames()
Returns a Collection of the names of all bindings (which includes
bindings for both formal and informal parameters). |
Map |
getBindings()
Returns a Map of the bindings for this component;
this includes informal parameters
as well as formal bindings. |
IComponent |
getComponent(String id)
Retrieves an contained component by its id. |
Map |
getComponents()
Returns the contained components as an unmodifiable Map . |
IComponent |
getContainer()
Returns the component which embeds the receiver. |
String |
getExtendedId()
Returns a string identifying the name of the page and the id path of the reciever within the page. |
String |
getId()
Returns the simple id of the component, as defined in its specification. |
String |
getIdPath()
Returns the qualified id of the component. |
String |
getMessage(String key)
Returns a localized string message. |
IMessages |
getMessages()
Returns component strings for the component. |
INamespace |
getNamespace()
Returns the INamespace in which the component was defined
(as an alias). |
IPage |
getPage()
Returns the page which ultimately contains the receiver. |
Object |
getProperty(String propertyName)
Gets a property of a component. |
IComponentSpecification |
getSpecification()
Returns the specification which defines the component. |
String |
getString(String key)
Deprecated. To be removed in 3.1, use getMessage(String) . |
void |
renderBody(IMarkupWriter writer,
IRequestCycle cycle)
Invoked to make the receiver render its body (the elements and components its tag wraps around, on its container's template). |
void |
setBinding(String name,
IBinding binding)
Adds a binding to a container. |
void |
setContainer(IComponent value)
Sets the container of the component. |
void |
setId(String value)
Sets the id of the component. |
void |
setNamespace(INamespace namespace)
Sets the INamespace for the component. |
void |
setPage(IPage value)
Sets the page which ultimiately contains the component. |
void |
setProperty(String propertyName,
Object value)
Sets a property of a component. |
void |
setSpecification(IComponentSpecification value)
Sets the specification used by the component. |
Methods inherited from interface org.apache.tapestry.IRender |
render |
Methods inherited from interface org.apache.tapestry.ILocationHolder |
setLocation |
Methods inherited from interface org.apache.tapestry.ILocatable |
getLocation |
Method Detail |
public void addAsset(String name, IAsset asset)
public void addComponent(IComponent component)
IPageLoader
public void addBody(IRender element)
The method renderBody(IMarkupWriter, IRequestCycle)
is used
to render these elements.
public Map getAssets()
The return value is unmodifiable.
public IAsset getAsset(String name)
public IBinding getBinding(String name)
Bindings are added to a component using setBinding(String,IBinding)
.
public Collection getBindingNames()
Collection
of the names of all bindings (which includes
bindings for both formal and informal parameters).
The return value is unmodifiable. It will be null for a page
,
or may simply be empty for a component with no bindings.
public Map getBindings()
Map
of the bindings
for this component;
this includes informal parameters
as well as formal bindings.
public IComponent getComponent(String id)
ApplicationRuntimeException
- runtime exception thrown if the named
component does not exist.public IComponent getContainer()
A page returns null.
public void setContainer(IComponent value)
ApplicationRuntimeException
.
public String getExtendedId()
getIdPath()
public String getId()
An id will be unique within the component which contains this component.
A page
will always return null.
public void setId(String value)
ApplicationRuntimeException
.
public String getIdPath()
page
to
this component, showing how components contain each other.
A page
will always return
null. A component contained on a page returns its simple id.
Other components return their container's id path followed by a period and their
own name.
getId()
public IPage getPage()
public void setPage(IPage value)
ApplicationRuntimeException
.
public IComponentSpecification getSpecification()
public void setSpecification(IComponentSpecification value)
ApplicationRuntimeException
.
public void renderBody(IMarkupWriter writer, IRequestCycle cycle)
RenderBody
component may operate.
public void setBinding(String name, IBinding binding)
IPageLoader
public Map getComponents()
Map
. This
allows peer components to work together without directly involving their
container ... the classic example is to have an Insert
work with an enclosing Foreach
.
This is late addition to Tapestry, because it also opens the door to abuse, since it is quite possible to break the "black box" aspect of a component by interacting directly with components it embeds. This creates ugly interelationships between components that should be seperated.
public void finishLoad(IRequestCycle cycle, IPageLoader loader, IComponentSpecification specification)
The exact timing is not specified, but any components contained by the receiving component will also have been constructed before this method is invoked.
As of release 1.0.6, this method is invoked before bindings are set. This should not affect anything, as bindings should only be used during renderring.
Release 2.2 added the cycle parameter which is, regretfully, not backwards compatible.
public String getString(String key)
getMessage(String)
.
key
- the key used to locate the message
public String getMessage(String key)
key
- the key used to locate the message
public IMessages getMessages()
public INamespace getNamespace()
INamespace
in which the component was defined
(as an alias).
public void setNamespace(INamespace namespace)
INamespace
for the component. The namespace
should only be set once.
public void setProperty(String propertyName, Object value)
propertyName
- the property namevalue
- the provided valuepublic Object getProperty(String propertyName)
propertyName
- the property name
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |