Class ZonedDateTimeField
- java.lang.Object
-
- org.apache.wicket.Component
-
- org.apache.wicket.MarkupContainer
-
- org.apache.wicket.markup.html.WebMarkupContainer
-
- org.apache.wicket.markup.html.form.LabeledWebMarkupContainer
-
- org.apache.wicket.markup.html.form.FormComponent<T>
-
- org.apache.wicket.markup.html.form.FormComponentPanel<T>
-
- org.apache.wicket.extensions.markup.html.form.datetime.ZonedDateTimeField
-
- All Implemented Interfaces:
Serializable
,Iterable<Component>
,IEventSink
,IEventSource
,IFeedbackContributor
,IConverterLocator
,IGenericComponent<ZonedDateTime,FormComponent<ZonedDateTime>>
,IMetadataContext<Serializable,Component>
,IQueueRegion
,IFormModelUpdateListener
,IFormVisitorParticipant
,ILabelProvider<String>
,IHeaderContributor
,IRequestableComponent
,IHierarchical<Component>
,IClusterable
public class ZonedDateTimeField extends FormComponentPanel<T>
Works on aZonedDateTime
object. SeeAbstractDateTimeField
for further details.- Author:
- eelcohillenius
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
DATE_CSS_CLASS_KEY
static String
TIME_CSS_CLASS_KEY
-
Fields inherited from class org.apache.wicket.markup.html.form.FormComponent
FLAG_CONVERT_EMPTY_INPUT_STRING_TO_NULL, VALUE_SEPARATOR
-
Fields inherited from class org.apache.wicket.Component
ENABLE, FLAG_INITIALIZED, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER, RFLAG_CONTAINER_DEQUEING, RFLAG_CONTAINER_HAS_REMOVALS
-
-
Constructor Summary
Constructors Constructor Description ZonedDateTimeField(String id)
Construct.ZonedDateTimeField(String id, IModel<ZonedDateTime> model)
Construct.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
convertInput()
Sets the converted input, which is an instance ofDate
, possibly null.protected ZonedDateTime
createTemporal(LocalDate date, LocalTime time)
Creates a zoned date time in the systems default zone.protected LocalDateTextField
getDateField()
protected LocalTime
getDefaultTime()
Get a default time if none was entered.String
getInput()
Gets the request parameter for this component as a string.protected LocalDate
getLocalDate(ZonedDateTime temporal)
Get the local date from the given temporal.protected LocalTime
getLocalTime(ZonedDateTime temporal)
Get the time from the given temporal.protected TimeField
getTimeField()
protected LocalDateTextField
newDateField(String id, IModel<LocalDate> dateFieldModel)
create a newLocalDateTextField
instance to be added to this panel.protected TimeField
newTimeField(String id, IModel<LocalTime> timeFieldModel)
create a newTimeField
instance to be added to this panel.protected void
onBeforeRender()
Called on all visible components before any component is rendered.protected void
onInitialize()
This method is meant to be used as an alternative to initialize components.-
Methods inherited from class org.apache.wicket.markup.html.form.FormComponentPanel
checkRequired, clearInput, newMarkupSourcingStrategy, onComponentTag
-
Methods inherited from class org.apache.wicket.markup.html.form.FormComponent
add, add, convertValue, error, getConvertedInput, getDefaultLabel, getDefaultLabel, getForm, getInputAsArray, getInputName, getModelValue, getParameterValues, getRawInput, getType, getValidatorKeyPrefix, getValidators, getValue, hasRawInput, inputAsInt, inputAsInt, inputAsIntArray, inputChanged, internalOnModelChanged, invalid, isInputNullable, isMultiPart, isRequired, isValid, newValidatable, newValidationError, onDetach, onDisabled, onInvalid, onValid, processChildren, processInput, remove, reportRequiredError, setConvertedInput, setLabel, setModelValue, setRequired, setType, shouldTrimInput, trim, updateAutoLabels, updateAutoLabels, updateCollectionModel, updateModel, valid, validate, validateRequired, validateValidators, visitComponentsPostOrder, visitFormComponentsPostOrder
-
Methods inherited from class org.apache.wicket.markup.html.form.LabeledWebMarkupContainer
getLabel
-
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getWebApplication, getWebPage, getWebRequest, getWebResponse, getWebSession
-
Methods inherited from class org.apache.wicket.MarkupContainer
add, addDequeuedComponent, addOrReplace, autoAdd, canDequeueTag, contains, dequeue, dequeue, dequeuePreamble, findChildComponent, findComponentToDequeue, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, getRegionMarkup, internalAdd, internalInitialize, iterator, iterator, newDequeueContext, onComponentTagBody, onRender, queue, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, stream, streamChildren, toString, toString, visitChildren, visitChildren
-
Methods inherited from class org.apache.wicket.Component
add, addStateChange, beforeRender, canCallListener, canCallListenerAfterExpiry, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, clearOriginalDestination, configure, continueToOriginalDestination, createConverter, debug, detach, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, 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, getMarkupTag, 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, internalRenderComponent, internalRenderHead, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isInitialized, isRenderAllowed, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onConfigure, onEvent, onModelChanged, onModelChanging, onReAdd, onRemove, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderPart, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlForListener, urlForListener, visitParents, visitParents, warn, wrap
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.wicket.IGenericComponent
getDefaultModel, getDefaultModelObject, getModel, getModelObject, setDefaultModel, setDefaultModelObject, setModel, setModelObject
-
Methods inherited from interface org.apache.wicket.IQueueRegion
dequeue, getRegionMarkup, newDequeueContext
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
ZonedDateTimeField
public ZonedDateTimeField(String id)
Construct.- Parameters:
id
-
-
ZonedDateTimeField
public ZonedDateTimeField(String id, IModel<ZonedDateTime> model)
Construct.- Parameters:
id
-model
-
-
-
Method Detail
-
createTemporal
protected ZonedDateTime createTemporal(LocalDate date, LocalTime time)
Creates a zoned date time in the systems default zone.- Returns:
- See Also:
ZoneId.systemDefault()
-
getLocalDate
protected LocalDate getLocalDate(ZonedDateTime temporal)
Get the local date from the given temporal.- Returns:
- local date
-
getLocalTime
protected LocalTime getLocalTime(ZonedDateTime temporal)
Get the time from the given temporal.- Returns:
- time
-
onInitialize
protected void onInitialize()
Description copied from class:Component
This method is meant to be used as an alternative to initialize components. Usually the component's constructor is used for this task, but sometimes a component cannot be initialized in isolation, it may need to access its parent component or its markup in order to fully initialize. This method is invoked once per component's lifecycle when a path exists from this component to thePage
thus providing the component with an atomic callback when the component's environment is built out.Overrides must call super#
Component.onInitialize()
. Usually this should be the first thing an override does, much like a constructor.Parent containers are guaranteed to be initialized before their children
It is safe to use
Component.getPage()
in this methodNOTE:The timing of this call is not precise, the contract is that it is called sometime before
Component.onBeforeRender()
.- Overrides:
onInitialize
in classMarkupContainer
-
getDateField
protected final LocalDateTextField getDateField()
- Returns:
- The date TextField
-
getTimeField
protected final TimeField getTimeField()
- Returns:
- The date TextField
-
getInput
public String getInput()
Description copied from class:FormComponent
Gets the request parameter for this component as a string.- Overrides:
getInput
in classFormComponent<T extends Temporal>
- Returns:
- The value in the request for this component
-
convertInput
public void convertInput()
Sets the converted input, which is an instance ofDate
, possibly null. It combines the inputs of the nested date, hours, minutes and am/pm fields and constructs a date from it.Note that overriding this method is a better option than overriding
FormComponent.updateModel()
like the first versions of this class did. The reason for that is that this method can be used by form validators without having to depend on the actual model being updated, and this method is called by the default implementation ofFormComponent.updateModel()
anyway (so we don't have to override that anymore).- Overrides:
convertInput
in classFormComponent<T extends Temporal>
- See Also:
IConverterLocator
,Application.newConverterLocator()
,IConverter.convertToObject(String, Locale)
,FormComponent.newValidationError(ConversionException)
-
getDefaultTime
protected LocalTime getDefaultTime()
Get a default time if none was entered.- Returns:
null
by default
-
newDateField
protected LocalDateTextField newDateField(String id, IModel<LocalDate> dateFieldModel)
create a newLocalDateTextField
instance to be added to this panel.- Parameters:
id
- the component iddateFieldModel
- model that should be used by theLocalDateTextField
- Returns:
- a new date text field instance
-
newTimeField
protected TimeField newTimeField(String id, IModel<LocalTime> timeFieldModel)
create a newTimeField
instance to be added to this panel.- Parameters:
id
- the component idtimeFieldModel
- model that should be used by theTimeField
- Returns:
- a new time text field instance
-
onBeforeRender
protected void onBeforeRender()
Description copied from class:Component
Called on all visible components before any component is rendered.NOTE: If you override this, you *must* call super.onBeforeRender() within your implementation. Because this method is responsible for cascading
Changes to the component tree can be made only before calling super.onBeforeRender().Component.onBeforeRender()
call to its children it is strongly recommended that super call is made at the end of the override.- Overrides:
onBeforeRender
in classFormComponent<T extends Temporal>
- See Also:
Component.onBeforeRender()
-
-