/** * Creates a basic value. * * @param router router for the document holding the value state * @param element element on which the value state is stored * @param serializer converter between strings and values * @param valueAttrName name to use for value attributes */ public static <E, C extends Comparable<C>> DocumentBasedBasicValue<E, C> create( DocumentEventRouter<? super E, E, ?> router, E element, Serializer<C> serializer, String valueAttrName) { DocumentBasedBasicValue<E, C> value = new DocumentBasedBasicValue<E, C>( router.getDocument(), element, serializer, valueAttrName); router.addAttributeListener(element, value); return value; }