/* * Copyright 2011 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.terminal.gwt.client; import java.util.Collection; import java.util.List; import com.google.gwt.event.shared.GwtEvent; import com.google.web.bindery.event.shared.HandlerRegistration; import com.vaadin.shared.Connector; import com.vaadin.shared.communication.ClientRpc; import com.vaadin.terminal.gwt.client.communication.StateChangeEvent.StateChangeHandler; /** * Interface implemented by all client side classes that can be communicate with * the server. Classes implementing this interface are initialized by the * framework when needed and have the ability to communicate with the server. * * @author Vaadin Ltd * @since 7.0.0 */ public interface ServerConnector extends Connector { /** * Gets ApplicationConnection instance that created this connector. * * @return The ApplicationConnection as set by * {@link #doInit(String, ApplicationConnection)} */ public ApplicationConnection getConnection(); /** * Tests whether the connector is enabled or not. This method checks that * the connector is enabled in context, i.e. if the parent connector is * disabled, this method must return false. * * @return true if the connector is enabled, false otherwise */ public boolean isEnabled(); /** * * Called once by the framework to initialize the connector. *
* Note that the shared state is not yet available at this point nor any
* hierarchy information.
*/
public void doInit(String connectorId, ApplicationConnection connection);
/**
* For internal use by the framework: returns the registered RPC
* implementations for an RPC interface identifier.
*
* TODO interface identifier type or format may change
*
* @param rpcInterfaceId
* RPC interface identifier: fully qualified interface type name
* @return RPC interface implementations registered for an RPC interface,
* not null
*/
public
* Note that calling this method does not fire a
* {@link ConnectorHierarchyChangeEvent}. The event is fired only when the
* whole hierarchy has been updated.
*
* @param parent
* The new parent of the connector
*/
public void setParent(ServerConnector parent);
public void updateEnabledState(boolean enabledState);
public void setChildren(List