< prev index next >
src/java.xml/share/classes/com/sun/xml/internal/stream/events/StartElementEvent.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
@@ -21,39 +21,37 @@
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-package com.sun.xml.internal.stream.events ;
+package com.sun.xml.internal.stream.events;
-import java.util.List;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Iterator;
+import com.sun.xml.internal.stream.util.ReadOnlyIterator;
import java.util.ArrayList;
import java.util.Collection;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.events.StartElement;
-import javax.xml.stream.events.Attribute;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
import javax.xml.namespace.NamespaceContext;
-import java.io.Writer;
-import com.sun.xml.internal.stream.util.ReadOnlyIterator;
+import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamConstants;
+import javax.xml.stream.events.Attribute;
import javax.xml.stream.events.Namespace;
+import javax.xml.stream.events.StartElement;
-/** Implementation of StartElementEvent.
+/**
+ * Implementation of StartElementEvent.
*
* @author Neeraj Bajaj Sun Microsystems,Inc.
* @author K.Venugopal Sun Microsystems,Inc.
*/
-
public class StartElementEvent extends DummyEvent
-implements StartElement {
+ implements StartElement {
- private Map fAttributes;
- private List fNamespaces;
+ private Map<QName, Attribute> fAttributes;
+ private List<Namespace> fNamespaces;
private NamespaceContext fNamespaceContext = null;
private QName fQName;
public StartElementEvent(String prefix, String uri, String localpart) {
this(new QName(uri, localpart, prefix));
@@ -68,164 +66,183 @@
this(startelement.getName());
addAttributes(startelement.getAttributes());
addNamespaceAttributes(startelement.getNamespaces());
}
- protected void init() {
+ protected final void init() {
setEventType(XMLStreamConstants.START_ELEMENT);
- fAttributes = new HashMap();
- fNamespaces = new ArrayList();
+ fAttributes = new HashMap<>();
+ fNamespaces = new ArrayList<>();
}
+ @Override
public QName getName() {
return fQName;
}
public void setName(QName qname) {
this.fQName = qname;
}
- public Iterator getAttributes() {
- if(fAttributes != null){
- Collection coll = fAttributes.values();
- return new ReadOnlyIterator(coll.iterator());
+ @Override
+ public Iterator<Attribute> getAttributes() {
+ if (fAttributes != null) {
+ Collection<Attribute> coll = fAttributes.values();
+ return new ReadOnlyIterator<>(coll.iterator());
}
- return new ReadOnlyIterator();
+ return new ReadOnlyIterator<>();
}
- public Iterator getNamespaces() {
- if(fNamespaces != null){
- return new ReadOnlyIterator(fNamespaces.iterator());
+ @Override
+ public Iterator<Namespace> getNamespaces() {
+ if (fNamespaces != null) {
+ return new ReadOnlyIterator<>(fNamespaces.iterator());
}
- return new ReadOnlyIterator();
+ return new ReadOnlyIterator<>();
}
+ @Override
public Attribute getAttributeByName(QName qname) {
- if(qname == null)
+ if (qname == null) {
return null;
- return (Attribute)fAttributes.get(qname);
+ }
+ return fAttributes.get(qname);
}
- public String getNamespace(){
+ public String getNamespace() {
return fQName.getNamespaceURI();
}
+ @Override
public String getNamespaceURI(String prefix) {
//check that URI was supplied when creating this startElement event and prefix matches
- if( getNamespace() != null && fQName.getPrefix().equals(prefix)) return getNamespace();
+ if (getNamespace() != null && fQName.getPrefix().equals(prefix)) {
+ return getNamespace();
+ }
//else check the namespace context
- if(fNamespaceContext != null)
+ if (fNamespaceContext != null) {
return fNamespaceContext.getNamespaceURI(prefix);
+ }
return null;
}
/**
- * <p>Return a <code>String</code> representation of this
+ * <p>
+ * Return a <code>String</code> representation of this
* <code>StartElement</code> formatted as XML.</p>
*
* @return <code>String</code> representation of this
* <code>StartElement</code> formatted as XML.
*/
+ @Override
public String toString() {
- StringBuffer startElement = new StringBuffer();
+ StringBuilder startElement = new StringBuilder();
// open element
startElement.append("<");
startElement.append(nameAsString());
// add any attributes
if (fAttributes != null) {
- Iterator it = this.getAttributes();
- Attribute attr = null;
+ Iterator<Attribute> it = this.getAttributes();
+ Attribute attr;
while (it.hasNext()) {
- attr = (Attribute) it.next();
+ attr = it.next();
startElement.append(" ");
startElement.append(attr.toString());
}
}
// add any namespaces
if (fNamespaces != null) {
- Iterator it = fNamespaces.iterator();
- Namespace attr = null;
+ Iterator<Namespace> it = fNamespaces.iterator();
+ Namespace ns;
while (it.hasNext()) {
- attr = (Namespace) it.next();
+ ns = it.next();
startElement.append(" ");
- startElement.append(attr.toString());
+ startElement.append(ns.toString());
}
}
// close start tag
startElement.append(">");
// return StartElement as a String
return startElement.toString();
}
- /** Return this event as String
+ /**
+ * Return this event as String
+ *
* @return String Event returned as string.
*/
public String nameAsString() {
- if("".equals(fQName.getNamespaceURI()))
+ if ("".equals(fQName.getNamespaceURI())) {
return fQName.getLocalPart();
- if(fQName.getPrefix() != null)
- return "['" + fQName.getNamespaceURI() + "']:" + fQName.getPrefix() + ":" + fQName.getLocalPart();
- else
+ }
+ if (fQName.getPrefix() != null) {
+ return "['" + fQName.getNamespaceURI() + "']:" + fQName.getPrefix()
+ + ":" + fQName.getLocalPart();
+ } else {
return "['" + fQName.getNamespaceURI() + "']:" + fQName.getLocalPart();
}
+ }
-
- /** Gets a read-only namespace context. If no context is
- * available this method will return an empty namespace context.
- * The NamespaceContext contains information about all namespaces
- * in scope for this StartElement.
+ /**
+ * Gets a read-only namespace context. If no context is available this
+ * method will return an empty namespace context. The NamespaceContext
+ * contains information about all namespaces in scope for this StartElement.
*
* @return the current namespace context
*/
+ @Override
public NamespaceContext getNamespaceContext() {
return fNamespaceContext;
}
public void setNamespaceContext(NamespaceContext nc) {
fNamespaceContext = nc;
}
+ @Override
protected void writeAsEncodedUnicodeEx(java.io.Writer writer)
- throws java.io.IOException
- {
+ throws java.io.IOException {
writer.write(toString());
}
- void addAttribute(Attribute attr){
- if(attr.isNamespace()){
- fNamespaces.add(attr);
- }else{
- fAttributes.put(attr.getName(),attr);
+ void addAttribute(Attribute attr) {
+ if (attr.isNamespace()) {
+ fNamespaces.add((Namespace) attr);
+ } else {
+ fAttributes.put(attr.getName(), attr);
}
}
- void addAttributes(Iterator attrs){
- if(attrs == null)
+ final void addAttributes(Iterator<? extends Attribute> attrs) {
+ if (attrs == null) {
return;
- while(attrs.hasNext()){
- Attribute attr = (Attribute)attrs.next();
- fAttributes.put(attr.getName(),attr);
+ }
+ while (attrs.hasNext()) {
+ Attribute attr = attrs.next();
+ fAttributes.put(attr.getName(), attr);
}
}
- void addNamespaceAttribute(Namespace attr){
- if(attr == null)
+ void addNamespaceAttribute(Namespace attr) {
+ if (attr == null) {
return;
+ }
fNamespaces.add(attr);
}
- void addNamespaceAttributes(Iterator attrs){
- if(attrs == null)
+ final void addNamespaceAttributes(Iterator<? extends Namespace> attrs) {
+ if (attrs == null) {
return;
- while(attrs.hasNext()){
- Namespace attr = (Namespace)attrs.next();
+ }
+ while (attrs.hasNext()) {
+ Namespace attr = attrs.next();
fNamespaces.add(attr);
}
}
}
< prev index next >