package xapi.model.api; public interface ModelKey { String DEFAULT_NAMESPACE = ""; String DEFAULT_ID = "_theOne_"; // for application-wide singletons String DEFAULT_KIND = "_model_"; int KEY_TYPE_STRING = 0; int KEY_TYPE_LONG = 1; // All other ints are usable to denote custom key types that end users may // embed as serialized strings in the id field. All model service transactions // will use the serialized String id format, but backends may need to understand // when to convert the key types; long ids, for example, are used by appengine. String getNamespace(); String getKind(); String getId(); int getKeyType(); ModelKey setKeyType(int keyType); ModelKey setId(String id); ModelKey getParent(); boolean isComplete(); ModelKey getChild(String kind, String id); }