org.zkoss.zk.ui
Interface IdSpace

All Known Subinterfaces:
Macro, Page
All Known Implementing Classes:
HtmlMacroComponent, PageImpl

public interface IdSpace

Implemented by a component (Component) and a page (Page) to denote that all its descendant and itself forms an independent ID space.

In an ID space, ID of each component (Component.getId()) must be unique. And, you could retrieve any component in the same ID space by calling getFellow(java.lang.String) upon any component of the same ID space.

For sake of description, components in the same ID space are called fellows. If the component has an ancestor which implements IdSpace, we say a component belongs to the ID space owned by the ancestor. If no such ancestor exists, the component belongs to the ID space owned by the page. The ancestor and the page is called the owner (Component.getSpaceOwner()).

For sake of description, we also call the ID space as space X, if the owner is component X (or page X). If component Y is a child of X and also implements IdSpace (aka., another owner), then space X includes component Y, but EXCLUDES descendants of Y. In other words, Y belongs to space X and space Y. Thus, to get a child Z in the Y space, you shall X.getFellow('Y').getFellow('Z').

Example: Assumes component A is a child of B, B a child of C and C a child of D. If only C implements IdSpace, A, B and C are all belonged to the C space. D doesn't belong any space.

If both C and D implements IdSpace, C and D belongs to the D space while A, B and C belongs to the C space.

Note: to make a component (deriving from AbstractComponent) an ID space owner, all it needs to do is to implement this interface.

Author:
tomyeh

Method Summary
 Component getFellow(java.lang.String id)
          Returns a component of the specified ID in the same ID space.
 Component getFellowIfAny(java.lang.String id)
          Returns a component of the specified ID in the same ID space, or null if not found.
 

Method Detail

getFellow

Component getFellow(java.lang.String id)
Returns a component of the specified ID in the same ID space. Components in the same ID space are called fellows.

Unlike getFellowIfAny(java.lang.String), it throws an exception if not found.

Throws:
ComponentNotFoundException - is thrown if this component doesn't belong to any ID space

getFellowIfAny

Component getFellowIfAny(java.lang.String id)
Returns a component of the specified ID in the same ID space, or null if not found.

Unlike getFellow(java.lang.String), it returns null if not found.



Copyright © 2005-2007 Potix Corporation. All Rights Reserved.