/*
* JBoss, Home of Professional Open Source.
*
* See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing.
*
* See the AUTHORS.txt file distributed with this work for a full listing of individual contributors.
*/
package org.teiid.designer.schema.tools.model.schema;
/**
* @since 8.0
*/
public interface Relationship {
public static final int UNBOUNDED = -1;
public static final int KEY_IN_PARENT_SINGLE = 0;
public static final int KEY_IN_PARENT_MULTIPLE = 1;
public static final int MERGE_IN_PARENT_SINGLE = 2;
public static final int MERGE_IN_PARENT_MULTIPLE = 3;
public static final int KEY_IN_CHILD = 4;
public static final int RELATIONSHIP_TABLE = 5;
public String getParentRelativeXpath();
public String getChildRelativeXpath();
public SchemaObject getParent();
public SchemaObject getChild();
public int getMinOccurs();
public int getMaxOccurs();
public void setType(int relationshipType);
public int getType();
public void printDebug();
public void removeRelationship();
public void addNewRelationship();
public Relationship merge(Relationship grandChildRelation);
}