Interface ClassList
- All Superinterfaces:
Collection<String>,Iterable<String>,Serializable,Set<String>
- All Known Implementing Classes:
ImmutableClassList,OverlayClassListProxy
Element.- Since:
- 1.0
- Author:
- Vaadin Ltd
-
Method Summary
Modifier and TypeMethodDescriptiondefault SignalBinding<List<String>> Binds the class names to the provided signal.default SignalBinding<Boolean> Binds the presence of the given class name to the provided signal.default booleanSets or removes the given class name, based on thesetparameter.Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Method Details
-
set
Sets or removes the given class name, based on thesetparameter.- Parameters:
className- the class name to set or removeset- true to set the class name, false to remove it- Returns:
- true if the class list was modified (class name added or removed), false otherwise
-
bind
Binds the presence of the given class name to the provided signal. The class name is immediately added or removed based on the current signal value when the binding is created. The class is added when the signal value istrueand removed when the value isfalse.After the initial application, the binding is kept synchronized with any subsequent signal value changes while the owning
Elementis in attached state. While a binding for the given class name is active, manual calls toSet.add(Object),Set.remove(Object)orset(String, boolean)for that name will throw aBindingActiveException. When the element is in detached state, signal value changes have no effect.Bulk operations that indiscriminately replace or clear the class list (for example
Set.clear()or setting theclassattribute viaElement.setAttribute(String, String)) throw aBindingActiveExceptionif any binding is active.- Parameters:
name- the class name to bind, notnullor blanksignal- the boolean signal to bind to, notnull- Throws:
BindingActiveException- thrown when there is already an existing binding- Since:
- 25.0
-
bind
Binds the class names to the provided signal. The class list is immediately updated to match the current signal value when the binding is created, and is kept synchronized with any subsequent signal value changes while the element is attached. Only one group binding is allowed per class list.The group binding coexists with static values and individual toggle bindings. Names that appear in both sources are deduplicated by the underlying classList (Set behavior).
Null or empty entries in the list and a
nulllist value are silently ignored.Bulk operations that indiscriminately replace or clear the class list (for example
Set.clear()or setting theclassattribute viaElement.setAttribute(String, String)) throw aBindingActiveExceptionif any binding is active.- Parameters:
names- the signal providing the list of class names, notnull- Throws:
BindingActiveException- thrown when there is already an existing group binding- Since:
- 25.1
-