|
||||||||||
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 |
enterActiveState()
Invoked after finishLoad(IRequestCycle, IPageLoader, IComponentSpecification) to
switch the component from its initial construction state into its active state. |
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. |
IBeanProvider |
getBeans()
Returns a IBeanProvider from which managed beans can be obtained. |
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. |
String |
getClientId()
Returns the component's client-side element id. |
IComponent |
getComponent(String id)
Retrieves an contained component by its id. |
Map |
getComponents()
Returns the contained components as an unmodifiable Map . |
IContainedComponent |
getContainedComponent()
Returns the IContainedComponent . |
IComponent |
getContainer()
Returns the component which embeds the receiver. |
IComponentEventInvoker |
getEventInvoker()
Returns the event connection manager services that handles creating/accepting browser events associated with various properties of components. |
String |
getExtendedId()
Returns a string identifying the name of the page and the id path of the reciever within the page (seperated by a slash). |
String |
getId()
Returns the simple id of the component, as defined in its specification. |
String |
getIdPath()
Returns the qualified id of the component. |
ListenerMap |
getListeners()
Returns a ListenerMap for the component. |
org.apache.hivemind.Messages |
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. |
IComponentSpecification |
getSpecification()
Returns the specification which defines the component. |
String |
getSpecifiedId()
Returns either the normal getId() value OR the value of any binding
named id - if one exists. |
String |
getTemplateTagName()
Though most component implementations ignore the specific html tag used to reference a component, this value may be used for those components that do wish to use the same tag that was provided when rendering a component. |
boolean |
isRendering()
Returns true if the component is currently rendering. |
String |
peekClientId()
Used internally to "peek" at what the next generated client id will be for this component when it renders. |
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 |
setClientId(String id)
Sets the client ID. |
void |
setContainedComponent(IContainedComponent containedComponent)
Sets the getContainedComponent() property; this may only be done once. |
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 |
setTemplateTagName(String tag)
Sets the template tag name used to reference this component. |
Methods inherited from interface org.apache.tapestry.IRender |
---|
render |
Methods inherited from interface org.apache.hivemind.LocationHolder |
---|
setLocation |
Methods inherited from interface org.apache.hivemind.Locatable |
---|
getLocation |
Method Detail |
---|
void addAsset(String name, IAsset asset)
name
- The lookup name the asset will be bound to and referenacable as.asset
- The asset to add.void addComponent(IComponent component)
component
- The component to add.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)
org.apache.hivemind.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 getSpecifiedId()
getId()
value OR the value of any binding
named id
- if one exists. Higher precedence is given to bound id values.
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()
String getClientId()
IFormComponent
only binding but now applies to all components. The method
should check to see if any id parameter/property has been set already and use that
above all others, falling back to getId()
if nothing else is found.
void setClientId(String id)
id
- The client id to set.String peekClientId()
IRequestCycle.peekUniqueId(String)
.
String getTemplateTagName()
Example:
<fieldset jwcid="@If" condition="true" > <input type="text" /> </fieldset>
In the example above, the value of the template tag would be "fieldset" for the If component.
void setTemplateTagName(String tag)
Set by the component template loader automatically, people shouldn't normally have any reason to try setting this.
tag
- The tag name to set.IPage getPage()
void setPage(IPage value)
ApplicationRuntimeException
.
IComponentSpecification getSpecification()
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
ForBean
.
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.
org.apache.hivemind.Messages 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.
boolean isRendering()
void enterActiveState()
finishLoad(IRequestCycle, IPageLoader, IComponentSpecification)
to
switch the component from its initial construction state into its active state. The
difference concerns parameters, whose defaults values may be set from inside
finishLoad(IRequestCycle, IPageLoader, IComponentSpecification)
.
IBeanProvider getBeans()
IBeanProvider
from which managed beans can be obtained.
ListenerMap getListeners()
ListenerMap
for the component. The map contains a number of synthetic
read-only properties that implement the IActionListener
interface, but in fact, cause
public instance methods to be invoked (via reflection).
IContainedComponent getContainedComponent()
IContainedComponent
. This will be null for
pages. This property is set when a component is constructed, and links the component instance
to the reference in the containing page or component's template or specification. This is
useful to allow a component to know its type or the meta-data associated with the component.
void setContainedComponent(IContainedComponent containedComponent)
getContainedComponent()
property; this may only be done once.
containedComponent
- may not be nullIComponentEventInvoker getEventInvoker()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |