Thanks Robert,
Serializing to ByteArray helps. Need to have registerClassAlias for geometry and symbol classes.
var bWriteArray:ByteArray= new ByteArray();
bWriteArray.writeObject(bookmark);
bWriteArray.position=0;
var bytesStr:String;
if(bWriteArray!=null){
var base64Enc:Base64Encoder =new Base64Encoder();
base64Enc.encodeBytes( bWriteArray,0,
bWriteArray.length );
bytesStr =base64Enc.toString();
}
//Store bytesStr in database
var base64Dec:Base64Decoder = new Base64Decoder()
base64Dec.decode(bytesStr);
var result:ByteArray=dec.toByteArray();
result.position=0;
bookmark:Object = result.readObject();
[RemoteClass(alias="gvwidgets.Bookmark.Bookmark")]
public class Bookmark
{
registerClassAlias("com.esri.ags.symbols.Symbol", Symbol);
registerClassAlias("com.esri.ags.symbols.SimpleMarkerSymbol", SimpleMarkerSymbol);
registerClassAlias("com.esri.ags.symbols.SimpleLineSymbol", SimpleLineSymbol);
registerClassAlias("com.esri.ags.symbols.SimpleFillSymbol", SimpleFillSymbol);
registerClassAlias("com.esri.ags.Graphic", Graphic);
registerClassAlias("com.esri.ags.SpatialReference", SpatialReference);
registerClassAlias("com.esri.ags.geometry.MapPoint", MapPoint);
registerClassAlias("com.esri.ags.geometry.Multipoint", Multipoint);
registerClassAlias("com.esri.ags.geometry.Polygon", Polygon);
registerClassAlias("com.esri.ags.geometry.Polyline", Polyline);
registerClassAlias("com.esri.ags.geometry.Extent", Extent);
public var bookmarkName:String;
public var bookmarkType:Boolean;
public var isBookmarkGraphics:Boolean;
public var graphicArray:Array = new Array();
public var graphicSymbolArray:Array = new Array();
}
-raymol