/* * Copyright 2000-2016 Vaadin Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.vaadin.shared.ui; import java.io.Serializable; import java.util.HashSet; import com.vaadin.shared.AbstractComponentState; import com.vaadin.shared.Registration; import com.vaadin.shared.communication.SharedState; public final class ComponentStateUtil implements Serializable { private ComponentStateUtil() { // Util class is not instantiable } public static final boolean isUndefinedWidth(AbstractComponentState state) { return state.width == null || "".equals(state.width); } public static final boolean isUndefinedHeight( AbstractComponentState state) { return state.height == null || "".equals(state.height); } public static final boolean hasDescription(AbstractComponentState state) { return state.description != null && !"".equals(state.description); } public static final boolean hasStyles(AbstractComponentState state) { return state.styles != null && !state.styles.isEmpty(); } public static final boolean isRelativeWidth(AbstractComponentState state) { return state.width != null && state.width.endsWith("%"); } public static final boolean isRelativeHeight(AbstractComponentState state) { return state.height != null && state.height.endsWith("%"); } /** * Removes an event listener id. * * @param state * shared state * @param eventIdentifier * The event identifier to remove * @deprecated Use a {@link Registration} object returned by * {@link #addRegisteredEventListener(SharedState, String)} to * remove a listener */ @Deprecated public static final void removeRegisteredEventListener(SharedState state, String eventIdentifier) { if (state.registeredEventListeners == null) { return; } state.registeredEventListeners.remove(eventIdentifier); if (state.registeredEventListeners.size() == 0) { state.registeredEventListeners = null; } } /** * Adds an event listener id. * * @param eventListenerId * The event identifier to add * @return a registration object for removing the listener * @since 8.0 */ public static final Registration addRegisteredEventListener( SharedState state, String eventListenerId) { if (state.registeredEventListeners == null) { state.registeredEventListeners = new HashSet<>(); } state.registeredEventListeners.add(eventListenerId); return () -> removeRegisteredEventListener(state, eventListenerId); } }