1 2 25 26 27 package org.aspectj.asm; 28 29 import java.util.*; 30 import java.io.Serializable ; 31 import org.aspectj.compiler.base.ast.ASTObject; 32 33 36 public class Relation implements Serializable { 37 38 private String forwardNavigationName; 39 private String backNavigationName; 40 private String associationName; 41 private boolean symmetrical; 42 private boolean transitive; 43 44 public Relation(String forwardNavigationName, 45 String backNavigationName, 46 String associationName, 47 boolean symmetrical, 48 boolean transitive) { 49 this.forwardNavigationName = forwardNavigationName; 50 this.backNavigationName = backNavigationName; 51 this.associationName = associationName; 52 this.symmetrical = symmetrical; 53 this.transitive = transitive; 54 } 55 56 59 public Relation(String forwardNavigationName, 60 String associationName, 61 boolean transitive) { 62 this(forwardNavigationName, "<no back navigation name>", associationName, false, transitive); 63 } 64 65 public String getForwardNavigationName() { 66 return forwardNavigationName; 67 } 68 69 public String getBackNavigationName() { 70 return backNavigationName; 71 } 72 73 public String getAssociationName() { 74 return associationName; 75 } 76 77 public boolean isSymmetrical() { 78 return symmetrical; 79 } 80 81 public boolean isTransitive() { 82 return transitive; 83 } 84 85 public boolean equals(Object o) { 86 if (!(o instanceof Relation)) return false; 87 Relation r = (Relation)o; 88 return forwardNavigationName.equals(r.getForwardNavigationName()) 89 && backNavigationName.equals(r.getBackNavigationName()) 90 && associationName.equals(r.getAssociationName()) 91 && (symmetrical == r.isSymmetrical()) 92 && (transitive == r.isTransitive()); 93 } 94 95 public String toString() { 96 if (symmetrical) { 97 return forwardNavigationName + " / " + backNavigationName; 98 } else { 99 return forwardNavigationName; 100 } 101 } 102 } | Popular Tags |