org.alfresco.util.schemacomp.model
Class Index

java.lang.Object
  extended by org.alfresco.util.schemacomp.model.AbstractDbObject
      extended by org.alfresco.util.schemacomp.model.Index
All Implemented Interfaces:
DbObject

public class Index
extends AbstractDbObject

Represents an index on a table.


Field Summary
 
Fields inherited from class org.alfresco.util.schemacomp.model.AbstractDbObject
comparisonUtils
 
Constructor Summary
Index(java.lang.String name)
           
Index(Table table, java.lang.String name, java.util.List columnNames)
           
 
Method Summary
 void accept(DbObjectVisitor visitor)
          Allows a visitor to be invoked against this DbObject.
protected  void doDiff(DbObject right, DiffContext ctx, Result.Strength strength)
          Override this method to provide subclass specific diffing logic.
 boolean equals(java.lang.Object obj)
           
 java.util.List getColumnNames()
           
 int hashCode()
           
 boolean isUnique()
          Does this index have the unique attribute?
 boolean sameAs(DbObject o)
          Are the two DbObjects 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.
 void setColumnNames(java.util.List columnNames)
           
 void setUnique(boolean unique)
           
 
Methods inherited from class org.alfresco.util.schemacomp.model.AbstractDbObject
diff, getName, getNameStrength, getParent, getTypeName, getValidators, setComparisonUtils, setName, setNameStrength, setParent, setValidators, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Index

public Index(java.lang.String name)

Index

public Index(Table table,
             java.lang.String name,
             java.util.List columnNames)
Parameters:
table - the parent table
columnNames -
Method Detail

getColumnNames

public java.util.List getColumnNames()
Returns:
the columnNames

setColumnNames

public void setColumnNames(java.util.List columnNames)
Parameters:
columnNames - the columnNames to set

isUnique

public boolean isUnique()
Does this index have the unique attribute?

Returns:
unique

setUnique

public void setUnique(boolean unique)
Parameters:
unique -
See Also:
Index.isUnique()

hashCode

public int hashCode()
Overrides:
hashCode in class AbstractDbObject

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class AbstractDbObject

sameAs

public boolean sameAs(DbObject o)
Description copied from interface: DbObject
Are the two DbObjects 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.

Specified by:
sameAs in interface DbObject
Overrides:
sameAs in class AbstractDbObject
Returns:

doDiff

protected void doDiff(DbObject right,
                      DiffContext ctx,
                      Result.Strength strength)
Description copied from class: AbstractDbObject
Override this method to provide subclass specific diffing logic.

Overrides:
doDiff in class AbstractDbObject

accept

public void accept(DbObjectVisitor visitor)
Description copied from interface: DbObject
Allows 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.



Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.