1 16 19 20 package org.apache.pluto.portalImpl.om.common.impl; 21 22 import java.util.ArrayList ; 23 import java.util.Collection ; 24 import java.util.Iterator ; 25 import java.util.List ; 26 27 import org.apache.pluto.om.common.Preference; 28 import org.apache.pluto.om.common.PreferenceCtrl; 29 import org.apache.pluto.util.StringUtils; 30 31 public class PreferenceImpl implements Preference, PreferenceCtrl, java.io.Serializable { 32 private final static String NULL_VALUE = "#*!0_NULL_0!*#"; 33 private final static String NULL_ARRAYENTRY = "#*!1_NULL_1!*#"; 34 35 private String name; 36 private ArrayList value; 37 private Boolean readOnly; 38 39 public PreferenceImpl() 40 { 41 } 42 43 45 public String getName() 46 { 47 return name; 48 } 49 50 public Iterator getValues() 51 { 52 if (value.contains(NULL_VALUE)) { 54 return null; 55 } 56 57 ArrayList returnValue = new ArrayList (value.size()); 58 returnValue.addAll(value); 59 60 for (int i = 0; i < returnValue.size(); i++) { 62 if (NULL_ARRAYENTRY.equals(returnValue.get(i))) { 63 returnValue.set(i, null); 64 } 65 } 66 67 return returnValue.iterator(); 68 } 69 70 public boolean isReadOnly() 71 { 72 if (readOnly == null) { 73 return false; 74 } 75 return readOnly.booleanValue(); 76 } 77 78 public boolean isValueSet() { 79 return value != null; 80 } 81 82 84 public void setName(String name) 85 { 86 this.name = name; 87 } 88 89 public void setValues(java.util.List _value) 90 { 91 if (this.value == null) { 92 this.value = new ArrayList (); 93 } else { 94 this.value.clear(); 95 } 96 97 List addValue = null; 98 99 if (_value == null) { 101 addValue = new ArrayList (1); 102 addValue.add(NULL_VALUE); 103 } else { 104 addValue = new ArrayList (_value.size()); 106 addValue.addAll(_value); 107 for (int i=0;i<addValue.size();i++) { 108 if (addValue.get(i) == null) { 109 addValue.set(i, NULL_ARRAYENTRY); 110 } 111 } 112 } 113 114 this.value.addAll(addValue); 115 } 116 117 public void setReadOnly(String readOnly) 118 { 119 this.readOnly = new Boolean (readOnly); 120 } 121 122 124 126 public String getReadOnly() 127 { 128 if (readOnly == null) { 129 return Boolean.FALSE.toString(); 130 } 131 return readOnly.toString(); 132 } 133 134 public Collection getCastorValues() 135 { 136 return value; 137 } 138 139 public void setCastorValues(Collection _value) 140 { 141 if (value == null) { 142 value = new ArrayList (); 143 } else { 144 value.clear(); 145 } 146 value.addAll(_value); 147 } 148 149 protected List getClonedCastorValuesAsList() 150 { 151 List returnValue = new ArrayList (value.size()); 152 153 Iterator iter = value.iterator(); 154 while (iter.hasNext()) { 155 String value = (String ) iter.next(); 156 returnValue.add(value); 157 } 158 return returnValue; 159 } 160 161 public String toString() 162 { 163 return toString(0); 164 } 165 166 public String toString(int indent) 167 { 168 StringBuffer buffer = new StringBuffer (50); 169 StringUtils.newLine(buffer,indent); 170 buffer.append(getClass().toString()); 171 buffer.append(": name='"); 172 buffer.append(name); 173 buffer.append("', value='"); 174 175 if (value == null) { 176 buffer.append("null"); 177 } else { 178 StringUtils.newLine(buffer,indent); 179 buffer.append("{"); 180 Iterator iterator = value.iterator(); 181 if (iterator.hasNext()) { 182 StringUtils.newLine(buffer,indent); 183 buffer.append((String )iterator.next()); 184 } 185 while (iterator.hasNext()) { 186 StringUtils.indent(buffer,indent+2); 187 buffer.append((String )iterator.next()); 188 } 189 StringUtils.newLine(buffer,indent); 190 buffer.append("}"); 191 } 192 193 buffer.append("', isReadOnly='"); 194 buffer.append(isReadOnly()); 195 buffer.append("'"); 196 return buffer.toString(); 197 } 198 199 } 200 | Popular Tags |