source: src/main/java/parties/feedbackmediator/partialopponentmodel/ValuePreferenceNode.java@ 198

Last change on this file since 198 was 127, checked in by Wouter Pasman, 6 years ago

#41 ROLL BACK of rev.126 . So this version is equal to rev. 125

File size: 3.7 KB
Line 
1package parties.feedbackmediator.partialopponentmodel;
2
3import java.util.ArrayList;
4
5import genius.core.issue.Value;
6
7/**
8 *
9 * @author Reyhan Aydogan
10 *
11 */
12
13public class ValuePreferenceNode {
14
15 private ArrayList<Value> morePreferredList; // more preferred values
16 private ArrayList<Value> lessPreferredList; // less preferred values
17 private ArrayList<Value> equallyPreferredList;
18 private int depth; // depth of the node in the preference graph
19
20 public ValuePreferenceNode(Value value, int assignedDepth) {
21 morePreferredList = new ArrayList<Value>();
22 lessPreferredList = new ArrayList<Value>();
23 equallyPreferredList = new ArrayList<Value>();
24 addEquallyPreferredValue(value);
25 setDepth(assignedDepth);
26 }
27
28 public ValuePreferenceNode(Value value) {
29 morePreferredList = new ArrayList<Value>();
30 lessPreferredList = new ArrayList<Value>();
31 equallyPreferredList = new ArrayList<Value>();
32 addEquallyPreferredValue(value);
33 setDepth(1);
34 }
35
36 public ArrayList<Value> getMorePreferredList() {
37 return morePreferredList;
38 }
39
40 public void setMorePreferredList(ArrayList<Value> morePreferredList) {
41 this.morePreferredList = morePreferredList;
42 }
43
44 public void addMorePreferredValue(Value preferredValue) {
45 if (!morePreferredList.contains(preferredValue))
46 this.morePreferredList.add(preferredValue);
47 }
48
49 public void addMorePreferredValues(ArrayList<Value> preferredValues) {
50
51 for (Value currentValue : preferredValues) {
52 addMorePreferredValue(currentValue);
53 }
54 }
55
56 // RA: We can also add removeMorePreferredValue or Values method if it is
57 // necessary
58
59 public ArrayList<Value> getLessPreferredList() {
60 return lessPreferredList;
61 }
62
63 public void setLessPreferredList(ArrayList<Value> lessPreferredList) {
64 this.lessPreferredList = lessPreferredList;
65 }
66
67 public void addLessPreferredValue(Value lessPreferredValue) {
68 if (!lessPreferredList.contains(lessPreferredValue))
69 this.lessPreferredList.add(lessPreferredValue);
70 }
71
72 public void addLessPreferredValues(ArrayList<Value> lessPreferredValues) {
73
74 for (Value currentValue : lessPreferredValues) {
75 addLessPreferredValue(currentValue);
76 }
77 }
78
79 public ArrayList<Value> getEqualPreferredList() {
80 return equallyPreferredList;
81 }
82
83 public void setEquallyPreferredList(ArrayList<Value> equalPreferredList) {
84 this.equallyPreferredList = equalPreferredList;
85 }
86
87 public void addEquallyPreferredValue(Value equallyPreferredValue) {
88 if (!equallyPreferredList.contains(equallyPreferredValue))
89 this.equallyPreferredList.add(equallyPreferredValue);
90 }
91
92 public void addEquallyPreferredValues(ArrayList<Value> equallyPreferredValues) {
93
94 for (Value currentValue : equallyPreferredValues) {
95 addEquallyPreferredValue(currentValue);
96 }
97 }
98
99 public int increaseDepth(int amount) {
100 this.depth += amount;
101 return this.depth;
102 }
103
104 public int getDepth() {
105 return depth;
106 }
107
108 public void setDepth(int depth) {
109 this.depth = depth;
110 }
111
112 @Override
113 public String toString() {
114 StringBuffer buffy = new StringBuffer();
115
116 buffy.append("Values:");
117 for (Value current : equallyPreferredList)
118 buffy.append(" ").append(current);
119
120 buffy.append("\n\tDepth: ").append(depth).append("\n");
121
122 buffy.append("\tLess Preferred Node List:");
123
124 if (lessPreferredList.size() == 0)
125 buffy.append(" None");
126
127 for (Value lessPreferredValue : lessPreferredList)
128 buffy.append(" ").append(lessPreferredValue.toString());
129
130 buffy.append("\n\tMore Preferred Node List:");
131
132 if (morePreferredList.size() == 0)
133 buffy.append(" None");
134
135 for (Value morePreferredValue : morePreferredList)
136 buffy.append(" ").append(morePreferredValue.toString());
137
138 return buffy.toString();
139 }
140
141}
Note: See TracBrowser for help on using the repository browser.