--- old/jaxp/src/com/sun/org/apache/xerces/internal/xinclude/XIncludeHandler.java 2013-05-15 10:29:09.000000000 +0200 +++ new/jaxp/src/com/sun/org/apache/xerces/internal/xinclude/XIncludeHandler.java 2013-05-15 10:29:09.000000000 +0200 @@ -67,6 +67,7 @@ import com.sun.org.apache.xerces.internal.xpointer.XPointerHandler; import com.sun.org.apache.xerces.internal.xpointer.XPointerProcessor; import com.sun.org.apache.xerces.internal.utils.ObjectFactory; +import java.util.Objects; /** *

@@ -375,6 +376,7 @@ // XMLComponent methods + @Override public void reset(XMLComponentManager componentManager) throws XNIException { fNamespaceContext = null; @@ -580,6 +582,7 @@ * this component. This method may return null if no features * are recognized by this component. */ + @Override public String[] getRecognizedFeatures() { return (String[])(RECOGNIZED_FEATURES.clone()); } // getRecognizedFeatures():String[] @@ -599,6 +602,7 @@ * @throws SAXNotSupportedException The component should not throw * this exception. */ + @Override public void setFeature(String featureId, boolean state) throws XMLConfigurationException { if (featureId.equals(ALLOW_UE_AND_NOTATION_EVENTS)) { @@ -615,6 +619,7 @@ * this component. This method may return null if no properties * are recognized by this component. */ + @Override public String[] getRecognizedProperties() { return (String[])(RECOGNIZED_PROPERTIES.clone()); } // getRecognizedProperties():String[] @@ -634,6 +639,7 @@ * @throws SAXNotSupportedException The component should not throw * this exception. */ + @Override public void setProperty(String propertyId, Object value) throws XMLConfigurationException { if (propertyId.equals(SYMBOL_TABLE)) { @@ -694,6 +700,7 @@ * * @since Xerces 2.2.0 */ + @Override public Boolean getFeatureDefault(String featureId) { for (int i = 0; i < RECOGNIZED_FEATURES.length; i++) { if (RECOGNIZED_FEATURES[i].equals(featureId)) { @@ -712,6 +719,7 @@ * * @since Xerces 2.2.0 */ + @Override public Object getPropertyDefault(String propertyId) { for (int i = 0; i < RECOGNIZED_PROPERTIES.length; i++) { if (RECOGNIZED_PROPERTIES[i].equals(propertyId)) { @@ -721,10 +729,12 @@ return null; } // getPropertyDefault(String):Object + @Override public void setDocumentHandler(XMLDocumentHandler handler) { fDocumentHandler = handler; } + @Override public XMLDocumentHandler getDocumentHandler() { return fDocumentHandler; } @@ -739,6 +749,7 @@ * * This event is only passed on to the document handler if this is the root document. */ + @Override public void startDocument( XMLLocator locator, String encoding, @@ -786,6 +797,7 @@ } } + @Override public void xmlDecl( String version, String encoding, @@ -798,6 +810,7 @@ } } + @Override public void doctypeDecl( String rootElement, String publicId, @@ -809,6 +822,7 @@ } } + @Override public void comment(XMLString text, Augmentations augs) throws XNIException { if (!fInDTD) { @@ -825,6 +839,7 @@ } } + @Override public void processingInstruction( String target, XMLString data, @@ -845,6 +860,7 @@ } } + @Override public void startElement( QName element, XMLAttributes attributes, @@ -915,6 +931,7 @@ } } + @Override public void emptyElement( QName element, XMLAttributes attributes, @@ -996,6 +1013,7 @@ fDepth--; } + @Override public void endElement(QName element, Augmentations augs) throws XNIException { @@ -1041,6 +1059,7 @@ fDepth--; } + @Override public void startGeneralEntity( String name, XMLResourceIdentifier resId, @@ -1059,6 +1078,7 @@ } } + @Override public void textDecl(String version, String encoding, Augmentations augs) throws XNIException { if (fDocumentHandler != null @@ -1067,6 +1087,7 @@ } } + @Override public void endGeneralEntity(String name, Augmentations augs) throws XNIException { if (fDocumentHandler != null @@ -1076,6 +1097,7 @@ } } + @Override public void characters(XMLString text, Augmentations augs) throws XNIException { if (getState() == STATE_NORMAL_PROCESSING) { @@ -1092,6 +1114,7 @@ } } + @Override public void ignorableWhitespace(XMLString text, Augmentations augs) throws XNIException { if (fDocumentHandler != null @@ -1101,6 +1124,7 @@ } } + @Override public void startCDATA(Augmentations augs) throws XNIException { if (fDocumentHandler != null && getState() == STATE_NORMAL_PROCESSING @@ -1109,6 +1133,7 @@ } } + @Override public void endCDATA(Augmentations augs) throws XNIException { if (fDocumentHandler != null && getState() == STATE_NORMAL_PROCESSING @@ -1117,6 +1142,7 @@ } } + @Override public void endDocument(Augmentations augs) throws XNIException { if (isRootDocument()) { if (!fSeenRootElement) { @@ -1128,10 +1154,12 @@ } } + @Override public void setDocumentSource(XMLDocumentSource source) { fDocumentSource = source; } + @Override public XMLDocumentSource getDocumentSource() { return fDocumentSource; } @@ -1143,6 +1171,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String[], java.lang.String, com.sun.org.apache.xerces.internal.xni.XMLString, com.sun.org.apache.xerces.internal.xni.XMLString, com.sun.org.apache.xerces.internal.xni.Augmentations) */ + @Override public void attributeDecl( String elementName, String attributeName, @@ -1169,6 +1198,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#elementDecl(java.lang.String, java.lang.String, com.sun.org.apache.xerces.internal.xni.Augmentations) */ + @Override public void elementDecl( String name, String contentModel, @@ -1182,6 +1212,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#endAttlist(com.sun.org.apache.xerces.internal.xni.Augmentations) */ + @Override public void endAttlist(Augmentations augmentations) throws XNIException { if (fDTDHandler != null) { fDTDHandler.endAttlist(augmentations); @@ -1191,6 +1222,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#endConditional(com.sun.org.apache.xerces.internal.xni.Augmentations) */ + @Override public void endConditional(Augmentations augmentations) throws XNIException { if (fDTDHandler != null) { @@ -1201,6 +1233,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#endDTD(com.sun.org.apache.xerces.internal.xni.Augmentations) */ + @Override public void endDTD(Augmentations augmentations) throws XNIException { if (fDTDHandler != null) { fDTDHandler.endDTD(augmentations); @@ -1211,6 +1244,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#endExternalSubset(com.sun.org.apache.xerces.internal.xni.Augmentations) */ + @Override public void endExternalSubset(Augmentations augmentations) throws XNIException { if (fDTDHandler != null) { @@ -1221,6 +1255,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#endParameterEntity(java.lang.String, com.sun.org.apache.xerces.internal.xni.Augmentations) */ + @Override public void endParameterEntity(String name, Augmentations augmentations) throws XNIException { if (fDTDHandler != null) { @@ -1231,6 +1266,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#externalEntityDecl(java.lang.String, com.sun.org.apache.xerces.internal.xni.XMLResourceIdentifier, com.sun.org.apache.xerces.internal.xni.Augmentations) */ + @Override public void externalEntityDecl( String name, XMLResourceIdentifier identifier, @@ -1244,6 +1280,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#getDTDSource() */ + @Override public XMLDTDSource getDTDSource() { return fDTDSource; } @@ -1251,6 +1288,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#ignoredCharacters(com.sun.org.apache.xerces.internal.xni.XMLString, com.sun.org.apache.xerces.internal.xni.Augmentations) */ + @Override public void ignoredCharacters(XMLString text, Augmentations augmentations) throws XNIException { if (fDTDHandler != null) { @@ -1261,6 +1299,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#internalEntityDecl(java.lang.String, com.sun.org.apache.xerces.internal.xni.XMLString, com.sun.org.apache.xerces.internal.xni.XMLString, com.sun.org.apache.xerces.internal.xni.Augmentations) */ + @Override public void internalEntityDecl( String name, XMLString text, @@ -1279,6 +1318,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#notationDecl(java.lang.String, com.sun.org.apache.xerces.internal.xni.XMLResourceIdentifier, com.sun.org.apache.xerces.internal.xni.Augmentations) */ + @Override public void notationDecl( String name, XMLResourceIdentifier identifier, @@ -1293,6 +1333,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#setDTDSource(com.sun.org.apache.xerces.internal.xni.parser.XMLDTDSource) */ + @Override public void setDTDSource(XMLDTDSource source) { fDTDSource = source; } @@ -1300,6 +1341,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#startAttlist(java.lang.String, com.sun.org.apache.xerces.internal.xni.Augmentations) */ + @Override public void startAttlist(String elementName, Augmentations augmentations) throws XNIException { if (fDTDHandler != null) { @@ -1310,6 +1352,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#startConditional(short, com.sun.org.apache.xerces.internal.xni.Augmentations) */ + @Override public void startConditional(short type, Augmentations augmentations) throws XNIException { if (fDTDHandler != null) { @@ -1320,6 +1363,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#startDTD(com.sun.org.apache.xerces.internal.xni.XMLLocator, com.sun.org.apache.xerces.internal.xni.Augmentations) */ + @Override public void startDTD(XMLLocator locator, Augmentations augmentations) throws XNIException { fInDTD = true; @@ -1331,6 +1375,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#startExternalSubset(com.sun.org.apache.xerces.internal.xni.XMLResourceIdentifier, com.sun.org.apache.xerces.internal.xni.Augmentations) */ + @Override public void startExternalSubset( XMLResourceIdentifier identifier, Augmentations augmentations) @@ -1343,6 +1388,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#startParameterEntity(java.lang.String, com.sun.org.apache.xerces.internal.xni.XMLResourceIdentifier, java.lang.String, com.sun.org.apache.xerces.internal.xni.Augmentations) */ + @Override public void startParameterEntity( String name, XMLResourceIdentifier identifier, @@ -1361,6 +1407,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.XMLDTDHandler#unparsedEntityDecl(java.lang.String, com.sun.org.apache.xerces.internal.xni.XMLResourceIdentifier, java.lang.String, com.sun.org.apache.xerces.internal.xni.Augmentations) */ + @Override public void unparsedEntityDecl( String name, XMLResourceIdentifier identifier, @@ -1380,6 +1427,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.parser.XMLDTDSource#getDTDHandler() */ + @Override public XMLDTDHandler getDTDHandler() { return fDTDHandler; } @@ -1387,6 +1435,7 @@ /* (non-Javadoc) * @see com.sun.org.apache.xerces.internal.xni.parser.XMLDTDSource#setDTDHandler(com.sun.org.apache.xerces.internal.xni.XMLDTDHandler) */ + @Override public void setDTDHandler(XMLDTDHandler handler) { fDTDHandler = handler; } @@ -1615,11 +1664,10 @@ fNamespaceContext); ((XPointerHandler)fXPtrProcessor).setProperty(XINCLUDE_FIXUP_BASE_URIS, - new Boolean(fFixupBaseURIs)); + fFixupBaseURIs); ((XPointerHandler)fXPtrProcessor).setProperty( - XINCLUDE_FIXUP_LANGUAGE, - new Boolean (fFixupLanguage)); + XINCLUDE_FIXUP_LANGUAGE, fFixupLanguage); if (fErrorReporter != null) ((XPointerHandler)fXPtrProcessor).setProperty(ERROR_REPORTER, fErrorReporter); @@ -2093,14 +2141,14 @@ /** Check whether the scheme components are equal. */ final String baseScheme = base.getScheme(); final String literalScheme = uri.getScheme(); - if (!isEqual(baseScheme, literalScheme)) { + if (!Objects.equals(baseScheme, literalScheme)) { return relativeURI; } /** Check whether the authority components are equal. */ final String baseAuthority = base.getAuthority(); final String literalAuthority = uri.getAuthority(); - if (!isEqual(baseAuthority, literalAuthority)) { + if (!Objects.equals(baseAuthority, literalAuthority)) { return uri.getSchemeSpecificPart(); } @@ -2113,7 +2161,7 @@ final String literalQuery = uri.getQueryString(); final String literalFragment = uri.getFragment(); if (literalQuery != null || literalFragment != null) { - StringBuffer buffer = new StringBuffer(); + final StringBuilder buffer = new StringBuilder(); if (literalPath != null) { buffer.append(literalPath); } @@ -2624,15 +2672,15 @@ // equals() returns true if two Notations have the same name. // Useful for searching Vectors for notations with the same name + @Override public boolean equals(Object obj) { - if (obj == null) { - return false; - } - if (obj instanceof Notation) { - Notation other = (Notation)obj; - return name.equals(other.name); - } - return false; + return obj == this || obj instanceof Notation + && Objects.equals(name, ((Notation)obj).name); + } + + @Override + public int hashCode() { + return Objects.hashCode(name); } // from 4.5.2 @@ -2645,16 +2693,12 @@ public boolean isDuplicate(Object obj) { if (obj != null && obj instanceof Notation) { Notation other = (Notation)obj; - return name.equals(other.name) - && isEqual(publicId, other.publicId) - && isEqual(expandedSystemId, other.expandedSystemId); + return Objects.equals(name, other.name) + && Objects.equals(publicId, other.publicId) + && Objects.equals(expandedSystemId, other.expandedSystemId); } return false; } - - private boolean isEqual(String one, String two) { - return (one == two || (one != null && one.equals(two))); - } } // This is a storage class to hold information about the unparsed entities. @@ -2670,15 +2714,15 @@ // equals() returns true if two UnparsedEntities have the same name. // Useful for searching Vectors for entities with the same name + @Override public boolean equals(Object obj) { - if (obj == null) { - return false; - } - if (obj instanceof UnparsedEntity) { - UnparsedEntity other = (UnparsedEntity)obj; - return name.equals(other.name); - } - return false; + return obj == this || obj instanceof UnparsedEntity + && Objects.equals(name, ((UnparsedEntity)obj).name); + } + + @Override + public int hashCode() { + return Objects.hashCode(name); } // from 4.5.1: @@ -2691,17 +2735,13 @@ public boolean isDuplicate(Object obj) { if (obj != null && obj instanceof UnparsedEntity) { UnparsedEntity other = (UnparsedEntity)obj; - return name.equals(other.name) - && isEqual(publicId, other.publicId) - && isEqual(expandedSystemId, other.expandedSystemId) - && isEqual(notation, other.notation); + return Objects.equals(name, other.name) + && Objects.equals(publicId, other.publicId) + && Objects.equals(expandedSystemId, other.expandedSystemId) + && Objects.equals(notation, other.notation); } return false; } - - private boolean isEqual(String one, String two) { - return (one == two || (one != null && one.equals(two))); - } } // The following methods are used for XML Base processing @@ -2891,17 +2931,13 @@ return httpSource; } - private boolean isEqual(String one, String two) { - return (one == two || (one != null && one.equals(two))); - } - // which ASCII characters need to be escaped - private static boolean gNeedEscaping[] = new boolean[128]; + private static final boolean gNeedEscaping[] = new boolean[128]; // the first hex character if a character needs to be escaped - private static char gAfterEscaping1[] = new char[128]; + private static final char gAfterEscaping1[] = new char[128]; // the second hex character if a character needs to be escaped - private static char gAfterEscaping2[] = new char[128]; - private static char[] gHexChs = {'0', '1', '2', '3', '4', '5', '6', '7', + private static final char gAfterEscaping2[] = new char[128]; + private static final char[] gHexChs = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; // initialize the above 3 arrays static { @@ -2931,7 +2967,7 @@ private String escapeHref(String href) { int len = href.length(); int ch; - StringBuffer buffer = new StringBuffer(len*3); + final StringBuilder buffer = new StringBuilder(len*3); // for each character in the href int i = 0;