TableMeta implements ProtoObject<CatalogProtos.TableProto>, GsonObject, Cloneable { @Override public String toJson() { mergeProtoToLocal(); return CatalogGsonHelper.toJson(this, TableMeta.class); } private  TableMeta();  TableMeta(String storeType, KeyValueSet options);  TableMeta(TableProto proto); String getStoreType(); void setOptions(KeyValueSet options); void putOption(String key, String val); boolean containsOption(String key); String getOption(String key); String getOption(String key, String defaultValue); KeyValueSet getOptions(); Map<String,String> toMap(); boolean equals(Object object); int hashCode(); @Override Object clone(); String toString(); TableProto getProto(); @Override String toJson(); void mergeProtoToLocal();  }
@Test public void testToJson() { String json = meta.toJson(); TableMeta fromJson = CatalogGsonHelper.fromJson(json, TableMeta.class); assertEquals(meta, fromJson); assertEquals(meta.getProto(), fromJson.getProto()); }