|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IComponent
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 |
---|
void addAsset(String name, IAsset asset)
void addComponent(IComponent component)
IPageLoader
void addBody(IRender element)
The method renderBody(IMarkupWriter, IRequestCycle)
is used
to render these elements.
Map getAssets()
The return value is unmodifiable.
IAsset getAsset(String name)
IBinding getBinding(String name)
Bindings are added to a component using setBinding(String,IBinding)
.
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.
Map getBindings()
Map
of the bindings
for this component;
this includes informal parameters
as well as formal bindings.
IComponent getComponent(String id)
ApplicationRuntimeException
- runtime exception thrown if the named
component does not exist.IComponent getContainer()
A page returns null.
void setContainer(IComponent value)
ApplicationRuntimeException
.
String getExtendedId()
getIdPath()
String getId()
An id will be unique within the component which contains this component.
A page
will always return null.
void setId(String value)
ApplicationRuntimeException
.
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()
IPage getPage()
void setPage(IPage value)
ApplicationRuntimeException
.
IComponentSpecification getSpecification()
void setSpecification(IComponentSpecification value)
ApplicationRuntimeException
.
void renderBody(IMarkupWriter writer, IRequestCycle cycle)
RenderBody
component may operate.
void setBinding(String name, IBinding binding)
IPageLoader
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.
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.
String getString(String key)
getMessage(String)
.
key
- the key used to locate the message
String getMessage(String key)
key
- the key used to locate the message
IMessages getMessages()
INamespace getNamespace()
INamespace
in which the component was defined
(as an alias).
void setNamespace(INamespace namespace)
INamespace
for the component. The namespace
should only be set once.
void setProperty(String propertyName, Object value)
propertyName
- the property namevalue
- the provided valueObject getProperty(String propertyName)
propertyName
- the property name
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |