1
2
3
4
5
6
7 package org.asyrinx.joey.gen.model.java;
8
9 import java.util.ArrayList;
10 import java.util.Iterator;
11 import java.util.List;
12
13 import org.asyrinx.joey.gen.model.ElementSet;
14
15 /***
16 * @author takeshi
17 */
18 public class ReferenceSet extends ElementSet {
19
20 /***
21 * @param parent
22 */
23 public ReferenceSet(Entity parent) {
24 super(parent);
25 }
26
27
28
29
30
31
32 public boolean isEntity() {
33 return false;
34 }
35
36 public void add(Reference reference) {
37 super.add(reference);
38 }
39
40
41
42
43
44
45 public boolean contains(Reference reference) {
46 return super.contains(reference);
47 }
48
49
50
51
52
53
54 public Reference getReference(int index) {
55 return (Reference) super.getElement(index);
56 }
57
58
59
60
61
62
63 public Reference getReference(String name) {
64 return (Reference) super.getElement(name);
65 }
66
67
68
69
70
71
72 public Reference removeReference(String name) {
73 return (Reference) super.removeElement(name);
74 }
75
76 /***
77 * @param property
78 * @return
79 */
80 public List getReferencesContainedAsLocal(Property property) {
81 final List result = new ArrayList();
82 for (Iterator i = this.iterator(); i.hasNext();) {
83 final Reference reference = (Reference) i.next();
84 if (reference.containsAsLocal(property))
85 result.add(reference);
86 }
87 return result;
88 }
89
90 /***
91 * @param property
92 * @return
93 */
94 public List getReferencesContainedAsForeign(Entity javaClass) {
95 final List result = new ArrayList();
96 for (Iterator i = this.iterator(); i.hasNext();) {
97 final Reference reference = (Reference) i.next();
98 if (reference.getReferenceClass() == javaClass)
99 result.add(reference);
100 }
101 return result;
102 }
103
104 /***
105 * @param javaClass
106 * @param dest
107 */
108 public void findReferencesContainedAsForeign(Entity javaClass, List dest) {
109 for (Iterator i = this.iterator(); i.hasNext();) {
110 final Reference reference = (Reference) i.next();
111 if (reference.getType() == ReferenceType.EXTENDS)
112 continue;
113 if (reference.getReferenceClass() == javaClass)
114 dest.add(reference);
115 }
116 }
117
118 /***
119 * @param javaClass
120 * @param dest
121 */
122 public void findReferencesContainedAsLocal(Entity javaClass, List dest) {
123 for (Iterator i = this.iterator(); i.hasNext();) {
124 final Reference reference = (Reference) i.next();
125 if (reference.getType() == ReferenceType.EXTENDS)
126 continue;
127 if (reference.getParent() == javaClass)
128 dest.add(reference);
129 }
130 }
131 }