Class Schema
java.lang.Object
org.alfresco.util.schemacomp.model.AbstractDbObject
org.alfresco.util.schemacomp.model.Schema
Instances of this class represent a database schema.
- Author:
- Matt Ward
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final booleanprotected final Stringprotected final intFields inherited from class org.alfresco.util.schemacomp.model.AbstractDbObject
comparisonUtils -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaccept(DbObjectVisitor visitor) Allows a visitor to be invoked against this DbObject.voidAdd an object to this schema - this method will set this schema as the object's parent.booleanbooleancontainsByName(String name) protected voiddoDiff(DbObject right, DiffContext ctx) Override this method to provide subclass specific diffing logic.booleanintinthashCode()booleaniterator()booleanAre the twoDbObjects logically the same? For example two Index objects may have different names, but are the same index as they both index the same columns for the same table.Methods inherited from class org.alfresco.util.schemacomp.model.AbstractDbObject
diff, getName, getParent, getTypeName, getValidators, hasObjectLevelValidator, hasValidators, setComparisonUtils, setName, setParent, setValidators, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
objects
-
dbPrefix
-
version
protected final int version -
checkTableColumnOrder
protected final boolean checkTableColumnOrder
-
-
Constructor Details
-
Schema
Construct a schema with the given name and no database prefix.- Parameters:
name- String
-
Schema
Construct a schema with the given name and database prefix. The database prefix specifies what filtering applies to the high-level (tables and sequences) objects in the schema. If for example dbPrefix is "alf_" then only tables and sequences whose names begin with "alf_" will be represented by this schema. Therefore any comparisons should be performed against another similarly filtered Schema object.- Parameters:
name- StringdbPrefix- StringschemaVersion- intcheckTableColumnOrder- boolean
-
-
Method Details
-
add
Add an object to this schema - this method will set this schema as the object's parent.- Parameters:
dbObject- DbObject
-
iterator
-
contains
- Parameters:
object- DbObject- Returns:
- boolean
-
getDbPrefix
- Returns:
- the dbPrefix
-
getVersion
public int getVersion()- Returns:
- the version
-
isCheckTableColumnOrder
public boolean isCheckTableColumnOrder()- Returns:
- the checkTableColumnOrder
-
hashCode
public int hashCode()- Overrides:
hashCodein classAbstractDbObject
-
equals
- Overrides:
equalsin classAbstractDbObject
-
doDiff
Description copied from class:AbstractDbObjectOverride this method to provide subclass specific diffing logic.- Overrides:
doDiffin classAbstractDbObject- Parameters:
right- DbObjectctx- DiffContext
-
accept
Description copied from interface:DbObjectAllows a visitor to be invoked against this DbObject. Implementations should ensure that child objects are visited first (by calling accept on them) before invoking the visitor on itself. -
sameAs
Description copied from interface:DbObjectAre the twoDbObjects logically the same? For example two Index objects may have different names, but are the same index as they both index the same columns for the same table.If two objects a and b have the same logical identity, it does not mean that
a.equals(b) == true. The two objects may well have differences and will be flagged as such by the schema comparison tool. Whena.sameAs(b) == trueit makes it easier to show the differences as related, i.e. a and b are different rather than, a is only in the 'left' tree and b is only in the 'right' tree.- Specified by:
sameAsin interfaceDbObject- Overrides:
sameAsin classAbstractDbObject- Parameters:
other- DbObject- Returns:
- boolean
-
containsByName
-