protected BigInteger readInteger(final XMLStreamReader parser) throws XMLStreamException { assert parser != null; String value = readText(parser); try { return new BigInteger(value); } catch (NumberFormatException e) { throw new CmisInvalidArgumentException("Invalid integer value!", e); } }
public static BulkUpdateImpl convertBulkUpdate(XmlPullParser parser) throws XmlPullParserException { return BULK_UPDATE_PARSER.walk(parser); }
public T walk(XMLStreamReader parser) throws XMLStreamException { assert parser != null; final T result = prepareTarget(parser, parser.getName()); next(parser); // walk through all tags while (true) { int event = parser.getEventType(); if (event == XMLStreamConstants.START_ELEMENT) { QName name = parser.getName(); if (!read(parser, name, result)) { if (result instanceof ExtensionsData) { handleExtension(parser, (ExtensionsData) result); } else { skip(parser); } } } else if (event == XMLStreamConstants.END_ELEMENT) { break; } else { if (!next(parser)) { break; } } } next(parser); return result; }
protected void handleExtension(XmlPullParser parser, ExtensionsData extData) throws XmlPullParserException { List<CmisExtensionElement> extensions = extData.getExtensions(); if (extensions == null) { extensions = new ArrayList<CmisExtensionElement>(); extData.setExtensions(extensions); } if (extensions.size() + 1 > XMLConstraints.MAX_EXTENSIONS_WIDTH) { throw new CmisInvalidArgumentException("Too many extensions!"); } extensions.add(handleExtensionLevel(parser, 0)); }
public T walk(XmlPullParser parser) throws XmlPullParserException { final T result = prepareTarget(parser, new QName(parser.getNamespace(), parser.getName())); next(parser); // walk through all tags while (true) { int event = parser.getEventType(); if (event == XmlPullParser.START_TAG) { QName name = new QName(parser.getNamespace(), parser.getName()); if (!read(parser, name, result)) { if (result instanceof ExtensionsData) { handleExtension(parser, (ExtensionsData) result); } else { skip(parser); } } } else if (event == XmlPullParser.END_TAG) { break; } else { if (!next(parser)) { break; } } } next(parser); return result; }
protected void handleExtension(XMLStreamReader parser, ExtensionsData extData) throws XMLStreamException { assert parser != null; List<CmisExtensionElement> extensions = extData.getExtensions(); if (extensions == null) { extensions = new ArrayList<CmisExtensionElement>(); extData.setExtensions(extensions); } if (extensions.size() + 1 > XMLConstraints.MAX_EXTENSIONS_WIDTH) { throw new CmisInvalidArgumentException("Too many extensions! (More than " + XMLConstraints.MAX_EXTENSIONS_WIDTH + " extensions.)"); } extensions.add(handleExtensionLevel(parser, 0)); }
public static ObjectData convertObject(XMLStreamReader parser) throws XMLStreamException { return OBJECT_PARSER.walk(parser); }
protected Boolean readBoolean(final XMLStreamReader parser) throws XMLStreamException { assert parser != null; String value = readText(parser); if ("true".equals(value) || "1".equals(value)) { return Boolean.TRUE; } if ("false".equals(value) || "0".equals(value)) { return Boolean.FALSE; } throw new CmisInvalidArgumentException("Invalid boolean value!"); }
children.add(handleExtensionLevel(parser, level + 1));
public static BulkUpdateImpl convertBulkUpdate(XMLStreamReader parser) throws XMLStreamException { return BULK_UPDATE_PARSER.walk(parser); }
protected BigDecimal readDecimal(final XMLStreamReader parser) throws XMLStreamException { assert parser != null; String value = readText(parser); try { return new BigDecimal(value); } catch (NumberFormatException e) { throw new CmisInvalidArgumentException("Invalid decimal value!", e); } }
children.add(handleExtensionLevel(parser, level + 1));
public static RepositoryInfo convertRepositoryInfo(XMLStreamReader parser) throws XMLStreamException { return REPOSITORY_INFO_PARSER.walk(parser); }
public <E extends Enum<E>> E readEnum(final XMLStreamReader parser, final Class<E> clazz) throws XMLStreamException { assert parser != null; assert clazz != null; return CmisEnumHelper.fromValue(readText(parser), clazz); }
public static AllowableActions convertAllowableActions(XMLStreamReader parser) throws XMLStreamException { return ALLOWABLE_ACTIONS_PARSER.walk(parser); }
protected BigInteger readInteger(final XmlPullParser parser) throws XmlPullParserException { String value = readText(parser); try { return new BigInteger(value); } catch (NumberFormatException e) { throw new CmisInvalidArgumentException("Invalid integer value!", e); } }
public static Acl convertAcl(XMLStreamReader parser) throws XMLStreamException { return ACL_PARSER.walk(parser); }
protected BigDecimal readDecimal(final XmlPullParser parser) throws XmlPullParserException { String value = readText(parser); try { return new BigDecimal(value); } catch (NumberFormatException e) { throw new CmisInvalidArgumentException("Invalid decimal value!", e); } }
public static Acl convertAcl(XmlPullParser parser) throws XmlPullParserException { return ACL_PARSER.walk(parser); }
protected Boolean readBoolean(final XmlPullParser parser) throws XmlPullParserException { String value = readText(parser); if ("true".equals(value) || "1".equals(value)) { return Boolean.TRUE; } if ("false".equals(value) || "0".equals(value)) { return Boolean.FALSE; } throw new CmisInvalidArgumentException("Invalid boolean value!"); }