| 1 17 package org.eclipse.emf.ecore.xml.type.impl; 18 19 import java.math.BigDecimal ; 20 import java.math.BigInteger ; 21 import java.text.DateFormat ; 22 import java.text.FieldPosition ; 23 import java.text.ParseException ; 24 import java.text.SimpleDateFormat ; 25 import java.util.ArrayList ; 26 import java.util.Date ; 27 import java.util.Iterator ; 28 import java.util.List ; 29 import java.util.StringTokenizer ; 30 31 import org.eclipse.emf.ecore.EClass; 32 import org.eclipse.emf.ecore.EDataType; 33 import org.eclipse.emf.ecore.EObject; 34 import org.eclipse.emf.ecore.impl.EFactoryImpl; 35 import org.eclipse.emf.ecore.xml.type.*; 36 import org.eclipse.emf.ecore.xml.type.internal.QName; 37 import org.eclipse.emf.ecore.xml.type.internal.XMLCalendar; 38 import org.eclipse.emf.ecore.xml.type.internal.XMLDuration; 39 import org.eclipse.emf.ecore.xml.type.internal.DataValue.Base64; 40 import org.eclipse.emf.ecore.xml.type.internal.DataValue.HexBin; 41 import org.eclipse.emf.ecore.xml.type.internal.DataValue.XMLChar; 42 43 49 public class XMLTypeFactoryImpl extends EFactoryImpl implements XMLTypeFactory 50 { 51 52 protected static final DateFormat [] EDATE_FORMATS = 53 { 54 new SafeSimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"), 55 new SafeSimpleDateFormat("yyyy-MM-ddZ") 56 }; 57 58 64 public XMLTypeFactoryImpl() 65 { 66 super(); 67 } 68 69 74 public EObject create(EClass eClass) 75 { 76 switch (eClass.getClassifierID()) 77 { 78 case XMLTypePackage.ANY_TYPE: return createAnyType(); 79 case XMLTypePackage.SIMPLE_ANY_TYPE: return createSimpleAnyType(); 80 case XMLTypePackage.XML_TYPE_DOCUMENT_ROOT: return createXMLTypeDocumentRoot(); 81 default: 82 throw new IllegalArgumentException ("The class '" + eClass.getName() + "' is not a valid classifier"); 83 } 84 } 85 86 91 public Object createFromString(EDataType eDataType, String initialValue) 92 { 93 switch (eDataType.getClassifierID()) 94 { 95 case XMLTypePackage.ANY_SIMPLE_TYPE: 96 return createAnySimpleTypeFromString(eDataType, initialValue); 97 case XMLTypePackage.ANY_URI: 98 return createAnyURIFromString(eDataType, initialValue); 99 case XMLTypePackage.BASE64_BINARY: 100 return createBase64BinaryFromString(eDataType, initialValue); 101 case XMLTypePackage.BOOLEAN: 102 return createBooleanFromString(eDataType, initialValue); 103 case XMLTypePackage.BOOLEAN_OBJECT: 104 return createBooleanObjectFromString(eDataType, initialValue); 105 case XMLTypePackage.BYTE: 106 return createByteFromString(eDataType, initialValue); 107 case XMLTypePackage.BYTE_OBJECT: 108 return createByteObjectFromString(eDataType, initialValue); 109 case XMLTypePackage.DATE: 110 return createDateFromString(eDataType, initialValue); 111 case XMLTypePackage.DATE_TIME: 112 return createDateTimeFromString(eDataType, initialValue); 113 case XMLTypePackage.DECIMAL: 114 return createDecimalFromString(eDataType, initialValue); 115 case XMLTypePackage.DOUBLE: 116 return createDoubleFromString(eDataType, initialValue); 117 case XMLTypePackage.DOUBLE_OBJECT: 118 return createDoubleObjectFromString(eDataType, initialValue); 119 case XMLTypePackage.DURATION: 120 return createDurationFromString(eDataType, initialValue); 121 case XMLTypePackage.ENTITIES: 122 return createENTITIESFromString(eDataType, initialValue); 123 case XMLTypePackage.ENTITIES_BASE: 124 return createENTITIESBaseFromString(eDataType, initialValue); 125 case XMLTypePackage.ENTITY: 126 return createENTITYFromString(eDataType, initialValue); 127 case XMLTypePackage.FLOAT: 128 return createFloatFromString(eDataType, initialValue); 129 case XMLTypePackage.FLOAT_OBJECT: 130 return createFloatObjectFromString(eDataType, initialValue); 131 case XMLTypePackage.GDAY: 132 return createGDayFromString(eDataType, initialValue); 133 case XMLTypePackage.GMONTH: 134 return createGMonthFromString(eDataType, initialValue); 135 case XMLTypePackage.GMONTH_DAY: 136 return createGMonthDayFromString(eDataType, initialValue); 137 case XMLTypePackage.GYEAR: 138 return createGYearFromString(eDataType, initialValue); 139 case XMLTypePackage.GYEAR_MONTH: 140 return createGYearMonthFromString(eDataType, initialValue); 141 case XMLTypePackage.HEX_BINARY: 142 return createHexBinaryFromString(eDataType, initialValue); 143 case XMLTypePackage.ID: 144 return createIDFromString(eDataType, initialValue); 145 case XMLTypePackage.IDREF: 146 return createIDREFFromString(eDataType, initialValue); 147 case XMLTypePackage.IDREFS: 148 return createIDREFSFromString(eDataType, initialValue); 149 case XMLTypePackage.IDREFS_BASE: 150 return createIDREFSBaseFromString(eDataType, initialValue); 151 case XMLTypePackage.INT: 152 return createIntFromString(eDataType, initialValue); 153 case XMLTypePackage.INTEGER: 154 return createIntegerFromString(eDataType, initialValue); 155 case XMLTypePackage.INT_OBJECT: 156 return createIntObjectFromString(eDataType, initialValue); 157 case XMLTypePackage.LANGUAGE: 158 return createLanguageFromString(eDataType, initialValue); 159 case XMLTypePackage.LONG: 160 return createLongFromString(eDataType, initialValue); 161 case XMLTypePackage.LONG_OBJECT: 162 return createLongObjectFromString(eDataType, initialValue); 163 case XMLTypePackage.NAME: 164 return createNameFromString(eDataType, initialValue); 165 case XMLTypePackage.NC_NAME: 166 return createNCNameFromString(eDataType, initialValue); 167 case XMLTypePackage.NEGATIVE_INTEGER: 168 return createNegativeIntegerFromString(eDataType, initialValue); 169 case XMLTypePackage.NMTOKEN: 170 return createNMTOKENFromString(eDataType, initialValue); 171 case XMLTypePackage.NMTOKENS: 172 return createNMTOKENSFromString(eDataType, initialValue); 173 case XMLTypePackage.NMTOKENS_BASE: 174 return createNMTOKENSBaseFromString(eDataType, initialValue); 175 case XMLTypePackage.NON_NEGATIVE_INTEGER: 176 return createNonNegativeIntegerFromString(eDataType, initialValue); 177 case XMLTypePackage.NON_POSITIVE_INTEGER: 178 return createNonPositiveIntegerFromString(eDataType, initialValue); 179 case XMLTypePackage.NORMALIZED_STRING: 180 return createNormalizedStringFromString(eDataType, initialValue); 181 case XMLTypePackage.NOTATION: 182 return createNOTATIONFromString(eDataType, initialValue); 183 case XMLTypePackage.POSITIVE_INTEGER: 184 return createPositiveIntegerFromString(eDataType, initialValue); 185 case XMLTypePackage.QNAME: 186 return createQNameFromString(eDataType, initialValue); 187 case XMLTypePackage.SHORT: 188 return createShortFromString(eDataType, initialValue); 189 case XMLTypePackage.SHORT_OBJECT: 190 return createShortObjectFromString(eDataType, initialValue); 191 case XMLTypePackage.STRING: 192 return createStringFromString(eDataType, initialValue); 193 case XMLTypePackage.TIME: 194 return createTimeFromString(eDataType, initialValue); 195 case XMLTypePackage.TOKEN: 196 return createTokenFromString(eDataType, initialValue); 197 case XMLTypePackage.UNSIGNED_BYTE: 198 return createUnsignedByteFromString(eDataType, initialValue); 199 case XMLTypePackage.UNSIGNED_BYTE_OBJECT: 200 return createUnsignedByteObjectFromString(eDataType, initialValue); 201 case XMLTypePackage.UNSIGNED_INT: 202 return createUnsignedIntFromString(eDataType, initialValue); 203 case XMLTypePackage.UNSIGNED_INT_OBJECT: 204 return createUnsignedIntObjectFromString(eDataType, initialValue); 205 case XMLTypePackage.UNSIGNED_LONG: 206 return createUnsignedLongFromString(eDataType, initialValue); 207 case XMLTypePackage.UNSIGNED_SHORT: 208 return createUnsignedShortFromString(eDataType, initialValue); 209 case XMLTypePackage.UNSIGNED_SHORT_OBJECT: 210 return createUnsignedShortObjectFromString(eDataType, initialValue); 211 default: 212 throw new IllegalArgumentException ("The datatype '" + eDataType.getName() + "' is not a valid classifier"); 213 } 214 } 215 216 221 public String convertToString(EDataType eDataType, Object instanceValue) 222 { 223 switch (eDataType.getClassifierID()) 224 { 225 case XMLTypePackage.ANY_SIMPLE_TYPE: 226 return convertAnySimpleTypeToString(eDataType, instanceValue); 227 case XMLTypePackage.ANY_URI: 228 return convertAnyURIToString(eDataType, instanceValue); 229 case XMLTypePackage.BASE64_BINARY: 230 return convertBase64BinaryToString(eDataType, instanceValue); 231 case XMLTypePackage.BOOLEAN: 232 return convertBooleanToString(eDataType, instanceValue); 233 case XMLTypePackage.BOOLEAN_OBJECT: 234 return convertBooleanObjectToString(eDataType, instanceValue); 235 case XMLTypePackage.BYTE: 236 return convertByteToString(eDataType, instanceValue); 237 case XMLTypePackage.BYTE_OBJECT: 238 return convertByteObjectToString(eDataType, instanceValue); 239 case XMLTypePackage.DATE: 240 return convertDateToString(eDataType, instanceValue); 241 case XMLTypePackage.DATE_TIME: 242 return convertDateTimeToString(eDataType, instanceValue); 243 case XMLTypePackage.DECIMAL: 244 return convertDecimalToString(eDataType, instanceValue); 245 case XMLTypePackage.DOUBLE: 246 return convertDoubleToString(eDataType, instanceValue); 247 case XMLTypePackage.DOUBLE_OBJECT: 248 return convertDoubleObjectToString(eDataType, instanceValue); 249 case XMLTypePackage.DURATION: 250 return convertDurationToString(eDataType, instanceValue); 251 case XMLTypePackage.ENTITIES: 252 return convertENTITIESToString(eDataType, instanceValue); 253 case XMLTypePackage.ENTITIES_BASE: 254 return convertENTITIESBaseToString(eDataType, instanceValue); 255 case XMLTypePackage.ENTITY: 256 return convertENTITYToString(eDataType, instanceValue); 257 case XMLTypePackage.FLOAT: 258 return convertFloatToString(eDataType, instanceValue); 259 case XMLTypePackage.FLOAT_OBJECT: 260 return convertFloatObjectToString(eDataType, instanceValue); 261 case XMLTypePackage.GDAY: 262 return convertGDayToString(eDataType, instanceValue); 263 case XMLTypePackage.GMONTH: 264 return convertGMonthToString(eDataType, instanceValue); 265 case XMLTypePackage.GMONTH_DAY: 266 return convertGMonthDayToString(eDataType, instanceValue); 267 case XMLTypePackage.GYEAR: 268 return convertGYearToString(eDataType, instanceValue); 269 case XMLTypePackage.GYEAR_MONTH: 270 return convertGYearMonthToString(eDataType, instanceValue); 271 case XMLTypePackage.HEX_BINARY: 272 return convertHexBinaryToString(eDataType, instanceValue); 273 case XMLTypePackage.ID: 274 return convertIDToString(eDataType, instanceValue); 275 case XMLTypePackage.IDREF: 276 return convertIDREFToString(eDataType, instanceValue); 277 case XMLTypePackage.IDREFS: 278 return convertIDREFSToString(eDataType, instanceValue); 279 case XMLTypePackage.IDREFS_BASE: 280 return convertIDREFSBaseToString(eDataType, instanceValue); 281 case XMLTypePackage.INT: 282 return convertIntToString(eDataType, instanceValue); 283 case XMLTypePackage.INTEGER: 284 return convertIntegerToString(eDataType, instanceValue); 285 case XMLTypePackage.INT_OBJECT: 286 return convertIntObjectToString(eDataType, instanceValue); 287 case XMLTypePackage.LANGUAGE: 288 return convertLanguageToString(eDataType, instanceValue); 289 case XMLTypePackage.LONG: 290 return convertLongToString(eDataType, instanceValue); 291 case XMLTypePackage.LONG_OBJECT: 292 return convertLongObjectToString(eDataType, instanceValue); 293 case XMLTypePackage.NAME: 294 return convertNameToString(eDataType, instanceValue); 295 case XMLTypePackage.NC_NAME: 296 return convertNCNameToString(eDataType, instanceValue); 297 case XMLTypePackage.NEGATIVE_INTEGER: 298 return convertNegativeIntegerToString(eDataType, instanceValue); 299 case XMLTypePackage.NMTOKEN: 300 return convertNMTOKENToString(eDataType, instanceValue); 301 case XMLTypePackage.NMTOKENS: 302 return convertNMTOKENSToString(eDataType, instanceValue); 303 case XMLTypePackage.NMTOKENS_BASE: 304 return convertNMTOKENSBaseToString(eDataType, instanceValue); 305 case XMLTypePackage.NON_NEGATIVE_INTEGER: 306 return convertNonNegativeIntegerToString(eDataType, instanceValue); 307 case XMLTypePackage.NON_POSITIVE_INTEGER: 308 return convertNonPositiveIntegerToString(eDataType, instanceValue); 309 case XMLTypePackage.NORMALIZED_STRING: 310 return convertNormalizedStringToString(eDataType, instanceValue); 311 case XMLTypePackage.NOTATION: 312 return convertNOTATIONToString(eDataType, instanceValue); 313 case XMLTypePackage.POSITIVE_INTEGER: 314 return convertPositiveIntegerToString(eDataType, instanceValue); 315 case XMLTypePackage.QNAME: 316 return convertQNameToString(eDataType, instanceValue); 317 case XMLTypePackage.SHORT: 318 return convertShortToString(eDataType, instanceValue); 319 case XMLTypePackage.SHORT_OBJECT: 320 return convertShortObjectToString(eDataType, instanceValue); 321 case XMLTypePackage.STRING: 322 return convertStringToString(eDataType, instanceValue); 323 case XMLTypePackage.TIME: 324 return convertTimeToString(eDataType, instanceValue); 325 case XMLTypePackage.TOKEN: 326 return convertTokenToString(eDataType, instanceValue); 327 case XMLTypePackage.UNSIGNED_BYTE: 328 return convertUnsignedByteToString(eDataType, instanceValue); 329 case XMLTypePackage.UNSIGNED_BYTE_OBJECT: 330 return convertUnsignedByteObjectToString(eDataType, instanceValue); 331 case XMLTypePackage.UNSIGNED_INT: 332 return convertUnsignedIntToString(eDataType, instanceValue); 333 case XMLTypePackage.UNSIGNED_INT_OBJECT: 334 return convertUnsignedIntObjectToString(eDataType, instanceValue); 335 case XMLTypePackage.UNSIGNED_LONG: 336 return convertUnsignedLongToString(eDataType, instanceValue); 337 case XMLTypePackage.UNSIGNED_SHORT: 338 return convertUnsignedShortToString(eDataType, instanceValue); 339 case XMLTypePackage.UNSIGNED_SHORT_OBJECT: 340 return convertUnsignedShortObjectToString(eDataType, instanceValue); 341 default: 342 throw new IllegalArgumentException ("The datatype '" + eDataType.getName() + "' is not a valid classifier"); 343 } 344 } 345 346 351 public AnyType createAnyType() 352 { 353 AnyTypeImpl anyType = new AnyTypeImpl(); 354 return anyType; 355 } 356 357 362 public SimpleAnyType createSimpleAnyType() 363 { 364 SimpleAnyTypeImpl simpleAnyType = new SimpleAnyTypeImpl(); 365 return simpleAnyType; 366 } 367 368 373 public XMLTypeDocumentRoot createXMLTypeDocumentRoot() 374 { 375 XMLTypeDocumentRootImpl xmlTypeDocumentRoot = new XMLTypeDocumentRootImpl(); 376 return xmlTypeDocumentRoot; 377 } 378 379 384 public Object createAnySimpleTypeFromString(EDataType eDataType, String initialValue) 385 { 386 return initialValue; 387 } 388 389 394 public String convertAnySimpleTypeToString(EDataType eDataType, Object instanceValue) 395 { 396 return instanceValue == null ? null : instanceValue.toString(); 397 } 398 399 404 public String createAnyURIFromString(EDataType eDataType, String initialValue) 405 { 406 411 428 return initialValue; 429 } 430 431 436 public String convertAnyURIToString(EDataType eDataType, Object instanceValue) 437 { 438 return (String )instanceValue; 439 } 440 441 446 public byte[] createBase64BinaryFromString(EDataType eDataType, String initialValue) 447 { 448 if (initialValue == null) return null; 449 byte[] value = Base64.decode(collapseWhiteSpace(initialValue)); 450 if (value == null) 451 { 452 throw new InvalidDatatypeValueException("Invalid base64Binary value: '"+initialValue+"'"); 453 } 454 return value; 455 } 456 457 462 public String convertBase64BinaryToString(EDataType eDataType, Object instanceValue) 463 { 464 return instanceValue == null ? null : Base64.encode((byte[])instanceValue); 465 } 466 467 472 public Boolean createBooleanFromString(EDataType eDataType, String initialValue) 473 { 474 return initialValue == null ? null : booleanValueOf(initialValue); 475 } 476 477 482 public String convertBooleanToString(EDataType eDataType, Object instanceValue) 483 { 484 return instanceValue == null ? null : instanceValue.toString(); 485 } 486 487 492 public Boolean createBooleanObjectFromString(EDataType eDataType, String initialValue) 493 { 494 return initialValue == null ? null : booleanValueOf(initialValue); 495 } 496 497 502 public String convertBooleanObjectToString(EDataType eDataType, Object instanceValue) 503 { 504 return instanceValue == null ? null : instanceValue.toString(); 505 } 506 507 512 public BigDecimal createDecimalFromString(EDataType eDataType, String initialValue) 513 { 514 return initialValue == null ? null : new BigDecimal (collapseWhiteSpace(initialValue)); 515 } 516 517 522 public String convertDecimalToString(EDataType eDataType, Object instanceValue) 523 { 524 return instanceValue == null ? null : instanceValue.toString(); 525 } 526 527 532 public BigInteger createIntegerFromString(EDataType eDataType, String initialValue) 533 { 534 return initialValue == null ? null : new BigInteger (collapseWhiteSpace(initialValue)); 535 } 536 537 542 public String convertIntegerToString(EDataType eDataType, Object instanceValue) 543 { 544 return instanceValue == null ? null : instanceValue.toString(); 545 } 546 547 552 public Integer createIntObjectFromString(EDataType eDataType, String initialValue) 553 { 554 return initialValue == null ? null : Integer.valueOf(collapseWhiteSpace(initialValue)); 555 } 556 557 562 public String convertIntObjectToString(EDataType eDataType, Object instanceValue) 563 { 564 return instanceValue == null ? null : instanceValue.toString(); 565 } 566 567 572 public Long createLongFromString(EDataType eDataType, String initialValue) 573 { 574 return initialValue == null ? null : Long.valueOf(collapseWhiteSpace(initialValue)); 575 } 576 577 582 public String convertLongToString(EDataType eDataType, Object instanceValue) 583 { 584 return instanceValue == null ? null : instanceValue.toString(); 585 } 586 587 592 public Long createLongObjectFromString(EDataType eDataType, String initialValue) 593 { 594 return initialValue == null ? null : Long.valueOf(collapseWhiteSpace(initialValue)); 595 } 596 597 602 public String convertLongObjectToString(EDataType eDataType, Object instanceValue) 603 { 604 return instanceValue == null ? null : instanceValue.toString(); 605 } 606 607 612 public Integer createIntFromString(EDataType eDataType, String initialValue) 613 { 614 return initialValue == null ? null : Integer.valueOf(collapseWhiteSpace(initialValue)); 615 } 616 617 622 public String convertIntToString(EDataType eDataType, Object instanceValue) 623 { 624 return instanceValue == null ? null : instanceValue.toString(); 625 } 626 627 632 public Short createShortFromString(EDataType eDataType, String initialValue) 633 { 634 return initialValue == null ? null : Short.valueOf(collapseWhiteSpace(initialValue)); 635 } 636 637 642 public String convertShortToString(EDataType eDataType, Object instanceValue) 643 { 644 return instanceValue == null ? null : instanceValue.toString(); 645 } 646 647 652 public Short createShortObjectFromString(EDataType eDataType, String initialValue) 653 { 654 return initialValue == null ? null : Short.valueOf(collapseWhiteSpace(initialValue)); 655 } 656 657 662 public String convertShortObjectToString(EDataType eDataType, Object instanceValue) 663 { 664 return instanceValue == null ? null : instanceValue.toString(); 665 } 666 667 672 public Byte createByteFromString(EDataType eDataType, String initialValue) 673 { 674 return initialValue == null ? null : Byte.valueOf(collapseWhiteSpace(initialValue)); 675 } 676 677 682 public String convertByteToString(EDataType eDataType, Object instanceValue) 683 { 684 return instanceValue == null ? null : instanceValue.toString(); 685 } 686 687 692 public Byte createByteObjectFromString(EDataType eDataType, String initialValue) 693 { 694 return initialValue == null ? null : Byte.valueOf(collapseWhiteSpace(initialValue)); 695 } 696 697 702 public String convertByteObjectToString(EDataType eDataType, Object instanceValue) 703 { 704 return instanceValue == null ? null : instanceValue.toString(); 705 } 706 707 712 public Object createDateFromString(EDataType eDataType, String initialValue) 713 { 714 return initialValue == null ? null : new XMLCalendar(collapseWhiteSpace(initialValue), XMLCalendar.DATE); 715 716 } 717 718 723 public String convertDateToString(EDataType eDataType, Object instanceValue) 724 { 725 if (instanceValue == null) 726 { 727 return null; 728 } 729 if (instanceValue instanceof Date ) 730 { 731 return EDATE_FORMATS[1].format((Date )instanceValue); 732 } 733 return instanceValue.toString(); 734 } 735 736 741 public Object createDateTimeFromString(EDataType eDataType, String initialValue) 742 { 743 return initialValue == null ? null : new XMLCalendar(collapseWhiteSpace(initialValue), XMLCalendar.DATETIME); 744 } 745 746 751 public String convertDateTimeToString(EDataType eDataType, Object instanceValue) 752 { 753 if (instanceValue == null) 754 { 755 return null; 756 } 757 if (instanceValue instanceof Date ) 758 { 759 return EDATE_FORMATS[0].format((Date )instanceValue); 760 } 761 return instanceValue.toString(); 762 } 763 764 769 public String createStringFromString(EDataType eDataType, String initialValue) 770 { 771 return initialValue; 772 } 773 774 779 public String convertStringToString(EDataType eDataType, Object instanceValue) 780 { 781 return (String )instanceValue; 782 } 783 784 789 public Double createDoubleFromString(EDataType eDataType, String initialValue) 790 { 791 return initialValue == null ? null : Double.valueOf(collapseWhiteSpace(initialValue)); 792 } 793 794 799 public String convertDoubleToString(EDataType eDataType, Object instanceValue) 800 { 801 return instanceValue == null ? null : instanceValue.toString(); 802 } 803 804 809 public Double createDoubleObjectFromString(EDataType eDataType, String initialValue) 810 { 811 return initialValue == null ? null : Double.valueOf(collapseWhiteSpace(initialValue)); 812 } 813 814 819 public String convertDoubleObjectToString(EDataType eDataType, Object instanceValue) 820 { 821 return instanceValue == null ? null : instanceValue.toString(); 822 } 823 824 829 public Object createDurationFromString(EDataType eDataType, String initialValue) 830 { 831 return initialValue == null ? null : new XMLDuration(collapseWhiteSpace(initialValue)); 832 } 833 834 839 public String convertDurationToString(EDataType eDataType, Object instanceValue) 840 { 841 return instanceValue == null ? null : instanceValue.toString(); 842 } 843 844 849 public List createENTITIESBaseFromString(EDataType eDataType, String initialValue) 850 { 851 if (initialValue == null) return null; 852 List result = new ArrayList (); 853 for (StringTokenizer stringTokenizer = new StringTokenizer (initialValue); stringTokenizer.hasMoreTokens(); ) 854 { 855 String item = stringTokenizer.nextToken(); 856 result.add(XMLTypeFactory.eINSTANCE.createFromString(XMLTypePackage.eINSTANCE.getENTITY(), item)); 857 } 858 return result; 859 } 860 861 866 public String convertENTITIESBaseToString(EDataType eDataType, Object instanceValue) 867 { 868 if (instanceValue == null) return null; 869 List list = (List )instanceValue; 870 if (list.isEmpty()) return ""; 871 StringBuffer result = new StringBuffer (); 872 for (Iterator i = list.iterator(); i.hasNext(); ) 873 { 874 result.append(XMLTypeFactory.eINSTANCE.convertToString(XMLTypePackage.eINSTANCE.getENTITY(), i.next()));
|