====== Relation ====== **''public class Relation''**, \\ **''implements Serializable''** Relation describes an SQL relation, that is determined with name and the arity, and in addition it can contain primary key definition. ===== Class Attributes ===== private long id; private java.lang.String name; private int arity; private int primaryKey; private java.lang.String description; private java.util.ArrayList attributeNames; ===== Class Constructors ===== ==== Relation ==== public Relation (java.lang.String name, int arity, int primaryKey, java.lang.String description) Constructor for relation with well known arity. Attributes are load inside the function by calling ''[[#readattributesnamesindescription|readAttributesNamesInDescritpion]]''\\ //Called by:// * it.unibz.inf.magik.additional.InvolvedVariablesDetector * it.unibz.inf.magik.db.DatabaseConnector * it.unibz.inf.magik.test.CycleDetectionTest * it.unibz.inf.magik.test.TestFK * it.unibz.inf.magik.test.TestFK2 * it.unibz.inf.magik.test.TestHardCaseFDCandFK * it.unibz.inf.magik.test.TestTCQCReasonerBlackWhiteExample * it.unibz.inf.magik.test.TestTCQCReasonerPlainCompanyEx * it.unibz.inf.magik.test.TestValQueryProblem * it.unibz.inf.magik.test.TestTCQCReasonerUnderFDC * it.unibz.inf.magik.test.TestQueryClass * it.unibz.inf.magik.test.TestQueryGeneralization * it.unibz.inf.magik.test.TestQueryToSQL * it.unibz.inf.magik.test.TestTCQCReasonerFKandFD * it.unibz.inf.magik.test.TestTCQCReasonerPlainSchoolEx * it.unibz.inf.magik.test.TestTCQCReasonerTCSuggestions * it.unibz.inf.magik.test.TestPrimaryVioation **Parameters:** * name - name of the relation * arity - arity of the relation * primaryKey - determined with first place in the relation * description - string of the attributes of the relation, separated by comma ---- ==== Relation ==== public Relation (java.lang.String name, int primaryKey, java.lang.String description) Constructor for relation without knowning arity. Attributes are load inside the function by calling ''[[#readattributesnamesindescription|readAttributesNamesInDescritpion]]''\\ //Called by:// * it.unibz.inf.magik.web.SessionControl * it.unibz.inf.magik.test.TestSimpleComparison **Parameters:** * name - name of the relation * primaryKey - determined with first place in the relation * description - string of the attributes of the relation, separated by comma ===== Class Methods ===== ==== readAttributesNamesInDescription ==== public static java.util.ArrayList readAttributesNamesInDescription(java.lang.String description) Parse the attribute name of a relation from the description field **Parameters:** * description - string with attributes separated by comma **Returns:** * list of the attribute parsed ---- ==== getAttributePosition ==== public int getAttributePosition (java.lang.String attributeName) Get attribute position in the relation **Parameters:** * attributeName - attribute to search **Returns:** * position in the relation, //-1// if not in the relation ---- ==== getters and setters methods ==== public java.util.ArrayList getAttributeNames() public void setAttributeNames(java.util.ArrayList attributeNames) public java.lang.String getName() public void setName(java.lang.String name) public int getArity() public void setArity(int arity) public int getPrimaryKey() public void setPrimaryKey(int primaryKey) public long getId() public void setId(long id) [[magik-demo:developer:class:core:relation|Back to Top]] | [[magik-demo:start|Back to Home Page]]