Package org.apache.wicket.behavior
Class AttributeAppender
java.lang.Object
org.apache.wicket.behavior.Behavior
org.apache.wicket.AttributeModifier
org.apache.wicket.behavior.AttributeAppender
- All Implemented Interfaces:
Serializable
,IComponentAwareEventSink
,IComponentAwareHeaderContributor
,IClusterable
- Direct Known Subclasses:
ClassAttributeModifier
,StyleAttributeModifier
AttributeModifier that appends the given value, rather than replace it. This is especially useful
for adding CSS classes to markup elements, or adding JavaScript snippets to existing element
handlers.
<a href="#" wicket:id="foo" class="link" onmouseover="doSomething()">can be modified with these AttributeAppenders:
link.add(new AttributeAppender("class", Model.of("hot"))); link.add(new AttributeAppender("onmouseover", Model.of("foo();return false;")).setSeparator(";"));this will result in the following markup:
<a href="#" wicket:id="foo" class="link hot" onmouseover="doSomething();foo();return false;">
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.wicket.AttributeModifier
AttributeModifier.MarkerValue
-
Field Summary
Fields inherited from class org.apache.wicket.AttributeModifier
VALUELESS_ATTRIBUTE_ADD, VALUELESS_ATTRIBUTE_REMOVE
-
Constructor Summary
ConstructorsConstructorDescriptionAttributeAppender
(String attribute, Serializable value) Creates an attribute modifier that appends thevalue
to the attribute's current value, optionally separated by theseparator
.AttributeAppender
(String attribute, Serializable value, String separator) Creates an AttributeModifier that appends the value to the current value of the attribute, and will add the attribute when it is not there already.AttributeAppender
(String attribute, IModel<?> replaceModel) Creates an attribute modifier that concatenates thereplaceModel
to the attribute's current value, optionally separated by theseparator
.AttributeAppender
(String attribute, IModel<?> appendModel, String separator) Creates an AttributeModifier that appends the appendModel's value to the current value of the attribute, and will add the attribute when it is not there already. -
Method Summary
Modifier and TypeMethodDescriptionGets the separator used by attribute appenders and prependers.protected Serializable
Gets the value that should replace the current attribute value.setSeparator
(String separator) Sets the separator used by attribute appenders and prependers.toString()
Methods inherited from class org.apache.wicket.AttributeModifier
append, append, detach, getAttribute, getReplaceModel, onComponentTag, prepend, prepend, remove, replace, replace, replaceAttributeValue
Methods inherited from class org.apache.wicket.behavior.Behavior
afterRender, beforeRender, bind, canCallListener, getStatelessHint, isEnabled, isTemporary, onAttribute, onConfigure, onEvent, onException, onRemove, onTag, renderHead, unbind
-
Constructor Details
-
AttributeAppender
Creates an attribute modifier that concatenates thereplaceModel
to the attribute's current value, optionally separated by theseparator
.- Parameters:
attribute
-replaceModel
-
-
AttributeAppender
Creates an attribute modifier that appends thevalue
to the attribute's current value, optionally separated by theseparator
.- Parameters:
attribute
-value
-
-
AttributeAppender
Creates an AttributeModifier that appends the value to the current value of the attribute, and will add the attribute when it is not there already.- Parameters:
attribute
- the attribute to append the appendModels value tovalue
- the value to appendseparator
- the separator string, comes between the original value and the append value
-
AttributeAppender
Creates an AttributeModifier that appends the appendModel's value to the current value of the attribute, and will add the attribute when it is not there already.- Parameters:
attribute
- the attribute to append the appendModels value toappendModel
- the model supplying the value to appendseparator
- the separator string, comes between the original value and the append value
-
-
Method Details
-
getSeparator
Gets the separator used by attribute appenders and prependers.- Returns:
- the separator used by attribute appenders and prependers.
-
setSeparator
Sets the separator used by attribute appenders and prependers.- Parameters:
separator
- a space, semicolon or other character used to separate the current value and the appended/prepended value.- Returns:
- this
-
newValue
Description copied from class:AttributeModifier
Gets the value that should replace the current attribute value. This gives users the ultimate means to customize what will be used as the attribute value. For instance, you might decide to append the replacement value to the current instead of just replacing it as is Wicket's default.- Overrides:
newValue
in classAttributeModifier
- Parameters:
currentValue
- The current attribute value. This value might be null!appendValue
- The replacement value. This value might be null!- Returns:
- The value that should replace the current attribute value
-
toString
- Overrides:
toString
in classAttributeModifier
-