package votorola.s.gwt.scene.feed.ss; // Copyright 2011-2012, Christian Weilbach, Michael Allan. Permission is hereby // granted, free of charge, to any person obtaining a copy of this software and associated // documentation files (the "Votorola Software"), to deal in the Votorola Software without // restriction, including without limitation the rights to use, copy, modify, merge, publish, // distribute, sublicence, and/or sell copies of the Votorola Software, and to permit persons to // whom the Votorola Software is furnished to do so, subject to the following conditions: The // preceding copyright notice and this permission notice shall be included in all copies or // substantial portions of the Votorola Software. THE VOTOROLA SOFTWARE IS PROVIDED "AS IS", WITHOUT // WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE VOTOROLA // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE VOTOROLA SOFTWARE. import com.google.gson.stream.JsonWriter; import java.io.IOException; /** A mutable and serializeable message. */ public final class MessageJig implements votorola.s.gwt.stage.Message, SerialJig { // - M e s s a g e -------------------------------------------------------------------------- public String content() { return content; } private String content; /** Sets the content. */ public void setContent( String s ) { content = s; } private void content( final JsonWriter out ) throws IOException { if( content == null ) throw new NullPointerException(); // meet contract of Message out.name( "content" ).value( content ); content = null; } public String location() { return location; } private String location; /** Set a url for the message. */ public void setLocation( String s ) { location = s; } private void location( final JsonWriter out ) throws IOException { if( location == null ) throw new IllegalArgumentException(); // meet contract of Message out.name( "location" ).value( location ); location = null; } public int id() { return id; } private int id = 0; /** * Set id of the message in the db. */ public void setId( final int _id ) { id = _id; } private void id( final JsonWriter out ) throws IOException { out.name("id").value( id ); id = 0; } // - S e r i a l - J i g -------------------------------------------------------------- public void serialize( final JsonWriter out ) throws IOException { out.beginObject(); id( out ); content( out ); location( out ); out.endObject(); } }