public class SchemaMetadataBase<I extends SchemaMetadata,S extends SchemaMetadataBase<I,S>> extends Schema<I,SchemaMetadataBase<I,S>>
Modifier and Type | Class and Description |
---|---|
static class |
SchemaMetadataBase.FieldMetadataBase<I extends SchemaMetadata.FieldMetadata,S extends SchemaMetadataBase.FieldMetadataBase<I,S>>
Schema for the metadata for the field of a Schema.
|
Schema.Meta
Modifier and Type | Field and Description |
---|---|
SchemaMetadataBase.FieldMetadataBase[] |
fields |
java.lang.String |
name
The simple schema (class) name, e.g.
|
java.lang.String |
superclass
The simple schema superclass name, e.g.
|
java.lang.String |
type |
int |
version |
__meta, _impl_class, _version_pattern, EXCLUDE_FIELDS, INCLUDE_FIELDS
Constructor and Description |
---|
SchemaMetadataBase() |
Modifier and Type | Method and Description |
---|---|
I |
createImpl()
Create an implementation object and any child objects but DO NOT fill them.
|
SchemaMetadataBase |
fillFromImpl(SchemaMetadata impl)
Version and Schema-specific filling from the implementation object.
|
I |
fillImpl(I impl)
Fill an impl object and any children from this schema and its children.
|
acceptsFrame, createAndFillImpl, extractVersion, fillFromParms, getExperimentalVersion, getHighestSupportedVersion, getImplClass, getImplClass, getLatestVersion, getSchemaVersion, markdown, markdown, markdown, markdown, newInstance, register, registerAllSchemasIfNecessary, schema, schema, schema, schema, schema, schemaClass, schemaClass, schemaClass, schemaClass, schemas
clone, frozenType, read_impl, read, readExternal, readJSON_impl, readJSON, toJsonString, write_impl, write, writeExternal, writeHTML_impl, writeHTML, writeJSON_impl, writeJSON
@API(help="Simple name of the Schema. NOTE: the schema_names form a single namespace.") public java.lang.String name
@API(help="Simple name of the superclass of the Schema. NOTE: the schema_names form a single namespace.") public java.lang.String superclass
@API(help="Simple name of H2O type that this Schema represents. Must not be changed after creation (treat as final).") public java.lang.String type
@API(help="All the public fields of the schema", direction=OUTPUT) public SchemaMetadataBase.FieldMetadataBase[] fields
public I createImpl()
Schema
For objects without children this method does all the required work. For objects with children the subclass will need to override, e.g. by calling super.createImpl() and then calling createImpl() on its children.
Note that impl objects for schemas which override this method don't need to have a default constructor (e.g., a Keyed object constructor can still create and set the Key), but they must not fill any fields which can be filled later from the schema.
TODO: We *could* handle the common case of children with the same field names here by finding all of our fields that are themselves Schemas.
createImpl
in class Schema<I extends SchemaMetadata,SchemaMetadataBase<I extends SchemaMetadata,S extends SchemaMetadataBase<I,S>>>
public I fillImpl(I impl)
Schema
fillImpl
in class Schema<I extends SchemaMetadata,SchemaMetadataBase<I extends SchemaMetadata,S extends SchemaMetadataBase<I,S>>>
public SchemaMetadataBase fillFromImpl(SchemaMetadata impl)
Schema
fillFromImpl
in class Schema<I extends SchemaMetadata,SchemaMetadataBase<I extends SchemaMetadata,S extends SchemaMetadataBase<I,S>>>