org.apache.wicket.markup.html.basic
Class EnumLabel<T extends Enum<T>>

java.lang.Object
  extended by org.apache.wicket.Component
      extended by org.apache.wicket.markup.html.WebComponent
          extended by org.apache.wicket.markup.html.basic.EnumLabel<T>
Type Parameters:
T - enum type
All Implemented Interfaces:
Serializable, IEventSink, IEventSource, IConverterLocator, IGenericComponent<T>, IHeaderContributor, IRequestableComponent, IHierarchical<Component>, IClusterable

public class EnumLabel<T extends Enum<T>>
extends WebComponent
implements IGenericComponent<T>

A Label component that is used to render an enum value. The value renderered will be the result of a i18n resource lookup of the following form: <value.getClass().getSimpleName()>.<value.name()>, this format can be changed by overriding resourceKey(Enum)

Author:
igor.vaynberg
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.wicket.Component
ENABLE, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER
 
Constructor Summary
EnumLabel(String id)
          Constructor
EnumLabel(String id, IModel<T> model)
           
EnumLabel(String id, T value)
          Convenience constructor.
 
Method Summary
 IModel<T> getModel()
          Typesafe getter for the model
 T getModelObject()
          Typesafe getter for the model's object
protected  String nullValue()
           
protected  void onComponentTag(ComponentTag tag)
          Processes the component tag.
 void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag)
          Processes the body.
protected  String resourceKey(T value)
          Converts enum value into a resource key that should be used to lookup the text the label will display
 void setModel(IModel<T> model)
          Typesafe setter for the model
 void setModelObject(T object)
          Typesafe setter for the model object
 
Methods inherited from class org.apache.wicket.markup.html.WebComponent
onRender
 
Methods inherited from class org.apache.wicket.Component
add, addStateChange, afterRender, beforeRender, canCallListenerInterface, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, clearOriginalDestination, configure, continueToOriginalDestination, debug, detach, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, get, getAjaxRegionMarkupId, getApplication, getBehaviorById, getBehaviorId, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalInitialize, internalOnModelChanged, internalPrepareForRender, internalRenderComponent, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, newMarkupSourcingStrategy, onAfterRender, onAfterRenderChildren, onBeforeRender, onConfigure, onDetach, onEvent, onInitialize, onModelChanged, onModelChanging, onRemove, prepareForRender, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderHead, renderHead, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModel, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setRequestFlag, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, toString, toString, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, visitParents, warn, wrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EnumLabel

public EnumLabel(String id)
Constructor

Parameters:
id - See Component

EnumLabel

public EnumLabel(String id,
                 T value)
Convenience constructor. Same as Label(String, new Model<String>(String))

Parameters:
id - See Component
value - Enum value to render
See Also:
Component.Component(String, IModel)

EnumLabel

public EnumLabel(String id,
                 IModel<T> model)
Parameters:
id -
model -
See Also:
Component.Component(String, IModel)
Method Detail

onComponentTagBody

public void onComponentTagBody(MarkupStream markupStream,
                               ComponentTag openTag)
Description copied from class: Component
Processes the body.

Overrides:
onComponentTagBody in class Component
Parameters:
markupStream - The markup stream
openTag - The open tag for the body

resourceKey

protected String resourceKey(T value)
Converts enum value into a resource key that should be used to lookup the text the label will display

Parameters:
value -
Returns:
resource key

nullValue

protected String nullValue()
Returns:
value that should be displayed if model object is null

onComponentTag

protected void onComponentTag(ComponentTag tag)
Description copied from class: Component
Processes the component tag. Overrides of this method most likely should call the super implementation.

Overrides:
onComponentTag in class Component
Parameters:
tag - Tag to modify

getModel

public final IModel<T> getModel()
Description copied from interface: IGenericComponent
Typesafe getter for the model

Specified by:
getModel in interface IGenericComponent<T extends Enum<T>>
Returns:
the model

setModel

public final void setModel(IModel<T> model)
Description copied from interface: IGenericComponent
Typesafe setter for the model

Specified by:
setModel in interface IGenericComponent<T extends Enum<T>>
Parameters:
model - the new model

getModelObject

public final T getModelObject()
Description copied from interface: IGenericComponent
Typesafe getter for the model's object

Specified by:
getModelObject in interface IGenericComponent<T extends Enum<T>>
Returns:
the model object

setModelObject

public final void setModelObject(T object)
Description copied from interface: IGenericComponent
Typesafe setter for the model object

Specified by:
setModelObject in interface IGenericComponent<T extends Enum<T>>
Parameters:
object - the new model object


Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.