/* * 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.server; import com.vaadin.ui.UI; /** * Contains data used by various methods in {@link UIProvider} for determining * information about a new UI that is about to be created. * * @author Vaadin Ltd * @since 7.0.0 */ public class UICreateEvent extends UIProviderEvent { private final Class<? extends UI> uiClass; private final Integer uiId; /** * Creates a new UI create event for a given VaadinRequest and UI class but * without a UI id. * * @param request * the request for which the UI will be created * @param uiClass * the UI class that will be created */ public UICreateEvent(VaadinRequest request, Class<? extends UI> uiClass) { this(request, uiClass, null); } /** * Creates a new UI create event for a given VaadinRequest, UI class and UI * id * * @param request * the request for which the UI will be created * @param uiClass * the UI class that will be created * @param uiId * the id reserved for the UI; or <code>null</code> if no id has * yet been allocated. */ public UICreateEvent(VaadinRequest request, Class<? extends UI> uiClass, Integer uiId) { super(request); this.uiClass = uiClass; this.uiId = uiId; } /** * Gets the UI class that will be created. * * @return the UI class */ public Class<? extends UI> getUIClass() { return uiClass; } /** * Gets the id of the UI about to be created. This might be * <code>null</code> if the id has not yet been determined. * <p> * The UI id is generally only available in * {@link UIProvider#createInstance(UICreateEvent)} * * @return the UI id; or <code>null</code> if the UI id is not yet known. */ public Integer getUiId() { return uiId; } }