Go to the documentation of this file.
9 package javolution.xml;
121 private static final String
NULL =
"Null";
155 return cls.newInstance();
156 }
catch (InstantiationException e) {
158 }
catch (IllegalAccessException e) {
169 public abstract void write(T obj, OutputElement xml)
179 public abstract void read(InputElement xml, T obj)
185 @SuppressWarnings(
"unchecked")
234 if (!_isReaderAtNext) {
235 _isReaderAtNext =
true;
257 _isReaderAtNext =
false;
261 Object ref = readReference();
266 Class<?> cls = _binding.
readClass(_reader,
false);
267 return readInstanceOf(cls);
282 Object ref = readReference();
287 Class<?> cls = _binding.
readClass(_reader,
true);
288 return readInstanceOf(cls);
299 public <T> T
get(String localName, String uri)
302 return (T)
get(localName);
309 Object ref = readReference();
314 Class<?> cls = _binding.
readClass(_reader,
true);
315 return readInstanceOf(cls);
331 Object ref = readReference();
335 return readInstanceOf(cls);
347 public <T> T
get(String localName, String uri, Class<T> cls)
350 return get(localName, cls);
357 Object ref = readReference();
361 return readInstanceOf(cls);
366 if (_referenceResolver ==
null)
373 _isReaderAtNext =
false;
378 @SuppressWarnings(
"rawtypes")
385 _isReaderAtNext =
false;
389 if (_referenceResolver !=
null) {
394 xmlFormat.
read(
this, obj);
398 _isReaderAtNext =
false;
411 _isReaderAtNext =
true;
423 "Attributes should be read before content");
437 "Attributes should be read before reading content");
452 return (value !=
null) ? value.
toString() : defaultValue;
466 return (value !=
null) ? value.
toBoolean() : defaultValue;
484 "Single character expected (read '" + value +
"')");
500 return (value !=
null) ? (byte) value.
toInt() : defaultValue;
515 return (value !=
null) ? (short) value.
toInt() : defaultValue;
530 return (value !=
null) ? value.
toInt() : defaultValue;
545 return (value !=
null) ? value.
toLong() : defaultValue;
559 return (value !=
null) ? value.
toFloat() : defaultValue;
573 return (value !=
null) ? value.
toDouble() : defaultValue;
591 Class<?> type = defaultValue.getClass();
596 return (T) format.
parse(value);
601 _binding = xmlBinding;
606 _referenceResolver = xmlReferenceResolver;
612 _isReaderAtNext =
false;
614 _referenceResolver =
null;
621 @SuppressWarnings(
"unchecked")
669 Class<?> cls = obj.getClass();
678 xmlFormat.
write(obj,
this);
699 Class<?> cls = obj.getClass();
708 xmlFormat.
write(obj,
this);
722 public void add(Object obj, String localName, String uri)
731 Class<?> cls = obj.getClass();
740 xmlFormat.
write(obj,
this);
753 public <T>
void add(T obj, String name, Class<T> cls)
766 xmlFormat.
write(obj,
this);
780 public <T>
void add(T obj, String localName, String uri, Class<T> cls)
793 xmlFormat.
write(obj,
this);
799 if ((_referenceResolver ==
null)
863 setAttribute(name, _tmpTextBuilder.clear().append(value));
888 setAttribute(name, _tmpTextBuilder.
clear().
append(value));
899 setAttribute(name, _tmpTextBuilder.
clear().
append(value));
910 setAttribute(name, _tmpTextBuilder.
clear().
append(value));
921 setAttribute(name, _tmpTextBuilder.
clear().
append(value));
932 setAttribute(name, _tmpTextBuilder.
clear().
append(value));
943 setAttribute(name, _tmpTextBuilder.
clear().
append(value));
958 setAttribute(name, _tmpTextBuilder.
clear().
append(value.toString()));
963 _binding = xmlBinding;
968 _referenceResolver = xmlReferenceResolver;
977 _referenceResolver =
null;
1005 "No TextFormat defined to parse instances of " + cls);
1006 CharArray value = xml.getAttribute(
"value");
1009 "Missing value attribute (to be able to parse the instance of "
1011 return format.
parse(value);
1019 @SuppressWarnings(
"unchecked")
1025 xml.setAttribute(
"value", tmp);
static< T > TextFormat< T > getFormat(Class<? extends T > type)
void createReference(Object obj, XMLFormat.InputElement xml)
void writeAttribute(CharSequence localName, CharSequence value)
CharArray getAttributeValue(CharSequence uri, CharSequence localName)
final TextBuilder append(char c)
final TextBuilder clear()
void setRepairingNamespaces(boolean isRepairingNamespaces)
void writeStartElement(CharSequence localName)
boolean equals(Object that)
Class<?> readClass(XMLStreamReader reader, boolean useAttributes)
void setAutomaticEmptyElements(boolean automaticEmptyElements)
static final int START_ELEMENT
abstract T parse(CharSequence csq, Cursor cursor)
CharArray getNamespaceURI(CharSequence prefix)
CharArray getElementText()
static final int END_ELEMENT
void writeEmptyElement(CharSequence localName)
XMLFormat<?> getFormat(Class<?> forClass)
boolean writeReference(Object obj, XMLFormat.OutputElement xml)
static final XMLBinding DEFAULT
Attributes getAttributes()
Object readReference(XMLFormat.InputElement xml)
void writeCharacters(CharSequence text)
void writeClass(Class<?> cls, XMLStreamWriter writer, boolean useAttributes)