public class MolgenisModelValidator extends Object
| Constructor and Description |
|---|
MolgenisModelValidator() |
| Modifier and Type | Method and Description |
|---|---|
static void |
addInterfaces(Model model)
Add interfaces as artificial entities to the model
|
static void |
addTypeFieldInSubclasses(Model model)
In each entity of an entity subclass hierarchy a 'type' field is added to enable filtering.
|
static void |
addXrefLabelsToEntities(Model model) |
static void |
copyDecoratorsToSubclass(Model model) |
static void |
copyDefaultXrefLabels(Model model)
Default xref labels can come from: - the xref_entity (or one of its superclasses)
|
static void |
copyFieldsToSubclassToEnforceConstraints(Model model)
Copy fields to subclasses (redundantly) so this field can be part of an extra constraint.
|
static void |
correctXrefCaseSensitivity(Model model)
test for case sensitivity
|
static void |
createLinkTablesForMrefs(Model model,
MolgenisOptions options)
Add link tables for many to many relationships
A link table entity will have the name of [from_entity]_[to_entity]
A link table has two xrefs to the from/to entity respectively
The column names are those of the respective fields
In case of a self reference, the second column name is '_self'
|
static void |
moveMrefsFromInterfaceAndCopyToSubclass(Model model)
As mrefs are a linking table between to other tables, interfaces cannot be part of mrefs (as they don't have a
linking table).
|
static void |
validate(Model model,
MolgenisOptions options) |
static void |
validateExtendsAndImplements(Model model)
Validate extends and implements relationships:
Do superclasses actually exist
Do 'implements' refer to abstract superclasses (interfaces)
Do 'extends' refer to non-abstract superclasses
Copy primary key to subclass to form parent/child relationships
|
static void |
validateForeignKeys(Model model)
Validate foreign key relationships:
Do the xref_field and xref_label refer to fields actually exist
Is the entity refered to non-abstract
Does the xref_field refer to a unique field (i.e.
|
static void |
validateHideFields(Model model) |
static void |
validateKeys(Model model)
Validate the unique constraints
Do unique field names refer to existing fields?
Is there a unique column id + unique label?
|
static void |
validateNamesAndReservedWords(Model model,
MolgenisOptions options) |
static void |
validateNameSize(Model model,
MolgenisOptions options) |
static void |
validateOveride(Model model)
Subclasses can override fields of superclasses.
|
static void |
validatePrimaryKeys(Model model) |
static void |
validateViews(Model model)
Check if the view objects are an aggregate of known entities.
|
public static void validate(Model model, MolgenisOptions options) throws MolgenisModelException
MolgenisModelExceptionpublic static void moveMrefsFromInterfaceAndCopyToSubclass(Model model) throws MolgenisModelException
MolgenisModelExceptionpublic static void validateOveride(Model model)
public static void validateNameSize(Model model, MolgenisOptions options) throws MolgenisModelException
MolgenisModelExceptionpublic static void validateHideFields(Model model) throws MolgenisModelException
MolgenisModelExceptionpublic static void addXrefLabelsToEntities(Model model) throws MolgenisModelException
MolgenisModelExceptionpublic static void validatePrimaryKeys(Model model) throws MolgenisModelException
MolgenisModelExceptionpublic static void copyDefaultXrefLabels(Model model) throws MolgenisModelException
model - MolgenisModelExceptionpublic static void addTypeFieldInSubclasses(Model model) throws MolgenisModelException
model - MolgenisModelExceptionpublic static void createLinkTablesForMrefs(Model model, MolgenisOptions options) throws MolgenisModelException
model - MolgenisModelExceptionpublic static void validateViews(Model model) throws MolgenisModelException
model - MolgenisModelExceptionpublic static void validateForeignKeys(Model model) throws MolgenisModelException
model - MolgenisModelExceptionpublic static void validateKeys(Model model) throws MolgenisModelException
model - MolgenisModelExceptionpublic static void validateExtendsAndImplements(Model model) throws MolgenisModelException
model - MolgenisModelExceptionpublic static void addInterfaces(Model model) throws MolgenisModelException
model - MolgenisModelExceptionExceptionpublic static void validateNamesAndReservedWords(Model model, MolgenisOptions options) throws MolgenisModelException
MolgenisModelExceptionpublic static void correctXrefCaseSensitivity(Model model) throws MolgenisModelException
MolgenisModelExceptionpublic static void copyDecoratorsToSubclass(Model model) throws MolgenisModelException
model - MolgenisModelExceptionpublic static void copyFieldsToSubclassToEnforceConstraints(Model model) throws MolgenisModelException
model - MolgenisModelExceptionCopyright © 2015. All Rights Reserved.