/* * 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.processing; /** *The determination of relationships by implementations of *RelationshipProcessor are made around a number of fixed *parameters. The determination of how to relate SchemaObjects *can be different for different purposes with the same values. *This interface provides a place to change the way relations *are determined. * * @since 8.0 */ public interface RelationshipRules { /** * Determines the relationship between a SchemaObject and its parents * based upon the values of the input parameters. * @param P_value - the Parent limit threshold. * @param C_value - the Child limit threshold. * @param canBeRoot - is the SchemaObject selected as a root. * @param F_value - the Field limit threshold. * @return - the value calculated for the Relationship. */ public int calculateRelationship(int P_value, int C_value, boolean canBeRoot, int F_value); }