/******************************************************************************* * Copyright (c) 2011, 2015 EclipseSource and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * EclipseSource - initial API and implementation *******************************************************************************/ package org.eclipse.rap.rwt.internal.remote; import org.eclipse.rap.json.JsonObject; import org.eclipse.rap.json.JsonValue; import org.eclipse.rap.rwt.internal.protocol.ProtocolMessageWriter; import org.eclipse.rap.rwt.internal.service.ContextProvider; /** * A remote object implementation that writes directly to the message writer. Used for widgets and * other objects that are rendered by LCAs. */ public class LifeCycleRemoteObject extends RemoteObjectImpl { public LifeCycleRemoteObject( String id, String type ) { super( id ); if( type != null ) { getWriter().appendCreate( id, type ); } } @Override public void set( String name, int value ) { super.set( name, value ); getWriter().appendSet( getId(), name, value ); } @Override public void set( String name, double value ) { super.set( name, value ); getWriter().appendSet( getId(), name, value ); } @Override public void set( String name, boolean value ) { super.set( name, value ); getWriter().appendSet( getId(), name, value ); } @Override public void set( String name, String value ) { super.set( name, value ); getWriter().appendSet( getId(), name, value ); } @Override public void set( String name, JsonValue value ) { super.set( name, value ); getWriter().appendSet( getId(), name, value ); } @Override public void listen( String eventType, boolean listen ) { super.listen( eventType, listen ); getWriter().appendListen( getId(), eventType, listen ); } @Override public void call( String method, JsonObject parameters ) { super.call( method, parameters ); getWriter().appendCall( getId(), method, parameters ); } @Override public void destroy() { super.destroy(); getWriter().appendDestroy( getId() ); } private static ProtocolMessageWriter getWriter() { return ContextProvider.getProtocolWriter(); } }