Back to project page LitePal.
The source code is released under:
Apache License
If you think the Android project LitePal listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/* * Copyright (C) Tony Green, Litepal Framework Open Source Project *//from ww w.j a va 2 s . c o m * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.litepal.crud.model; import java.lang.reflect.Field; /** * This model holds necessary information when comes to analyze and handle * associated models of self model. * * @author Tony Green * @since 1.1 */ public class AssociationsInfo { /** * The class name of self class. */ private String selfClassName; /** * The class name of the class which associated with self class. */ private String associatedClassName; /** * The class which holds foreign key. */ private String classHoldsForeignKey; /** * The field of self class to declare has association with other class. */ private Field associateOtherModelFromSelf; /** * The field of the associated class to declare has association with self * class. */ private Field associateSelfFromOtherModel; /** * The association type, including Many2One One2One Many2Many. */ private int associationType; /** * Get the class name of self class. * * @return The self class name. */ public String getSelfClassName() { return selfClassName; } /** * Set the class name of self class. * * @param selfClassName * The self class name to set. */ public void setSelfClassName(String selfClassName) { this.selfClassName = selfClassName; } /** * Get the class name of the class which associated with self class. * * @return The associated class name. */ public String getAssociatedClassName() { return associatedClassName; } /** * Set the class name of the class which associated with self class. * * @param associatedClassName * The associated class name to set. */ public void setAssociatedClassName(String associatedClassName) { this.associatedClassName = associatedClassName; } /** * Get the class which holds foreign key. * * @return The class which holds foreign key. */ public String getClassHoldsForeignKey() { return classHoldsForeignKey; } /** * Set the class which holds foreign key. * * @param classHoldsForeignKey * The class which holds foreign key to set. */ public void setClassHoldsForeignKey(String classHoldsForeignKey) { this.classHoldsForeignKey = classHoldsForeignKey; } /** * Get the field of self class which declares has association with other * class. * * @return The field which declares has association with other class. */ public Field getAssociateOtherModelFromSelf() { return associateOtherModelFromSelf; } /** * Set the field of self class which declares has association with other * class. * * @param associateOtherModelFromSelf * The field which declares has association with other class to * set. */ public void setAssociateOtherModelFromSelf(Field associateOtherModelFromSelf) { this.associateOtherModelFromSelf = associateOtherModelFromSelf; } /** * Get the field of the associated class which declares has association with * self class. * * @return The field of the associated class which declares has association * with self class. */ public Field getAssociateSelfFromOtherModel() { return associateSelfFromOtherModel; } /** * Set the field of the associated class which declares has association with * self class. * * @param associateSelfFromOtherModel * The field of the associated class which declares has * association with self class to set. */ public void setAssociateSelfFromOtherModel(Field associateSelfFromOtherModel) { this.associateSelfFromOtherModel = associateSelfFromOtherModel; } /** * Get the association type. * * @return The association type. */ public int getAssociationType() { return associationType; } /** * Set the association type. * * @param associationType * Within ONE_TO_ONE, MANY_TO_ONE and MANY_TO_MANY constants. */ public void setAssociationType(int associationType) { this.associationType = associationType; } /** * Override equals method to make sure that if two associated classes in the * association info model are same ignoring sides, they are same association * info model. */ @Override public boolean equals(Object o) { if (o instanceof AssociationsInfo) { AssociationsInfo other = (AssociationsInfo) o; if (o != null && other != null) { if (other.getAssociationType() == associationType && other.getClassHoldsForeignKey().equals(classHoldsForeignKey)) { if (other.getSelfClassName().equals(selfClassName) && other.getAssociatedClassName().equals(associatedClassName)) { return true; } if (other.getSelfClassName().equals(associatedClassName) && other.getAssociatedClassName().equals(selfClassName)) { return true; } } } } return false; } }