class BlobKey implements Serializable, Comparable<BlobKey> {

	@VisibleForTesting
	static BlobKey createKey(BlobType type) {
		if (type == PERMANENT_BLOB) {
			return new PermanentBlobKey();
		} else {
			return new TransientBlobKey();
		}
	}

	protected  BlobKey(BlobType type);
	protected  BlobKey(BlobType type, byte[] key);
	protected  BlobKey(BlobType type, byte[] key, byte[] random);

}