ForeignKeyImpl extends TableConstraintImpl implements ForeignKey { @Override public Table getParent( final UnitOfWork transaction ) throws KException { ArgCheck.isNotNull( transaction, "transaction" ); ArgCheck.isTrue( ( transaction.getState() == State.NOT_STARTED ), "transaction state must be NOT_STARTED" ); final KomodoObject parent = super.getParent( transaction ); final Table result = Table.RESOLVER.resolve( transaction, parent ); return result; } ForeignKeyImpl( final UnitOfWork uow,
                           final Repository repository,
                           final String workspacePath ); @Override KomodoType getTypeIdentifier(UnitOfWork uow); @Override void addReferencesColumn( final UnitOfWork transaction,
                                     final Column newReferencesColumn ); @Override ConstraintType getConstraintType(); @Override Column[] getReferencesColumns( final UnitOfWork transaction ); @Override Table getReferencesTable( final UnitOfWork transaction ); @Override int getTypeId(); @Override Table getParent( final UnitOfWork transaction ); @Override void removeReferencesColumn( final UnitOfWork transaction,
                                        final Column removeReferencesColumn ); @Override void setReferencesTable( final UnitOfWork transaction,
                                    final Table newReferencesTable );  }
@Test public void shouldHaveParentTableAfterConstruction() throws Exception { assertThat( this.foreignKey.getParent( getTransaction() ), is( instanceOf( Table.class ) ) ); assertThat( this.foreignKey.getTable( getTransaction() ), is( this.parentTable ) ); }