Class HtmlNativeComponent
- java.lang.Object
-
- org.zkoss.zk.ui.AbstractComponent
-
- org.zkoss.zk.ui.HtmlNativeComponent
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,Component,DynamicPropertied,DynamicTag,Native,NonFellow,Scope,ComponentCtrl
public class HtmlNativeComponent extends AbstractComponent implements DynamicTag, Native
A component used to represent XML elements that are associated with the native namespace (http://www.zkoss.org/2005/zk/native).It contains the content that shall be sent directly to client. It has three parts: prolog, children and epilog. The prolog (
getPrologContent()) and epilog (getEpilogContent()) are bothString.When this component is rendered (
redraw(java.io.Writer)), it generates the prolog first, the children and then the epilog.- Since:
- 3.0.0
- Author:
- tomyeh
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classHtmlNativeComponent.ExtraCtrlstatic classHtmlNativeComponent.HtmlHelperThe HTML helper.-
Nested classes/interfaces inherited from class org.zkoss.zk.ui.AbstractComponent
AbstractComponent.Children, AbstractComponent.ForwardInfo, AbstractComponent.TargetInfo
-
Nested classes/interfaces inherited from interface org.zkoss.zk.ui.ext.Native
Native.Helper
-
-
Field Summary
-
Fields inherited from interface org.zkoss.zk.ui.Component
APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE
-
Fields inherited from interface org.zkoss.zk.ui.sys.ComponentCtrl
AFTER_CHILD_ADDED, AFTER_CHILD_REMOVED, AFTER_CLONED, AFTER_PAGE_ATTACHED, AFTER_PAGE_DETACHED, AFTER_PARENT_CHANGED, CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
-
-
Constructor Summary
Constructors Constructor Description HtmlNativeComponent()Constructs aHtmlNativeComponentcomponent.HtmlNativeComponent(java.lang.String tag)Constructs aHtmlNativeComponentcomponent with the specified tag name.HtmlNativeComponent(java.lang.String tag, java.lang.String prolog, java.lang.String epilog)Constructs aHtmlNativeComponentcomponent with the specified prolog and epilog.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDeclaredNamespace(org.zkoss.idom.Namespace ns)Adds a declared namespace.java.util.List<org.zkoss.idom.Namespace>getDeclaredNamespaces()Returns a readonly list of the declared namespaces (Namespace), or empty if no declared namespace.java.util.Map<java.lang.String,java.lang.Object>getDynamicProperties()Returns all available dynamic properties.java.lang.ObjectgetDynamicProperty(java.lang.String name)Returns the property value of the specified name.java.lang.StringgetEpilogContent()Returns the epilog content.java.lang.ObjectgetExtraCtrl()Returns the extra controls that tell ZK how to handle this component specially.Native.HelpergetHelper()Returns the helper to generate the output of the native components.java.lang.StringgetPrologContent()Returns the prolog content.PropertyAccessgetPropertyAccess(java.lang.String prop)Returns the corresponding property access object from the given property name, if any.java.lang.StringgetTag()Returns the tag name, or null if plain text.java.lang.StringgetWidgetClass()Returns the widget class, "zk.Native".booleanhasDynamicProperty(java.lang.String name)Returns whether a dynamic property is defined.booleanhasTag(java.lang.String tag)Returns whether the specified tag is allowed.voidredraw(java.io.Writer out)Redraws this component and all its descendants.protected voidrenderProperties(ContentRenderer renderer)Called by (ComponentCtrl.redraw(java.io.Writer)) to render the properties, excluding the enclosing tag and children.voidsetDynamicProperty(java.lang.String name, java.lang.Object value)Sets a property with the specified name and value.voidsetEpilogContent(java.lang.String epilog)Sets the epilog content.voidsetPrologContent(java.lang.String prolog)Sets the prolog content.voidsetTag(java.lang.String tag)Sets the tag name.booleansetVisible(boolean visible)Sets whether this component is visible.-
Methods inherited from class org.zkoss.zk.ui.AbstractComponent
addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildAdded, beforeChildRemoved, beforeParentChanged, clone, destroyIndexCacheMap, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, disableHostChanged, enableBindingAnnotation, enableHostChanged, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getCallback, getChildren, getClientAttribute, getClientDataAttribute, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getForwards, getId, getIndexCacheMap, getLastChild, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowFellowIfAny, getShadowRoots, getShadowVariable, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttributeNames, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, initIndexCacheMap, insertBefore, invalidate, isChildable, isDisabledHostChanged, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, onParentChanged, onWrongValue, query, queryAll, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, renderPropertiesOnly, replace, response, response, response, service, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setSubBindingAnnotationCount, setTemplate, setVisibleDirectly, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateByClient, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
-
-
-
-
Constructor Detail
-
HtmlNativeComponent
public HtmlNativeComponent()
Constructs aHtmlNativeComponentcomponent.
-
HtmlNativeComponent
public HtmlNativeComponent(java.lang.String tag)
Constructs aHtmlNativeComponentcomponent with the specified tag name.- Parameters:
tag- the tag name. If null or empty, plain text is assumed.
-
HtmlNativeComponent
public HtmlNativeComponent(java.lang.String tag, java.lang.String prolog, java.lang.String epilog)Constructs aHtmlNativeComponentcomponent with the specified prolog and epilog.- Parameters:
tag- the tag name. If null or empty, plain text is assumed.prolog- the content right before the children, if any.epilog- the content right after the children, if any.
-
-
Method Detail
-
getWidgetClass
public java.lang.String getWidgetClass()
Returns the widget class, "zk.Native".- Specified by:
getWidgetClassin interfaceComponent- Overrides:
getWidgetClassin classAbstractComponent- Since:
- 5.0.0
- See Also:
Component.setWidgetClass(java.lang.String)
-
getTag
public java.lang.String getTag()
Returns the tag name, or null if plain text.
-
getDeclaredNamespaces
public java.util.List<org.zkoss.idom.Namespace> getDeclaredNamespaces()
Description copied from interface:NativeReturns a readonly list of the declared namespaces (Namespace), or empty if no declared namespace.- Specified by:
getDeclaredNamespacesin interfaceNative
-
addDeclaredNamespace
public void addDeclaredNamespace(org.zkoss.idom.Namespace ns)
Description copied from interface:NativeAdds a declared namespace. The added declared namespace will be generated to the output.- Specified by:
addDeclaredNamespacein interfaceNative- Parameters:
ns- the namespace (never null).
-
getPrologContent
public java.lang.String getPrologContent()
Description copied from interface:NativeReturns the prolog content. It is the content generated before the child components, if any.Default: empty ("").
- Specified by:
getPrologContentin interfaceNative
-
setPrologContent
public void setPrologContent(java.lang.String prolog)
Description copied from interface:NativeSets the prolog content. It is the content generated before the child components, if any.- Specified by:
setPrologContentin interfaceNative
-
getEpilogContent
public java.lang.String getEpilogContent()
Description copied from interface:NativeReturns the epilog content. It is the content generated before the child components, if any.Default: empty ("").
- Specified by:
getEpilogContentin interfaceNative
-
setEpilogContent
public void setEpilogContent(java.lang.String epilog)
Description copied from interface:NativeSets the epilog content. It is the content generated before the child components, if any.- Specified by:
setEpilogContentin interfaceNative
-
getHelper
public Native.Helper getHelper()
Description copied from interface:NativeReturns the helper to generate the output of the native components.
-
setVisible
public boolean setVisible(boolean visible)
Description copied from interface:ComponentSets whether this component is visible. A component is visible by default. Both visible and invisible components are rendered in a browser's DOM. But an invisible component's DOM elements with CSSdisplay:none. Since a DOM element will inherit its parent's CSS rules, a component is visible only if all of its parents are also visible.
To remove a component's DOM elements, useComponent.detach().- Specified by:
setVisiblein interfaceComponent- Overrides:
setVisiblein classAbstractComponent- Returns:
- the previous visibility
-
redraw
public void redraw(java.io.Writer out) throws java.io.IOExceptionDescription copied from class:AbstractComponentRedraws this component and all its descendants.Default: It uses
JsContentRendererto render all information in JavaScript codes. For devices that don't support JavaScript, it must override this method.To generate all information, it first invokes
AbstractComponent.renderProperties(org.zkoss.zk.ui.sys.ContentRenderer)to render component's properties, and thenAbstractComponent.redrawChildren(java.io.Writer)to redraw children (and descendants) (by calling theirAbstractComponent.redraw(java.io.Writer)).If a derived class wants to render more properties, it can override
AbstractComponent.renderProperties(org.zkoss.zk.ui.sys.ContentRenderer).If a derived class renders only a subset of its children (such as paging/cropping), it could override
AbstractComponent.redrawChildren(java.io.Writer).If a deriving class wants to do something before
AbstractComponent.renderProperties(org.zkoss.zk.ui.sys.ContentRenderer), it has to overrideAbstractComponent.redraw(java.io.Writer).If a deriving class doesn't want to render in JavaScript codes, it has to override
AbstractComponent.redraw(java.io.Writer)with the proper implementation ofContentRenderer.- Specified by:
redrawin interfaceComponentCtrl- Overrides:
redrawin classAbstractComponent- Throws:
java.io.IOException
-
renderProperties
protected void renderProperties(ContentRenderer renderer) throws java.io.IOException
Description copied from class:AbstractComponentCalled by (ComponentCtrl.redraw(java.io.Writer)) to render the properties, excluding the enclosing tag and children.Default: it renders
AbstractComponent.getId()if it was assigned, and event names if listened (and listed inAbstractComponent.getClientEvents()).Note: it doesn't render
AbstractComponent.getWidgetClass(),AbstractComponent.getUuid()andAbstractComponent.getMold(), which are caller's job.- Overrides:
renderPropertiesin classAbstractComponent- Throws:
java.io.IOException
-
setTag
public void setTag(java.lang.String tag) throws WrongValueExceptionSets the tag name.- Specified by:
setTagin interfaceDynamicTag- Parameters:
tag- the tag name. If null or empty, plain text is assumed.- Throws:
WrongValueException
-
hasTag
public boolean hasTag(java.lang.String tag)
Description copied from interface:DynamicTagReturns whether the specified tag is allowed.- Specified by:
hasTagin interfaceDynamicTag
-
hasDynamicProperty
public boolean hasDynamicProperty(java.lang.String name)
Description copied from interface:DynamicPropertiedReturns whether a dynamic property is defined.- Specified by:
hasDynamicPropertyin interfaceDynamicPropertied
-
getDynamicProperty
public java.lang.Object getDynamicProperty(java.lang.String name)
Description copied from interface:DynamicPropertiedReturns the property value of the specified name.- Specified by:
getDynamicPropertyin interfaceDynamicPropertied
-
getDynamicProperties
public java.util.Map<java.lang.String,java.lang.Object> getDynamicProperties()
Description copied from interface:DynamicPropertiedReturns all available dynamic properties.- Specified by:
getDynamicPropertiesin interfaceDynamicPropertied
-
setDynamicProperty
public void setDynamicProperty(java.lang.String name, java.lang.Object value) throws WrongValueExceptionDescription copied from interface:DynamicPropertiedSets a property with the specified name and value.If a component supports only String-type values, it could use org.zkoss.lang.Objects.toString() to convert the value to a String instance.
- Specified by:
setDynamicPropertyin interfaceDynamicPropertied- Throws:
WrongValueException
-
getPropertyAccess
public PropertyAccess getPropertyAccess(java.lang.String prop)
Description copied from interface:ComponentCtrlReturns the corresponding property access object from the given property name, if any.- Specified by:
getPropertyAccessin interfaceComponentCtrl- Overrides:
getPropertyAccessin classAbstractComponent- Parameters:
prop- the name of the property- Returns:
- null it means not to support for the property name.
-
getExtraCtrl
public java.lang.Object getExtraCtrl()
Description copied from class:AbstractComponentReturns the extra controls that tell ZK how to handle this component specially. It is used only by component developers.Default: null.
- Specified by:
getExtraCtrlin interfaceComponentCtrl- Overrides:
getExtraCtrlin classAbstractComponent- Returns:
- null if no special handling required. If the component
requires some special controls, it could return an object that
implements one or several interfaces in the org.zkoss.zk.ui.ext.render
package.
For example,
Cropper. - See Also:
ComponentCtrl.getExtraCtrl()
-
-