public interface ComplexType extends Type
Complex types can describe and validate java Map objects
.
Modifier and Type | Method and Description |
---|---|
Field |
addField(QName name,
TypeRef<? extends Type> type)
Adds a field to this complex type.
|
Field |
addField(QName name,
TypeRef<? extends Type> type,
String defaultValue,
int flags)
Adds a field to this complex type.
|
Field |
addField(String name,
TypeRef<? extends Type> type)
Adds a field to this complex type.
|
Field |
addField(String name,
TypeRef<? extends Type> type,
String defaultValue,
int flags)
Adds a field to this complex type.
|
Field |
getField(QName name)
Gets the field having the given name.
|
Field |
getField(String name)
Gets the field with the given name.
|
Collection<Field> |
getFields()
Gets all fields as a (field name, field type) map.
|
int |
getFieldsCount()
Gets the number of fields defined for this complex type.
|
Namespace |
getNamespace()
Gets the namespace used by this complex type.
|
TypeRef<? extends ComplexType> |
getRef()
Gets a proxy (or reference to this type).
|
boolean |
hasField(QName name)
Tests whether this type defines the given field name.
|
boolean |
hasField(String name)
Tests whether this type defines the given field name.
|
boolean |
hasFields()
Tests whether this type has any field defined.
|
boolean |
isUnstructured()
Tests whether this type is structured or not.
|
decode, encode, getHelper, getName, getSchema, getSchemaName, getSuperType, getTypeHierarchy, isAnyType, isComplexType, isCompositeType, isListType, isNotNull, isReadOnly, isSimpleType, isSuperTypeOf, newInstance, validate
convert
boolean isUnstructured()
An unstructured complex type accepts any field name and type.
By default, complex types inherit their unstructured property. If a type has no super-type then it is considered unstructured if it is not specifying any field.
Namespace getNamespace()
Namespace.DEFAULT_NS
if none was
specifiedField getField(String name)
If the name is non-prefixed the first matching field is returned if any is found. If the name is prefixed then the right field is returned if any is found.
name
- the field nameField getField(QName name)
name
- the nameField addField(String name, TypeRef<? extends Type> type)
If the given name is not prefixed it will be prefixed with the type prefix. If one was specified otherwise the default prefix will be used (e.g. "" - no prefix). If the given name is prefixed it will be stored as is (using the specified prefix).
name
- the field nametype
- the field typeField addField(String name, TypeRef<? extends Type> type, String defaultValue, int flags)
If the given name is not prefixed it will be prefixed with the type prefix. If one was specified otherwise the default prefix will be used (e.g. "" - no prefix). If the given name is prefixed it will be stored as is (using the specified prefix).
name
- the field nametype
- the field typedefaultValue
- an optional default value (null if none)flags
- optional flagsField addField(QName name, TypeRef<? extends Type> type)
name
- the field nametype
- the field typeField addField(QName name, TypeRef<? extends Type> type, String defaultValue, int flags)
name
- the field nametype
- the field typedefaultValue
- an optional default value (null if none)flags
- optional flags
Possible values are:
boolean hasField(String name)
The name is supposed to be non prefixed.
name
- the field nameboolean hasField(QName name)
name
- the field nameboolean hasFields()
If a complex type has no fields, it is considered as unstructured and it accepts any field with any type and name.
Collection<Field> getFields()
int getFieldsCount()
TypeRef<? extends ComplexType> getRef()
Type
Copyright © 2011 Nuxeo SA. All Rights Reserved.