package water; /** * Empty marker interface. Used by the auto-serializer to inject implementations. */ public interface Freezable { /** Serialize the 'this' object into the AutoBuffer, returning the AutoBuffer. */ public AutoBuffer write(AutoBuffer bb); /** Deserialize from the AutoBuffer into a pre-existing 'this' object. */ public <T extends Freezable> T read(AutoBuffer bb); /** Make a new instance of class 'this' with the empty constructor */ public <T extends Freezable> T newInstance(); /** Return the cluster-wide-unique 2-byte type ID for instances of this class */ public int frozenType(); /** Serialize the 'this' object into the AutoBuffer, returning the AutoBuffer. Output is legal JSON. */ public AutoBuffer writeJSONFields(AutoBuffer bb); /** Reflective list of fields */ public water.api.DocGen.FieldDoc[] toDocField(); }