/** * Gets the index of the currently opened index. * * @return the index of the opened panel or null if the accordion is closed. */ @Synchronize(property = OPENED_PROPERTY, value = OPENED_CHANGED_DOM_EVENT) public OptionalInt getOpenedIndex() { final String opened = getElement().getProperty(OPENED_PROPERTY); return opened == null ? OptionalInt.empty() : OptionalInt.of(Integer.valueOf(opened)); }
private static void doCollectSynchronizedProperties(Class<?> clazz, Map<String, SynchronizedPropertyInfo> infos) { for (Method method : clazz.getDeclaredMethods()) { Synchronize annotation = method.getAnnotation(Synchronize.class); if (annotation == null) { continue; } if (!ReflectTools.isGetter(method)) { throw new IllegalStateException(method + " is annotated with @" + Synchronize.class.getSimpleName() + " even though it's not a getter."); } if (infos.containsKey(method.getName())) { continue; } String propertyName; if (annotation.property().isEmpty()) { propertyName = ReflectTools.getPropertyName(method); } else { propertyName = annotation.property(); } String[] eventNames = annotation.value(); infos.put(method.getName(), new SynchronizedPropertyInfo( propertyName, eventNames, annotation.allowUpdates())); } }
/** * Gets the opened panel. * * Caution should be exercised when using this method with an Accordion which along with its panels * were created in a template. Such template children would by default not be children of the * Accordion Flow component, thus making it possible for this method to return the wrong panel in such cases. * * @return the opened panel. */ @Synchronize(property = OPENED_PROPERTY, value = OPENED_CHANGED_DOM_EVENT) public Optional<AccordionPanel> getOpenedPanel() { final OptionalInt optionalOpenedIndex = getOpenedIndex(); if (!optionalOpenedIndex.isPresent()) { return Optional.empty(); } int index = optionalOpenedIndex.getAsInt(); return Accordion.getOpenedPanel(this, index); }
/** * Gets the zero-based index of the currently selected tab. * * @return the zero-based index of the selected tab, or -1 if none of the * tabs is selected */ @Synchronize(property = SELECTED, value = "selected-changed") public int getSelectedIndex() { return getElement().getProperty(SELECTED, -1); }
@Synchronize(property = "opened", value = "opened-changed") public boolean isOpened() { return getElement().getProperty("opened", false); }
/** * <p> * Description copied from corresponding location in WebComponent: * </p> * <p> * This property is set to true when the control value is invalid. * <p> * This property is synchronized automatically from client side when a * 'invalid-changed' event happens. * </p> * * @return the {@code invalid} property from the webcomponent */ @Synchronize(property = "invalid", value = "invalid-changed") protected boolean isInvalidBoolean() { return getElement().getProperty("invalid", false); }
/** * <p> * Description copied from corresponding location in WebComponent: * </p> * <p> * True if the radio button is checked. * <p> * This property is synchronized automatically from client side when a * 'checked-changed' event happens. * </p> * * @return the {@code checked} property from the webcomponent */ @Synchronize(property = "checked", value = "checked-changed") protected boolean isCheckedBoolean() { return getElement().getProperty("checked", false); }
/** * <p> * Description copied from corresponding location in WebComponent: * </p> * <p> * True if the overlay is currently displayed. * <p> * This property is synchronized automatically from client side when a * 'opened-changed' event happens. * </p> * * @return the {@code opened} property from the webcomponent */ @Synchronize(property = "opened", value = "opened-changed") protected boolean isOpenedBoolean() { return getElement().getProperty("opened", false); }
/** * <p> * Description copied from corresponding location in WebComponent: * </p> * <p> * Set to true if the value is invalid. * <p> * This property is synchronized automatically from client side when a * 'invalid-changed' event happens. * </p> * * @return the {@code invalid} property from the webcomponent */ @Synchronize(property = "invalid", value = "invalid-changed") protected boolean isInvalidBoolean() { return getElement().getProperty("invalid", false); }
/** * <p> * Description copied from corresponding location in WebComponent: * </p> * <p> * HTML representation of the rich text editor content. * <p> * This property is synchronized automatically from client side when a * 'html-value-changed' event happens. * </p> * * @return the {@code htmlValue} property from the webcomponent */ @Synchronize(property = "htmlValue", value = "html-value-changed") protected String getHtmlValueString() { return getElement().getProperty("htmlValue"); }
/** * <p> * Description copied from corresponding location in WebComponent: * </p> * <p> * This property is set to true when the control value is invalid. * <p> * This property is synchronized automatically from client side when a * 'invalid-changed' event happens. * </p> * * @return the {@code invalid} property from the webcomponent */ @Synchronize(property = "invalid", value = "invalid-changed") protected boolean isInvalidBoolean() { return getElement().getProperty("invalid", false); }
/** * <p> * Description copied from corresponding location in WebComponent: * </p> * <p> * This property is set to true when the value is invalid. * <p> * This property is synchronized automatically from client side when a * 'invalid-changed' event happens. * </p> * * @return the {@code invalid} property from the webcomponent */ @Synchronize(property = "invalid", value = "invalid-changed") protected boolean isInvalidBoolean() { return getElement().getProperty("invalid", false); }
/** * <p> * Description copied from corresponding location in WebComponent: * </p> * <p> * Specifies if the maximum number of files have been uploaded * <p> * This property is synchronized automatically from client side when a * 'max-files-reached-changed' event happens. * </p> * * @return the {@code maxFilesReached} property from the webcomponent */ @Synchronize(property = "maxFilesReached", value = "max-files-reached-changed") protected boolean isMaxFilesReachedBoolean() { return getElement().getProperty("maxFilesReached", false); }
/** * <p> * This property is set to true when the control value is invalid. * <p> * This property is synchronized automatically from client side when a * 'invalid-changed' event happens. * </p> * * @return the {@code invalid} property from the webcomponent */ @Synchronize(property = "invalid", value = "invalid-changed") @Override public boolean isInvalid() { return getElement().getProperty("invalid", false); }
/** * <p> * Description copied from corresponding location in WebComponent: * </p> * <p> * This property is set to true when the control value is invalid. * <p> * This property is synchronized automatically from client side when a * 'invalid-changed' event happens. * </p> * * @return the {@code invalid} property from the webcomponent */ @Synchronize(property = "invalid", value = "invalid-changed") protected boolean isInvalidBoolean() { return getElement().getProperty("invalid", false); }
/** * <p> * Description copied from corresponding location in WebComponent: * </p> * <p> * Set true to open the date selector overlay. * <p> * This property is synchronized automatically from client side when a * 'opened-changed' event happens. * </p> * * @return the {@code opened} property from the webcomponent */ @Synchronize(property = "opened", value = "opened-changed") protected boolean isOpenedBoolean() { return getElement().getProperty("opened", false); }
/** * <p> * Description copied from corresponding location in WebComponent: * </p> * <p> * Set to true if the value is invalid. * <p> * This property is synchronized automatically from client side when a * 'invalid-changed' event happens. * </p> * * @return the {@code invalid} property from the webcomponent */ @Synchronize(property = "invalid", value = "invalid-changed") protected boolean isInvalidBoolean() { return getElement().getProperty("invalid", false); }
/** * <p> * Description copied from corresponding location in WebComponent: * </p> * <p> * This property is set to true when the control value invalid. * <p> * This property is synchronized automatically from client side when a * 'invalid-changed' event happens. * </p> * * @return the {@code invalid} property from the webcomponent */ @Synchronize(property = "invalid", value = "invalid-changed") protected boolean isInvalidBoolean() { return getElement().getProperty("invalid", false); }
/** * <p> * Description copied from corresponding location in WebComponent: * </p> * <p> * True if the notification is currently displayed. * <p> * This property is synchronized automatically from client side when a * 'opened-changed' event happens. * </p> * * @return the {@code opened} property from the webcomponent */ @Synchronize(property = "opened", value = "opened-changed") protected boolean isOpenedBoolean() { return getElement().getProperty("opened", false); }
/** * <p> * Description copied from corresponding location in WebComponent: * </p> * <p> * Set when the select is open * <p> * This property is synchronized automatically from client side when a * 'opened-changed' event happens. * </p> * * @return the {@code opened} property from the webcomponent */ @Synchronize(property = "opened", value = "opened-changed") protected boolean isOpenedBoolean() { return getElement().getProperty("opened", false); }