T - the node typepublic abstract class AbstractTree<T> extends Panel implements IGenericComponent<Set<T>>
NestedTree and TableTree. Uses its model for storing the
AbstractTree.State of its nodes.
Note that a tree has no notion of a selection. Handling state of nodes besides
expanse/collapse is irrelevant to a tree implementation.newContentComponent(String, IModel),
Serialized Form| Modifier and Type | Class and Description |
|---|---|
static class |
AbstractTree.State
The state of a node.
|
ENABLE, FLAG_AFTER_RENDERING, FLAG_INITIALIZED, FLAG_PREPARED_FOR_RENDER, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RENDERING, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER, RFLAG_CONTAINER_DEQUEING| Modifier | Constructor and Description |
|---|---|
protected |
AbstractTree(String id,
ITreeProvider<T> provider) |
protected |
AbstractTree(String id,
ITreeProvider<T> provider,
IModel<? extends Set<T>> state) |
| Modifier and Type | Method and Description |
|---|---|
void |
collapse(T t)
Collapse the given node, tries to update the affected branch if the change happens on an
AjaxRequestTarget. |
void |
expand(T t)
Expand the given node, tries to update the affected branch if the change happens on an
AjaxRequestTarget. |
IItemReuseStrategy |
getItemReuseStrategy() |
IModel<Set<T>> |
getModel()
Get the model of this tree.
|
Set<T> |
getModelObject()
Get the model object of this tree.
|
ITreeProvider<T> |
getProvider()
Get the provider of the tree nodes.
|
AbstractTree.State |
getState(T t)
Get the given node's
AbstractTree.State. |
protected IModel<?> |
initModel()
Delegate to
newModel() if none is inited in super implementation. |
protected abstract Component |
newContentComponent(String id,
IModel<T> model)
Create a new component for the content of a node.
|
protected IModel<Set<T>> |
newModel()
Factory method for a model, by default creates a model containing a
ProviderSubset. |
Component |
newNodeComponent(String id,
IModel<T> model)
Create a new component for a node.
|
protected void |
onDetach()
Overriden to detach the
ITreeProvider. |
AbstractTree<T> |
setItemReuseStrategy(IItemReuseStrategy strategy)
Sets the item reuse strategy.
|
void |
setModel(IModel<Set<T>> model)
Set the model.
|
void |
setModelObject(Set<T> state)
Set the model object.
|
abstract void |
updateBranch(T node,
AjaxRequestTarget target)
Convenience method to update a single branch on an
AjaxRequestTarget. |
abstract void |
updateNode(T node,
AjaxRequestTarget target)
Convenience method to update a single node on an
AjaxRequestTarget. |
getRegionMarkup, newMarkupSourcingStrategygetWebPage, getWebRequest, getWebResponse, getWebSessionadd, addDequeuedComponent, addOrReplace, autoAdd, canDequeueTag, contains, dequeue, dequeue, dequeuePreamble, findComponentToDequeue, get, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, internalAdd, internalInitialize, iterator, iterator, newDequeueContext, onAfterRenderChildren, onComponentTagBody, onInitialize, onRender, queue, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, swap, toString, toString, visitChildren, visitChildren, visitChildren, visitChildrenadd, addStateChange, afterRender, beforeRender, canCallListenerInterface, canCallListenerInterfaceAfterExpiry, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, clearOriginalDestination, configure, continueToOriginalDestination, 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, 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, internalOnModelChanged, internalPrepareForRender, internalRenderComponent, internalRenderHead, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, onAfterRender, onBeforeRender, onComponentTag, onConfigure, onEvent, onModelChanged, onModelChanging, onReAdd, onRemove, prepareForRender, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderHead, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setRequestFlag, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, visitParents, warn, wrapclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitdequeue, newDequeueContextprotected AbstractTree(String id, ITreeProvider<T> provider)
public AbstractTree<T> setItemReuseStrategy(IItemReuseStrategy strategy)
Items.strategy - item reuse strategyIItemReuseStrategypublic IItemReuseStrategy getItemReuseStrategy()
DefaultItemReuseStrategy
if none was set.DefaultItemReuseStrategypublic ITreeProvider<T> getProvider()
protected IModel<?> initModel()
newModel() if none is inited in super implementation.protected IModel<Set<T>> newModel()
ProviderSubset.
Depending on your ITreeProvider's model you might consider to provide a custom
Set implementation.
Note: The contained Set has at least to implement Set.add(Object),
Set.remove(Object) and Set.contains(Object).
public IModel<Set<T>> getModel()
getModel in interface IGenericComponent<Set<T>>public Set<T> getModelObject()
getModelObject in interface IGenericComponent<Set<T>>public void setModel(IModel<Set<T>> model)
setModel in interface IGenericComponent<Set<T>>model - the modelpublic void setModelObject(Set<T> state)
setModelObject in interface IGenericComponent<Set<T>>state - the model objectpublic void expand(T t)
AjaxRequestTarget.t - the node to expandgetModelObject(),
Set.add(Object),
updateBranch(Object, AjaxRequestTarget)public void collapse(T t)
AjaxRequestTarget.t - the object to collapsegetModelObject(),
Set.remove(Object),
updateBranch(Object, AjaxRequestTarget)public AbstractTree.State getState(T t)
AbstractTree.State.t - the node to get state forgetModelObject(),
Set.contains(Object)protected void onDetach()
ITreeProvider.onDetach in class MarkupContainerpublic Component newNodeComponent(String id, IModel<T> model)
id - the component idmodel - the model containing the nodeprotected abstract Component newContentComponent(String id, IModel<T> model)
id - the component idmodel - the model containing the nodepublic abstract void updateBranch(T node, AjaxRequestTarget target)
AjaxRequestTarget. Does nothing if
the given node is currently not visible or target is null.node - node to updatetarget - request targetpublic abstract void updateNode(T node, AjaxRequestTarget target)
AjaxRequestTarget. Does nothing if
the given node is currently not visible or target is null.node - node to updatetarget - request target or nullCopyright © 2006–2015 Apache Software Foundation. All rights reserved.