public class Model extends Object
Model
is the link between high-level types and SQL-level objects
(entity tables, collections). It defines all policies relating to the choice
of structure (what schema are grouped together in for optimization) and
names in the SQL database (table names, column names), and to what entity
names (type name, field name) they correspond.
A Nuxeo schema or type is mapped to a SQL-level table. Several types can be aggregated in the same table. In theory, a type could even be split into different tables.
Constructor and Description |
---|
Model(ModelSetup modelSetup) |
public static final String ROOT_TYPE
public static final String REPOINFO_TABLE_NAME
public static final String REPOINFO_REPONAME_KEY
public static final String MAIN_KEY
public static final String CLUSTER_NODES_TABLE_NAME
public static final String CLUSTER_NODES_NODEID_KEY
public static final String CLUSTER_NODES_CREATED_KEY
public static final String CLUSTER_INVALS_TABLE_NAME
public static final String CLUSTER_INVALS_NODEID_KEY
public static final String CLUSTER_INVALS_ID_KEY
public static final String CLUSTER_INVALS_FRAGMENTS_KEY
public static final String CLUSTER_INVALS_KIND_KEY
public static final String MAIN_PRIMARY_TYPE_PROP
public static final String MAIN_PRIMARY_TYPE_KEY
public static final String MAIN_MIXIN_TYPES_PROP
public static final String MAIN_MIXIN_TYPES_KEY
public static final String MAIN_BASE_VERSION_PROP
public static final String MAIN_BASE_VERSION_KEY
public static final String MAIN_CHECKED_IN_PROP
public static final String MAIN_CHECKED_IN_KEY
public static final String MAIN_MAJOR_VERSION_PROP
public static final String MAIN_MAJOR_VERSION_KEY
public static final String MAIN_MINOR_VERSION_PROP
public static final String MAIN_MINOR_VERSION_KEY
public static final String MAIN_IS_VERSION_PROP
public static final String MAIN_IS_VERSION_KEY
public static final String UID_SCHEMA_NAME
public static final String UID_MAJOR_VERSION_KEY
public static final String UID_MINOR_VERSION_KEY
public static final String HIER_TABLE_NAME
public static final String HIER_PARENT_KEY
public static final String HIER_CHILD_NAME_KEY
public static final String HIER_CHILD_POS_KEY
public static final String HIER_CHILD_ISPROPERTY_KEY
public static final String ANCESTORS_TABLE_NAME
public static final String ANCESTORS_ANCESTOR_KEY
public static final String COLL_TABLE_POS_KEY
public static final String COLL_TABLE_VALUE_KEY
public static final String MISC_TABLE_NAME
public static final String MISC_LIFECYCLE_POLICY_PROP
public static final String MISC_LIFECYCLE_POLICY_KEY
public static final String MISC_LIFECYCLE_STATE_PROP
public static final String MISC_LIFECYCLE_STATE_KEY
public static final String ACL_TABLE_NAME
public static final String ACL_PROP
public static final String ACL_POS_KEY
public static final String ACL_NAME_KEY
public static final String ACL_GRANT_KEY
public static final String ACL_PERMISSION_KEY
public static final String ACL_USER_KEY
public static final String ACL_GROUP_KEY
public static final String VERSION_TABLE_NAME
public static final String VERSION_VERSIONABLE_PROP
public static final String VERSION_VERSIONABLE_KEY
public static final String VERSION_CREATED_PROP
public static final String VERSION_CREATED_KEY
public static final String VERSION_LABEL_PROP
public static final String VERSION_LABEL_KEY
public static final String VERSION_DESCRIPTION_PROP
public static final String VERSION_DESCRIPTION_KEY
public static final String VERSION_IS_LATEST_PROP
public static final String VERSION_IS_LATEST_KEY
public static final String VERSION_IS_LATEST_MAJOR_PROP
public static final String VERSION_IS_LATEST_MAJOR_KEY
public static final String PROXY_TYPE
public static final String PROXY_TABLE_NAME
public static final String PROXY_TARGET_PROP
public static final String PROXY_TARGET_KEY
public static final String PROXY_VERSIONABLE_PROP
public static final String PROXY_VERSIONABLE_KEY
public static final String LOCK_TABLE_NAME
public static final String LOCK_OWNER_PROP
public static final String LOCK_OWNER_KEY
public static final String LOCK_CREATED_PROP
public static final String LOCK_CREATED_KEY
public static final String FULLTEXT_DEFAULT_INDEX
public static final String FULLTEXT_TABLE_NAME
public static final String FULLTEXT_JOBID_PROP
public static final String FULLTEXT_JOBID_KEY
public static final String FULLTEXT_FULLTEXT_PROP
public static final String FULLTEXT_FULLTEXT_KEY
public static final String FULLTEXT_SIMPLETEXT_PROP
public static final String FULLTEXT_SIMPLETEXT_KEY
public static final String FULLTEXT_BINARYTEXT_PROP
public static final String FULLTEXT_BINARYTEXT_KEY
public static final String HIER_READ_ACL_TABLE_NAME
public static final String HIER_READ_ACL_ID
public static final String HIER_READ_ACL_ACL_ID
public static final String FIELD_TYPE_LARGETEXT
public static final List<String> COMMON_SIMPLE_FRAGMENTS
FULLTEXT_TABLE_NAME
is added to it if not disabled.public static final String[] COMMON_COLLECTION_FRAGMENTS
public static final String[] ALWAYS_PREFETCHED_FRAGMENTS
public final ModelFulltext fulltextInfo
public Model(ModelSetup modelSetup) throws StorageException
StorageException
public RepositoryDescriptor getRepositoryDescriptor()
public Serializable generateNewId()
If actual ids are computed by the database, this will be a temporary id, otherwise the final one.
public Serializable unHackStringId(String id)
id
- the id to fixuppublic ModelProperty getPropertyInfo(String typeName, String propertyName)
public Map<String,ModelProperty> getMixinPropertyInfos(String mixin)
public ModelProperty getMixinPropertyInfo(String mixin, String propertyName)
public ModelProperty getPropertyInfo(String propertyName)
public ModelProperty getPathPropertyInfo(String xpath)
ModelProperty.NONE
if legal prefixpublic ModelProperty getPathPropertyInfo(String primaryType, String[] mixinTypes, String path)
public Set<String> getSimpleTextPropertyPaths(String primaryType, String[] mixinTypes)
public ModelFulltext getFulltextInfo()
public PropertyType getFulltextFieldType(String fragmentName, String fragmentKey)
fragmentName
- fragmentKey
- the key or null
for a collectionPropertyType.STRING
or PropertyType.BINARY
if
this field is to be indexed as fulltextpublic PropertyType getCollectionFragmentType(String fragmentName)
public boolean isCollectionFragment(String fragmentName)
public Map<String,ColumnType> getFragmentKeysType(String fragmentName)
public boolean isType(String typeName)
public boolean isDocumentType(String typeName)
public Map<String,Set<Serializable>> getPerFragmentIds(Map<Serializable,RowMapper.IdWithTypes> idToTypes)
public Set<String> getTypeFragments(RowMapper.IdWithTypes typeInfo)
Copyright © 2011 Nuxeo SA. All Rights Reserved.