1 28 29 package com.idaremedia.antx.solo; 30 31 import java.io.File ; 32 import java.util.Iterator ; 33 34 import org.apache.tools.ant.Project; 35 36 import com.idaremedia.antx.AntX; 37 import com.idaremedia.antx.apis.AntLibFriendly; 38 import com.idaremedia.antx.helpers.InnerString; 39 import com.idaremedia.antx.starters.ListFriendly; 40 import com.idaremedia.antx.starters.StringItemList; 41 import com.idaremedia.antx.starters.StringItemListHandle; 42 43 70 71 public final class StringList extends StringItemList 72 implements ListFriendly, AntLibFriendly 73 { 74 77 public StringList() 78 { 79 super(AntX.fixture+"StringList:"); 80 } 81 82 83 86 public StringList(String list) 87 { 88 super(AntX.fixture+"StringList:",list); 89 90 } 91 92 93 98 public void setDelim(String delimiter) 99 { 100 require_(delimiter!=null,"setDelim- nonzro delim"); 101 if (isReference()) { 102 throw tooManyAttributes(); 103 } 104 m_delim = delimiter; 105 edited(); 106 } 107 108 109 115 public String getDelim() 116 { 117 if (isReference()) { 118 return getOtherList().getDelim(); 119 } 120 return m_delim; 121 } 122 123 124 130 public void setPrefix(String prefix) 131 { 132 setPrefixString(prefix); 133 } 134 135 136 140 public String getPrefix() 141 { 142 if (isReference()) { 143 return getOtherList().getPrefix(); 144 } 145 return getPrefixString(); 146 } 147 148 149 155 public void setSuffix(String suffix) 156 { 157 setSuffixString(suffix); 158 } 159 160 161 165 public String getSuffix() 166 { 167 if (isReference()) { 168 return getOtherList().getSuffix(); 169 } 170 return getSuffixString(); 171 } 172 173 174 180 public void setFile(File f) 181 { 182 require_(f!=null,"setfil- nonzro fil"); 183 addFileOrURL(f.getPath()); 184 } 185 186 187 194 public void setResource(String rn) 195 { 196 require_(rn!=null,"setRez- nonzro reznam"); 197 addResource(rn); 198 } 199 200 201 206 public void addConfiguredString(InnerString string) 207 { 208 require_(string!=null,"addStr- nonzro itm"); 209 addItem(string,getProject()); 210 } 211 212 213 214 220 public void addConfiguredStrings(StringItemListHandle listH) 221 { 222 require_(listH!=null,"addStrings- nonzro listref"); 223 if (isReference()) { 224 throw tooManyAttributes(); 225 } 226 Iterator itr = listH.readonlyStringIterator(getProject()); 227 while (itr.hasNext()) { 228 String value = itr.next().toString(); 229 addItemFinal(value); 230 edited(); 231 } 232 } 233 234 235 236 239 public String stringFrom(Project theProject) 240 { 241 if (isReference()) { 242 return getOtherList().stringFrom(theProject); 243 } 244 final String theDelimiter = getDelim(); 245 StringBuffer sb = new StringBuffer (150); 246 247 int N=0; 248 Iterator itr= readonlyStringIterator(theProject); 249 while (itr.hasNext()) { 250 if (N>0) { 251 sb.append(theDelimiter); 252 } 253 sb.append(itr.next()); 254 N++; 255 } 256 itr=null; 257 return sb.substring(0); 258 } 259 260 261 264 public String toString() 265 { 266 return stringFrom(getProject()); 267 } 268 269 270 private final StringList getOtherList() 271 { 272 return (StringList)getOtherItemList(StringList.class); 273 } 274 275 private String m_delim = AntX.DEFAULT_DELIMITER; 276 } 277 278 279 | Popular Tags |