Modifier and Type | Field and Description |
---|---|
protected boolean |
checkTableColumnOrder |
protected String |
dbPrefix |
protected List<DbObject> |
objects |
protected int |
version |
comparisonUtils
Constructor and Description |
---|
Schema(String name)
Construct a schema with the given name and no database prefix.
|
Schema(String name,
String dbPrefix,
int schemaVersion,
boolean checkTableColumnOrder)
Construct a schema with the given name and database prefix.
|
Modifier and Type | Method and Description |
---|---|
void |
accept(DbObjectVisitor visitor)
Allows a visitor to be invoked against this DbObject.
|
void |
add(DbObject dbObject)
Add an object to this schema - this method will set this schema
as the object's parent.
|
boolean |
contains(DbObject object) |
boolean |
containsByName(String name) |
protected void |
doDiff(DbObject right,
DiffContext ctx)
Override this method to provide subclass specific diffing logic.
|
boolean |
equals(Object obj) |
String |
getDbPrefix() |
int |
getVersion() |
int |
hashCode() |
boolean |
isCheckTableColumnOrder() |
Iterator<DbObject> |
iterator() |
boolean |
sameAs(DbObject other)
Are the two
DbObject s 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. |
diff, getName, getParent, getTypeName, getValidators, hasObjectLevelValidator, hasValidators, setComparisonUtils, setName, setParent, setValidators, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
forEach, spliterator
protected final String dbPrefix
protected final int version
protected final boolean checkTableColumnOrder
public Schema(String name)
name
- Stringpublic Schema(String name, String dbPrefix, int schemaVersion, boolean checkTableColumnOrder)
name
- StringdbPrefix
- StringschemaVersion
- intcheckTableColumnOrder
- booleanpublic void add(DbObject dbObject)
dbObject
- DbObjectpublic boolean contains(DbObject object)
object
- DbObjectpublic String getDbPrefix()
public int getVersion()
public boolean isCheckTableColumnOrder()
public int hashCode()
hashCode
in class AbstractDbObject
public boolean equals(Object obj)
equals
in class AbstractDbObject
protected void doDiff(DbObject right, DiffContext ctx)
AbstractDbObject
doDiff
in class AbstractDbObject
right
- DbObjectctx
- DiffContextpublic void accept(DbObjectVisitor visitor)
DbObject
public boolean sameAs(DbObject other)
DbObject
DbObject
s 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. When
a.sameAs(b) == true
it 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.
sameAs
in interface DbObject
sameAs
in class AbstractDbObject
other
- DbObjectpublic boolean containsByName(String name)
Copyright © 2005–2017 Alfresco Software. All rights reserved.