/** * Returns the current element as a {@link javax.xml.namespace.QName}. * * If <code>reader</code> implements {@link NsAwareStream}, * {@link NsAwareStream#getQname()} is returned. Otherwise, a new <code>QName</code> is constructed using * {@link com.thoughtworks.xstream.io.HierarchicalStreamReader#getNodeName()}. * * @param reader the reader instance * @return the current element QName * @see NsAwareStream#getQname() * @see com.thoughtworks.xstream.io.HierarchicalStreamReader#getNodeName() */ QName getElementQname(HierarchicalStreamReader reader) { final QName name; final HierarchicalStreamReader underlyingReader = reader.underlyingReader(); final Class readerClass = underlyingReader.getClass(); if (NsAwareStream.class.isAssignableFrom(readerClass)) { name = ((NsAwareStream) underlyingReader).getQname(); } else { name = new QName(reader.getNodeName()); } return name; }
/** * Returns the current element name. * * If <code>reader</code> implements {@link NsAwareStream}, * {@link NsAwareStream#getQname()} is called, and the local part of the {@link javax.xml.namespace.QName} * is returned. Otherwise, {@link com.thoughtworks.xstream.io.HierarchicalStreamReader#getNodeName()} is returned. * * @param reader the reader instance * @return the current element name * @see NsAwareStream#getQname() * @see com.thoughtworks.xstream.io.HierarchicalStreamReader#getNodeName() */ String getElementName(HierarchicalStreamReader reader) { final String name; final HierarchicalStreamReader underlyingReader = reader.underlyingReader(); final Class readerClass = underlyingReader.getClass(); if (NsAwareStream.class.isAssignableFrom(readerClass)) { name = ((NsAwareStream) underlyingReader).getQname().getLocalPart(); } else { name = reader.getNodeName(); } return name; }
/** * Returns the current element name. * * If <code>reader</code> implements {@link NsAwareStream}, * {@link NsAwareStream#getQname()} is called, and the local part of the {@link javax.xml.namespace.QName} * is returned. Otherwise, {@link com.thoughtworks.xstream.io.HierarchicalStreamReader#getNodeName()} is returned. * * @param reader the reader instance * @return the current element name * @see NsAwareStream#getQname() * @see com.thoughtworks.xstream.io.HierarchicalStreamReader#getNodeName() */ protected String getElementName(HierarchicalStreamReader reader) { final String name; final HierarchicalStreamReader underlyingReader = reader.underlyingReader(); final Class readerClass = underlyingReader.getClass(); if (NsAwareStream.class.isAssignableFrom(readerClass)) { name = ((NsAwareStream) underlyingReader).getQname().getLocalPart(); } else { name = reader.getNodeName(); } return name; }
/** * Returns the current element as a {@link javax.xml.namespace.QName}. * * If <code>reader</code> implements {@link NsAwareStream}, * {@link NsAwareStream#getQname()} is returned. Otherwise, a new <code>QName</code> is constructed using * {@link com.thoughtworks.xstream.io.HierarchicalStreamReader#getNodeName()}. * * @param reader the reader instance * @return the current element QName * @see NsAwareStream#getQname() * @see com.thoughtworks.xstream.io.HierarchicalStreamReader#getNodeName() */ QName getElementQname(HierarchicalStreamReader reader) { final QName name; final HierarchicalStreamReader underlyingReader = reader.underlyingReader(); final Class readerClass = underlyingReader.getClass(); if (NsAwareStream.class.isAssignableFrom(readerClass)) { name = ((NsAwareStream) underlyingReader).getQname(); } else { name = new QName(reader.getNodeName()); } return name; }