gcc/libjava/classpath/javax/swing/text/html/HTMLWriter.java
Andrew John Hughes 729530c035 GNU Classpath import (libgcj-snapshot-20100921).
2010-10-12  Andrew John Hughes  <ahughes@redhat.com>

	Import GNU Classpath (libgcj-snapshot-20100921).

	* libjava/Makefile.in: Regenerated.
	* libjava/javax/swing/text/html/StyleSheet.h,
	* libjava/javax/swing/text/html/MinimalHTMLWriter.h,
	* libjava/javax/swing/text/html/HTMLWriter.h,
	* libjava/javax/xml/stream/XMLEventFactory.h,
	* libjava/javax/xml/stream/XMLOutputFactory.h,
	* libjava/javax/xml/stream/events/Namespace.h,
	* libjava/javax/xml/stream/util/StreamReaderDelegate.h,
	* libjava/javax/security/auth/kerberos/KeyImpl.h,
	* libjava/javax/security/auth/kerberos/KerberosTicket.h:
	Regenerated.
	* libjava/classpath/Makefile.in,
	* libjava/classpath/depcomp,
	* libjava/classpath/scripts/Makefile.in,
	* libjava/classpath/resource/Makefile.in,
	* libjava/classpath/tools/Makefile.in:
	Regenerated.  Use libtool from top-level config directory.
	* libjava/classpath/tools/classes/gnu/classpath/tools/StringToolkit.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/java2xhtml/Java2xhtml$State.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/IOToolkit.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$3.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$5.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$7.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$9.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$OptionProcessor.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportClassFile.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassComponent.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$21.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TagImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocProxy.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$23.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BlockSourceComponent.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DirectoryTree$FileNode.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$25.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/IgnoredFileParseException.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TextTagImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$Context.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/InheritDocTagImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FunctionComponent.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/AdditionExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Type.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NegateExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantDouble.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/EqualExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantChar.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Evaluator.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/DivisionExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantInteger.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantShort.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantLong.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantByte.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/UnaryExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantFloat.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ModuloExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantString.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NotExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/AndExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/Context.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantNull.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/LessThanExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/BinaryExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/expr/ConstantExpression.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportNotFound.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParamTagImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Timer.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourceComponent.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/CommentComponent.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportReflectionPackage.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/StaticBlockComponent.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ValueTagImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SeeTagImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$11.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$13.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ConstructorDocImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$15.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TemporaryStore.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportReflectionClass.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$17.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/BracketClose.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$19.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParameterImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TypeImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ScheduledClass.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldComponent.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl$ResolvedImportPackageFile.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$2.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SlashSlashCommentComponent.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ErrorReporter.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$4.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$6.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageComponent.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MemberDocImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$8.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser$1.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DirectoryTree.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Debug.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/DocImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/MethodDocImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$20.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/FieldDocImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/RootDocImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$22.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$24.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TimerDoclet$1.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/PackageDocImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ThrowsTagImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/EmptyStatementComponent.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/LinkTagImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/AbstractTagImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ParseException.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$10.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$12.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Parser.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Whitespace.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$14.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/ImportComponent.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$16.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$18.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/SourcePositionImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/JavadocWrapper.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/Main$1.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/gjdoc/TypeVariableImpl.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/NotifyingInputStreamReader.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/javah/MethodHelper.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/javah/GcjhMain.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniStubPrinter.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniIncludePrinter.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/javah/PathOptionGroup.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/javah/Keywords.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/javah/JniPrintStream.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniStubPrinter.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/javah/Main.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/javah/CniPrintStream.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/javah/ClassWrapper.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$3.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/HashFinder.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$4.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$5.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler$MethodRef.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/WrapUnWrapper.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$6.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$7.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$8.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$9.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Generator.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/GiopIo.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/MethodGenerator.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RmiMethodGenerator.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/SourceRmicCompiler.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Variables.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/ClassRmicCompiler.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/CompilationError.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$10.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$11.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$12.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$13.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$14.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$15.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$16.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$17.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$18.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/RMICException.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$1.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/rmic/Main$2.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$1.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$2.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/serialver/SerialVer$3.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/MalformedInputEvent.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletConfigurationException.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$InterfaceRelation.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTag.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/TargetContext.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet$DocErrorReporterOutputStream.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$1.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$UsageType.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/Driver$NullErrorReporter.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer$TagInfo.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionColonSeparated.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTaglet.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$UsageType.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionString.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/CssClass.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$1.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$2.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$3.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet$TreeNode.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/InvalidPackageWildcardException.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionFlag.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageMatcher.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/StandardTaglet.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOptionFile.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/DocletOption.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$IndexKey.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionGroup.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/AbstractDoclet$DocletOptionTagletPath.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/doclets/PackageGroup.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader$JarStreamInfo.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader$FileStreamInfo.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/taglets/CodeTaglet.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/taglets/GenericTaglet.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/taglets/ValueTaglet.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/taglets/AuthorTaglet$EmailReplacement.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/taglets/DeprecatedTaglet.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/taglets/SinceTaglet.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/taglets/AuthorTaglet.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/taglets/TagletContext.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/taglets/VersionTaglet.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/taglets/CopyrightTaglet.class,
	* libjava/classpath/tools/classes/gnu/classpath/tools/FileSystemClassLoader.class,
	* libjava/classpath/tools/classes/com/sun/tools/javadoc/Main.class: Regenerated.
	* libjava/classpath/doc/Makefile.in,
	* libjava/classpath/doc/api/Makefile.in,
	* libjava/classpath/doc/texinfo.tex,
	* libjava/classpath/external/Makefile.in,
	* libjava/classpath/external/jsr166/Makefile.in,
	* libjava/classpath/external/sax/Makefile.in,
	* libjava/classpath/external/w3c_dom/Makefile.in,
	* libjava/classpath/external/relaxngDatatype/Makefile.in,
	* libjava/classpath/include/Makefile.in: Regenerated.
	* libjava/classpath/m4/lib-prefix.m4,
	* libjava/classpath/m4/lib-link.m4,
	* libjava/classpath/m4/lib-ld.m4: Removed.
	* libjava/classpath/native/jni/classpath/Makefile.in,
	* libjava/classpath/native/jni/gstreamer-peer/Makefile.in,
	* libjava/classpath/native/jni/midi-dssi/Makefile.in,
	* libjava/classpath/native/jni/Makefile.in,
	* libjava/classpath/native/jni/gconf-peer/Makefile.in,
	* libjava/classpath/native/jni/java-io/Makefile.in,
	* libjava/classpath/native/jni/native-lib/Makefile.in,
	* libjava/classpath/native/jni/native-lib/cpnet.c,
	* libjava/classpath/native/jni/java-util/Makefile.in,
	* libjava/classpath/native/jni/java-lang/Makefile.in,
	* libjava/classpath/native/jni/midi-alsa/Makefile.in,
	* libjava/classpath/native/jni/java-nio/Makefile.in,
	* libjava/classpath/native/jni/java-net/Makefile.in,
	* libjava/classpath/native/jni/java-math/Makefile.in,
	* libjava/classpath/native/jni/xmlj/Makefile.in,
	* libjava/classpath/native/jni/qt-peer/Makefile.in,
	* libjava/classpath/native/jni/gtk-peer/Makefile.in,
	* libjava/classpath/native/Makefile.in,
	* libjava/classpath/native/jawt/Makefile.in,
	* libjava/classpath/native/fdlibm/Makefile.in,
	* libjava/classpath/native/plugin/Makefile.in,
	* libjava/classpath/lib/java/util/regex/Matcher.class,
	* libjava/classpath/lib/java/util/TreeMap$3.class,
	* libjava/classpath/lib/java/util/Scanner.class,
	* libjava/classpath/lib/Makefile.in,
	* libjava/classpath/lib/org/omg/PortableServer/_ServantActivatorStub.class,
	* libjava/classpath/lib/org/omg/PortableServer/_ServantLocatorStub.class,
	* libjava/classpath/lib/org/omg/CORBA/portable/InputStream.class,
	* libjava/classpath/lib/org/omg/CORBA/portable/ObjectImpl.class,
	* libjava/classpath/lib/org/omg/CORBA/portable/Delegate.class,
	* libjava/classpath/lib/org/omg/CORBA/LocalObject.class,
	* libjava/classpath/lib/org/omg/CORBA_2_3/portable/InputStream.class,
	* libjava/classpath/lib/org/omg/CORBA_2_3/portable/OutputStream.class,
	* libjava/classpath/lib/org/omg/DynamicAny/_DynSequenceStub.class,
	* libjava/classpath/lib/org/omg/DynamicAny/_DynValueStub.class,
	* libjava/classpath/lib/org/omg/DynamicAny/_DynStructStub.class,
	* libjava/classpath/lib/org/omg/DynamicAny/_DynEnumStub.class,
	* libjava/classpath/lib/org/omg/DynamicAny/_DynArrayStub.class,
	* libjava/classpath/lib/org/omg/DynamicAny/_DynAnyFactoryStub.class,
	* libjava/classpath/lib/org/omg/DynamicAny/_DynAnyStub.class,
	* libjava/classpath/lib/org/omg/DynamicAny/_DynUnionStub.class,
	* libjava/classpath/lib/org/omg/DynamicAny/_DynFixedStub.class,
	* libjava/classpath/lib/org/ietf/jgss/GSSManager.class,
	* libjava/classpath/lib/gnu/xml/stream/NamespaceImpl.class,
	* libjava/classpath/lib/gnu/xml/stream/XIncludeFilter.class,
	* libjava/classpath/lib/gnu/xml/stream/FilteredStreamReader.class,
	* libjava/classpath/lib/gnu/xml/stream/XMLEventFactoryImpl.class,
	* libjava/classpath/lib/gnu/xml/stream/XMLEventAllocatorImpl.class,
	* libjava/classpath/lib/gnu/xml/stream/XMLStreamWriterImpl.class,
	* libjava/classpath/lib/gnu/java/locale/LocaleData.class,
	* libjava/classpath/lib/gnu/javax/swing/text/html/css/Selector.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/IppRequest$RequestWriter.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/IppResponse$ResponseReader.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/CharsetConfigured.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/DocumentFormat.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterUpTime.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/SidesSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PageRangesSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MediaSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/OperationsSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/CharsetSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/FinishingsSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/CompressionSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/SidesDefault.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/MediaDefault.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/CopiesDefault.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/UnknownAttribute.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/DetailedStatusMessage.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobPrinterUri.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/AttributesCharset.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobStateMessage.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobId.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobMoreInfo.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/job/JobUri.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/RequestedAttributes.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/StatusMessage.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/attribute/DocumentAccessError.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/IppUtilities.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/IppPrintService.class,
	* libjava/classpath/lib/gnu/javax/print/ipp/IppResponse.class,
	* libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode.class,
	* libjava/classpath/lib/javax/swing/tree/VariableHeightLayoutCache.class,
	* libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PostorderEnumeration.class,
	* libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$BreadthFirstEnumeration.class,
	* libjava/classpath/lib/javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration.class,
	* libjava/classpath/lib/javax/swing/tree/FixedHeightLayoutCache.class,
	* libjava/classpath/lib/javax/swing/text/html/HTMLEditorKit.class,
	* libjava/classpath/lib/javax/swing/text/html/StyleSheet$BoxPainter.class,
	* libjava/classpath/lib/javax/swing/text/html/HTMLWriter.class,
	* libjava/classpath/lib/javax/swing/text/html/TableView$RowView.class,
	* libjava/classpath/lib/javax/swing/text/html/MultiAttributeSet$MultiNameEnumeration.class,
	* libjava/classpath/lib/javax/swing/text/html/MultiStyle.class,
	* libjava/classpath/lib/javax/swing/text/html/ImageView.class,
	* libjava/classpath/lib/javax/swing/text/html/TableView$CellView.class,
	* libjava/classpath/lib/javax/swing/text/html/MultiAttributeSet.class,
	* libjava/classpath/lib/javax/swing/text/html/ImageView$1.class,
	* libjava/classpath/lib/javax/swing/text/html/StyleSheet$ListPainter.class,
	* libjava/classpath/lib/javax/swing/text/html/TableView.class,
	* libjava/classpath/lib/javax/swing/text/html/StyleSheet.class,
	* libjava/classpath/lib/javax/swing/text/html/ObjectView.class,
	* libjava/classpath/lib/javax/swing/text/html/MinimalHTMLWriter.class,
	* libjava/classpath/lib/javax/swing/undo/UndoableEditSupport.class,
	* libjava/classpath/lib/javax/swing/undo/StateEdit.class,
	* libjava/classpath/lib/javax/xml/stream/XMLEventFactory.class,
	* libjava/classpath/lib/javax/xml/stream/events/Namespace.class,
	* libjava/classpath/lib/javax/xml/stream/XMLInputFactory.class,
	* libjava/classpath/lib/javax/xml/stream/util/StreamReaderDelegate.class,
	* libjava/classpath/lib/javax/xml/stream/XMLOutputFactory.class,
	* libjava/classpath/lib/javax/security/auth/kerberos/KerberosTicket.class,
	* libjava/classpath/lib/javax/security/auth/kerberos/KeyImpl.class,
	* libjava/classpath/missing,
	* libjava/classpath/aclocal.m4,
	* libjava/classpath/examples/Makefile.in,
	* libjava/classpath/install-sh,
	* libjava/gnu/xml/stream/FilteredStreamReader.h,
	* libjava/gnu/xml/stream/XMLStreamWriterImpl.h,
	* libjava/gnu/xml/stream/NamespaceImpl.h,
	* libjava/gnu/xml/stream/XIncludeFilter.h,
	* libjava/gnu/javax/swing/text/html/css/Selector.h,
	* libjava/gnu/javax/print/ipp/attribute/RequestedAttributes.h,
	* libjava/sources.am: Regenerated.

2010-05-27  Andrew John Hughes  <ahughes@redhat.com>

	* configure.ac:
	Disable plugin by default and warn about
	unmaintained status when enabled.

2010-05-04  Andrew John Hughes  <ahughes@redhat.com>

	* configure.ac:
	Call AC_PROG_JAVA_WORKS and AC_PROG_JAVAC_WORKS
	in place of AC_PROG_JAVA and AC_PROG_JAVAC
	respectively, as this is the real test we want.
	* m4/ac_prog_java.m4:
	(AC_PROG_JAVA): Don't include AC_PROG_JAVA_WORKS.
	* m4/ac_prog_java_works.m4:
	(AC_PROG_JAVA_WORKS): Require AC_PROG_JAVA and be
	defined only once.  Require AC_PROG_JAVAC_WORKS for
	compilation of test class.  Remove inclusion of
	AC_PROG_JAVAC.
	(AC_TRY_COMPILE_JAVA): Require AC_PROG_JAVAC_WORKS
	rather than AC_PROG_JAVAC.  Be defined only once.
	* m4/ac_prog_javac.m:
	(AC_PROG_JAVAC): Be defined only once.  Don't include
	AC_PROG_JAVAC_WORKS.
	* m4/ac_prog_javac_works.m4:
	(AC_PROG_JAVAC_WORKS): Be defined only once.  Require
	AC_PROG_JAVAC.

2010-05-04  Andrew Haley  <aph@redhat.com>

	* lib/gen-classlist.sh.in: Use absolute pathnames for all the
	directory names in the output file.

2010-05-04  Andrew John Hughes  <ahughes@redhat.com>

	* m4/ac_prog_javac.m4:
	Capture all output from javac --version
	to avoid excess output.  Make sure no appears
	when javac is not gcj.

2010-05-04  Andrew John Hughes  <ahughes@redhat.com>

	* configure.ac:
	Add output to GMP directory detection and
	only perform when compiling GMP.

2010-05-04  Mike Stump  <mikestump@comcast.net>

	* configure.ac:
	Allow prefix, libdir and includedir of GMP
	to be specified via --with-gmp, --with-gmp-include
	and --with-gmp-lib.

2010-04-28  Andrew John Hughes  <ahughes@redhat.com>

	* gnu/javax/print/ipp/IppPrintService.java:
	(printerAttr): Add generic typing.
	(printServiceAttributeListener): Likewise.
	(flavors): Likewise.
	(printerUris): Likewise.
	(IppPrintService(URI uri, String username, String password)):
	Use generic types in initialising listener set.
	(getPrinterAttributes()): Add generic types.  Remove cast.
	(getPrinterAttributeSet(Class<T>)): Return a set containing
	attributes of type T.  Now creates a new set and checks that
	all elements of the original set can be cast and added to this
	new set.
	(getPrinterDefaultAttribute(Class<? extends Attribute>)): Add
	generic types.
	(processResponse()): Add generic types.
	(getAttribute(Class<T>)): Use generic types corresponding to
	parent interface.
	(getSupportedAttributeCategories()): Use generic types.
	(getSupportedAttributeValues()): Likewise.
	(handleSupportedAttributeValuesResponse(IppResponse,Class<? extends Attribute>)):
	Likewise.
	(isAttributeCategorySupported(Class<? extends Attribute>)): Likewise.
	* gnu/javax/print/ipp/IppResponse.java:
	(parseResponse(InputStream)): Use generic types.
	(parseAttributes(Map<Class<? extends Attribute>, Set<Attribute>, DataInputStream)):
	Likewise.
	(addAttribute(Map<Class<? extends Attribute>, Set<Attribute>>, Attribute): Likewise.
	(IppResponse(URI, short)): Create lists with appropriate type parameters.
	(getJobAttributes()): Use generic return type.
	(getOperationAttributes()): Likewise.
	(getPrinterAttributes()): Likewise.
	(getUnsupportedAttributes()): Likewise.
	* gnu/javax/print/ipp/attribute/supported/CompressionSupported.java:
	(getAssociatedAttributeArray(Set<Attribute>)): Use superclass Attribute
	as set type parameter and cast when looping over it.
	* gnu/javax/print/ipp/attribute/supported/FinishingsSupported.java,
	(getAssociatedAttributeArray(Set<Attribute>)): Use superclass Attribute
	as set type parameter and cast when looping over it.
	* gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.java,
	(getAssociatedAttributeArray(Set<Attribute>)): Use superclass Attribute
	as set type parameter and cast when looping over it.
	* gnu/javax/print/ipp/attribute/supported/MediaSupported.java,
	(getAssociatedAttributeArray(Set<Attribute>)): Use superclass Attribute
	as set type parameter and cast when looping over it.
	* gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.java,
	(getAssociatedAttributeArray(Set<Attribute>)): Use superclass Attribute
	as set type parameter and cast when looping over it.
	* gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.java,
	(getAssociatedAttributeArray(Set<Attribute>)): Use superclass Attribute
	as set type parameter and cast when looping over it.
	* gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.java,
	(getAssociatedAttributeArray(Set<Attribute>)): Use superclass Attribute
	as set type parameter and cast when looping over it.
	* gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.java,
	(getAssociatedAttributeArray(Set<Attribute>)): Use superclass Attribute
	as set type parameter and cast when looping over it.

2010-04-28  Andrew John Hughes  <ahughes@redhat.com>

	* gnu/javax/print/ipp/IppUtilities.java:
	(INTEGER_CLASS_ARRAY): Use generic typing.
	(TEXT_CLASS_ARRAY): Likewise.
	(classesByName): Likewise.
	(instanceByClass): Likewise.
	(getClass(String)): Remove cast.  Return generic type.
	(getSupportedAttrName(Class<? extends Attribute>)): Remove cast.
	Add generic type to parameter.
	(getSupportedCategory(Class<?> extends Attribute>)): Likewise.
	(getEnumAttribute(String,Object)): Add missing generic types on Class.
	(getIntegerAttribute(String,int)): Likewise and on Constructor.
	(getTextAttribute(String,byte,byte[])): Likewise.

2010-04-27  Andrew John Hughes  <ahughes@redhat.com>

	* gnu/javax/print/ipp/IppRequest.java:
	(write(RequestedAttributes)): Fix for change in return value
	of RequestedAttributes.getValues().
	* gnu/javax/print/ipp/attribute/DetailedStatusMessage.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/DocumentAccessError.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/RequestedAttributes.java:
	(RequestedAttributes()): Use appropriate generic type with attributes
	ArrayList.
	(getValues()): Return an array-based snapshot of the current state of
	attributes rather than providing direct mutable access to it.
	* gnu/javax/print/ipp/attribute/StatusMessage.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/UnknownAttribute.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/defaults/CopiesDefault.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/defaults/MediaDefault.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/defaults/SidesDefault.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/job/AttributesCharset.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/job/JobId.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/job/JobMoreInfo.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/job/JobPrinterUri.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/job/JobStateMessage.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/job/JobUri.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/printer/CharsetConfigured.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/printer/DocumentFormat.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.java:
	(getCategory()): Fix return value.
	* gnu/javax/print/ipp/attribute/printer/PrinterUpTime.java:
	(getCategory()): Fix return value.

2010-04-27  Andrew John Hughes  <ahughes@redhat.com>

	* gnu/javax/print/CupsIppOperation.java,
	* gnu/javax/print/CupsMediaMapping.java,
	* gnu/javax/print/CupsPrintService.java,
	* gnu/javax/print/CupsPrintServiceLookup.java,
	* gnu/javax/print/CupsServer.java,
	* gnu/javax/print/PrintAttributeException.java,
	* gnu/javax/print/PrintFlavorException.java,
	* gnu/javax/print/PrintUriException.java,
	* gnu/javax/print/PrinterDialog.java,
	* gnu/javax/print/ipp/DocPrintJobImpl.java,
	* gnu/javax/print/ipp/IppDelimiterTag.java,
	* gnu/javax/print/ipp/IppException.java,
	* gnu/javax/print/ipp/IppMultiDocPrintService.java,
	* gnu/javax/print/ipp/IppRequest.java,
	* gnu/javax/print/ipp/IppResponse.java,
	* gnu/javax/print/ipp/IppStatusCode.java,
	* gnu/javax/print/ipp/IppUtilities.java,
	* gnu/javax/print/ipp/IppValueTag.java,
	* gnu/javax/print/ipp/MultiDocPrintJobImpl.java,
	* gnu/javax/print/ipp/attribute/CharsetSyntax.java,
	* gnu/javax/print/ipp/attribute/DefaultValueAttribute.java,
	* gnu/javax/print/ipp/attribute/DetailedStatusMessage.java,
	* gnu/javax/print/ipp/attribute/DocumentAccessError.java,
	* gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.java,
	* gnu/javax/print/ipp/attribute/RequestedAttributes.java,
	* gnu/javax/print/ipp/attribute/StatusMessage.java,
	* gnu/javax/print/ipp/attribute/UnknownAttribute.java,
	* gnu/javax/print/ipp/attribute/defaults/CopiesDefault.java,
	* gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.java,
	* gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.java,
	* gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.java,
	* gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.java,
	* gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.java,
	* gnu/javax/print/ipp/attribute/defaults/MediaDefault.java,
	* gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.java,
	* gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.java,
	* gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.java,
	* gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.java,
	* gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.java,
	* gnu/javax/print/ipp/attribute/defaults/SidesDefault.java,
	* gnu/javax/print/ipp/attribute/job/AttributesCharset.java,
	* gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.java,
	* gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.java,
	* gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.java,
	* gnu/javax/print/ipp/attribute/job/JobId.java,
	* gnu/javax/print/ipp/attribute/job/JobMoreInfo.java,
	* gnu/javax/print/ipp/attribute/job/JobPrinterUri.java,
	* gnu/javax/print/ipp/attribute/job/JobStateMessage.java,
	* gnu/javax/print/ipp/attribute/job/JobUri.java,
	* gnu/javax/print/ipp/attribute/printer/CharsetConfigured.java,
	* gnu/javax/print/ipp/attribute/printer/DocumentFormat.java,
	* gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.java,
	* gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.java,
	* gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.java,
	* gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.java,
	* gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.java,
	* gnu/javax/print/ipp/attribute/printer/PrinterUpTime.java:
	Normalise whitespace; replace tabs with spaces and removing
	trailing whitespace.

2010-04-27  Andrew John Hughes  <ahughes@redhat.com>

	* gnu/javax/print/ipp/IppPrintService.java:
	Fix whitespace.  Use correct generic type for printerAttr
	map.
	(getPrinterAttributeSet(Class<? extends Attribute>)): Add
	appropriate generic type.
	* gnu/javax/print/ipp/attribute/supported/CharsetSupported.java:
	Fix whitespace.
	(getCategory()): Fix return type.
	* gnu/javax/print/ipp/attribute/supported/CompressionSupported.java:
	Fix whitespace.
	(getCategory()): Fix return type.
	(getAssociatedAttributeArray(Set<CompressionSupported>)): Add generic
	type to set and use for-each loop.
	* gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.java:
	Fix whitespace.
	(getCategory()): Fix return type.
	* gnu/javax/print/ipp/attribute/supported/FinishingsSupported.java:
	Fix whitespace.
	(getCategory()): Fix return type.
	(getAssociatedAttributeArray(Set<FinishingsSupported>)): Add generic
	type to set and use for-each loop.
	* gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.java:
	Fix whitespace.
	(getCategory()): Fix return type.
	* gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.java:
	Fix whitespace.
	(getCategory()): Fix return type.
	* gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.java:
	Fix whitespace.
	(getCategory()): Fix return type.
	* gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.java:
	Fix whitespace.
	(getCategory()): Fix return type.
	(getAssociatedAttributeArray(Set<JobSheetsSupported>)): Add generic
	type to set and use for-each loop.
	* gnu/javax/print/ipp/attribute/supported/MediaSupported.java:
	Fix whitespace.
	(getCategory()): Fix return type.
	(getAssociatedAttributeArray(Set<MediaSupported>)): Add generic
	type to set and use for-each loop.
	* gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.java:
	Fix whitespace.
	(getCategory()): Fix return type.
	(getAssociatedAttributeArray(Set<MultipleDocumentHandlingSupported>)): Add generic
	type to set and use for-each loop.
	* gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.java,
	Fix whitespace.
	(getCategory()): Fix return type.
	* gnu/javax/print/ipp/attribute/supported/OperationsSupported.java,
	Fix whitespace.
	(getCategory()): Fix return type.
	* gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.java,
	Fix whitespace.
	(getCategory()): Fix return type.
	(getAssociatedAttributeArray(Set<OrientationRequestedSupported>)): Add generic
	type to set and use for-each loop.
	* gnu/javax/print/ipp/attribute/supported/PageRangesSupported.java,
	Fix whitespace.
	(getCategory()): Fix return type.
	* gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.java,
	Fix whitespace.
	(getCategory()): Fix return type.
	(getAssociatedAttributeArray(Set<PrintQualitySupported>)): Add generic
	type to set and use for-each loop.
	* gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.java,
	Fix whitespace.
	(getCategory()): Fix return type.
	(getAssociatedAttributeArray(Set<PrinterResolutionSupported>)): Add generic
	type to set and use for-each loop.
	* gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.java,
	Fix whitespace.
	(getCategory()): Fix return type.
	* gnu/javax/print/ipp/attribute/supported/SidesSupported.java,
	Fix whitespace.
	(getCategory()): Fix return type.
	* gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.java,
	Fix whitespace.
	(getCategory()): Fix return type.
	* gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.java,
	Fix whitespace.
	(getCategory()): Fix return type.

2010-04-27  Andrew Haley  <aph@redhat.com>

	* java/util/concurrent/CopyOnWriteArrayList.java: Fix for empty
	list.

2010-04-27  Andrew Haley  <aph@redhat.com>

	* gnu/javax/print/ipp/IppResponse.java (parseAttributes): Handle
	IppValueTag.UNKNOWN.
	* gnu/javax/print/ipp/IppRequest.java (writeOperationAttributes):
	Handle RequestedAttributes.
	* gnu/javax/print/ipp/IppPrintService.java (processResponse): Add
	DocFlavor.SERVICE_FORMATTED.PAGEABLE and
	DocFlavor.SERVICE_FORMATTED.PRINTABLE.

2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR libgcj/38251
	* tools/Makefile.am (dist-hook): Prune .svn directories in asm and
	classes copies.
	* tools/Makefile.in: Regenerate.

	Revert:
	2008-11-05  Andrew Haley  <aph@redhat.com>

	* tools/Makefile.am (UPDATE_TOOLS_ZIP, CREATE_TOOLS_ZIP): Exclude
	.svn direcories.

2010-01-30  Andrew John Hughes  <ahughes@redhat.com>

	* doc/www.gnu.org/home.wml:
	Add newer JAPI results.

2010-01-30  Andrew John Hughes  <ahughes@redhat.com>

	PR classpath/41686
	* javax/security/auth/kerberos/KerberosTicket.java:
	Fix formatting.
	(toString()): Add full implementation.
	(getSessionKeyType()): Implemented.
	* javax/security/auth/kerberos/KeyImpl.java:
	(toString()): Implemented.

2010-01-30  Andrew John Hughes  <ahughes@redhat.com>

	* autogen.sh:
	Allow libtool 2.* through.
	* configure.ac:
	Updated via autoupdate.
	* m4/lib-ld.m4,
	* m4/lib-link.m4,
	* m4/lib-prefix.m4:
	Drop old libtool macros which
	result in build failure.

2010-01-18  Andreas Tobler  <andreast@fgznet.ch>

	* tools/Makefile.am (GJDOC_EX): Use find -name pattern -prune -o.
	* tools/Makefile.in: Regenerate.

2010-01-12  Jeroen Frijters  <jeroen@frijters.net>

	* java/util/zip/Inflater. java (inflate(byte[],int,int)): Fix for #41696.

2009-11-18  Andrew Haley  <aph@redhat.com>

	* java/util/TreeMap.java (anonymous class.size()): Debogosify.
	anonymous class.clear(): Likewise.

2009-10-22  Andrew Haley  <aph@redhat.com>

	* native/jni/native-lib/cpnet.c (cpnet_addMembership): Fix
	aliasing warning.
	(cpnet_dropMembership): Likewise.

2009-10-22  Richard Guenther  <rguenther@suse.de>

	PR cp-tools/39177
	* tools/gnu/classpath/tools/jar/Creator.java (writeCommandLineEntries):
	Do not use uninitialized manifest.
	* tools/classes/gnu/classpath/tools/jar/Creator.class: Re-generated.

2009-07-08  Chris Burdess  <dog@gnu.org>

	PR xml/40663:
	* javax/xml/stream/XMLEventFactory.java,
	* javax/xml/stream/XMLInputFactory.java,
	* javax/xml/stream/XMLOutputFactory.java,
	* javax/xml/stream/events/Namespace.java: Update API to match final
	  version of StAX.
	* javax/xml/stream/util/ReaderDelegate.java: Removed.
	* javax/xml/stream/util/StreamReaderDelegate.java: Added (renamed
	  from ReaderDelegate)
	* gnu/xml/stream/FilteredStreamReader.java,
	* gnu/xml/stream/NamespaceImpl.java,
	* gnu/xml/stream/XIncludeFilter.java,
	* gnu/xml/stream/XMLEventAllocatorImpl.java,
	* gnu/xml/stream/XMLEventFactoryImpl.java: Update implementation to
	  match final version of StAX API.

2009-07-06  Ludovic Claude  <ludovic.claude@laposte.net>

	PR xml/40653:
	* gnu/xml/stream/XMLStreamWriterImpl.java:
	Weaken testing of namespace prefix to match
	reference implementation and spec.

2009-07-07  Andrew John Hughes  <ahughes@redhat.com>

	PR classpath/40630
	* java/util/Scanner.java:
	(myCoreNext(boolean, Pattern)): Set tmp2 to
	null if the string is empty (i.e. we are at
	the end of the file).
	* java/util/regex/Matcher.java:
	(toMatchResult()): Check that match is non-null
	before attempting to clone it.

2009-07-07  Andrew John Hughes  <ahughes@redhat.com>

	* java/util/Scanner.java,
	* java/util/regex/Matcher.java:
	Replace tab characters with spaces.

2009-03-29  Mark Wielaard  <mark@klomp.org>

	* doc/www.gnu.org/faq/faq.wml: Fix link to cp-hacking.html.

2009-03-29  Mark Wielaard  <mark@klomp.org>

	* m4/ac_prog_antlr.m4: Check whether ANTLR_JAR is empty.

2009-03-26  Andrew John Hughes  <ahughes@redhat.com>

	PR classpath/39408:
	* tools/gnu/classpath/tools/javah/ClassWrapper.java:
	(linkSupers()): Make package-private.
	* tools/gnu/classpath/tools/javah/JniIncludePrinter.java:
	(writeFields(ClassWrapper, JniPrintStream)):
	Link in data from superclass before searching for fields.

2009-03-20  Andrew John Hughes  <ahughes@redhat.com>

	* tools/gnu/classpath/tools/javah/ClassWrapper.java,
	* tools/gnu/classpath/tools/javah/CniPrintStream.java,
	* tools/gnu/classpath/tools/javah/CniStubPrinter.java,
	* tools/gnu/classpath/tools/javah/GcjhMain.java,
	* tools/gnu/classpath/tools/javah/JniIncludePrinter.java,
	* tools/gnu/classpath/tools/javah/JniPrintStream.java,
	* tools/gnu/classpath/tools/javah/JniStubPrinter.java,
	* tools/gnu/classpath/tools/javah/Keywords.java,
	* tools/gnu/classpath/tools/javah/Main.java,
	* tools/gnu/classpath/tools/javah/MethodHelper.java,
	* tools/gnu/classpath/tools/javah/PathOptionGroup.java:
	Fix generic issues in gjavah.

2009-03-17  Andrew John Hughes  <ahughes@redhat.com>

	* tools/gnu/classpath/tools/FileSystemClassLoader.java,
	* tools/gnu/classpath/tools/doclets/xmldoclet/Driver.java,
	* tools/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java,
	* tools/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java,
	* tools/gnu/classpath/tools/doclets/xmldoclet/TargetContext.java,
	* tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java,
	* tools/gnu/classpath/tools/gjdoc/ErrorReporter.java,
	* tools/gnu/classpath/tools/gjdoc/TemporaryStore.java,
	* tools/gnu/classpath/tools/gjdoc/WritableType.java,
	* tools/gnu/classpath/tools/taglets/AuthorTaglet.java,
	* tools/gnu/classpath/tools/taglets/CopyrightTaglet.java,
	* tools/gnu/classpath/tools/taglets/DeprecatedTaglet.java,
	* tools/gnu/classpath/tools/taglets/GenericTaglet.java,
	* tools/gnu/classpath/tools/taglets/SinceTaglet.java,
	* tools/gnu/classpath/tools/taglets/VersionTaglet.java:
	Switch to UNIX line endings.

2009-03-17  Andrew John Hughes  <ahughes@redhat.com>

	* tools/com/sun/tools/javadoc/Main.java,
	* tools/gnu/classpath/tools/FileSystemClassLoader.java,
	* tools/gnu/classpath/tools/IOToolkit.java,
	* tools/gnu/classpath/tools/MalformedInputEvent.java,
	* tools/gnu/classpath/tools/MalformedInputListener.java,
	* tools/gnu/classpath/tools/NotifyingInputStreamReader.java,
	* tools/gnu/classpath/tools/StringToolkit.java,
	* tools/gnu/classpath/tools/doclets/AbstractDoclet.java,
	* tools/gnu/classpath/tools/doclets/DocletConfigurationException.java,
	* tools/gnu/classpath/tools/doclets/DocletOption.java,
	* tools/gnu/classpath/tools/doclets/DocletOptionColonSeparated.java,
	* tools/gnu/classpath/tools/doclets/DocletOptionFile.java,
	* tools/gnu/classpath/tools/doclets/DocletOptionFlag.java,
	* tools/gnu/classpath/tools/doclets/DocletOptionPackageWildcard.java,
	* tools/gnu/classpath/tools/doclets/DocletOptionString.java,
	* tools/gnu/classpath/tools/doclets/InlineTagRenderer.java,
	* tools/gnu/classpath/tools/doclets/InvalidPackageWildcardException.java,
	* tools/gnu/classpath/tools/doclets/PackageGroup.java,
	* tools/gnu/classpath/tools/doclets/PackageMatcher.java,
	* tools/gnu/classpath/tools/doclets/StandardTaglet.java,
	* tools/gnu/classpath/tools/doclets/TagletPrinter.java,
	* tools/gnu/classpath/tools/doclets/debugdoclet/DebugDoclet.java,
	* tools/gnu/classpath/tools/doclets/htmldoclet/CssClass.java,
	* tools/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.java,
	* tools/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java,
	* tools/gnu/classpath/tools/doclets/htmldoclet/HtmlPage.java,
	* tools/gnu/classpath/tools/doclets/htmldoclet/HtmlTagletContext.java,
	* tools/gnu/classpath/tools/doclets/xmldoclet/Driver.java,
	* tools/gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java,
	* tools/gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java,
	* tools/gnu/classpath/tools/doclets/xmldoclet/TargetContext.java,
	* tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.java,
	* tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.java,
	* tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.java,
	* tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.java,
	* tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.java,
	* tools/gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java,
	* tools/gnu/classpath/tools/gjdoc/AbstractTagImpl.java,
	* tools/gnu/classpath/tools/gjdoc/ArrayCharacterIterator.java,
	* tools/gnu/classpath/tools/gjdoc/ClassDocImpl.java,
	* tools/gnu/classpath/tools/gjdoc/ClassDocProxy.java,
	* tools/gnu/classpath/tools/gjdoc/ClassDocReflectedImpl.java,
	* tools/gnu/classpath/tools/gjdoc/ConstructorDocImpl.java,
	* tools/gnu/classpath/tools/gjdoc/Debug.java,
	* tools/gnu/classpath/tools/gjdoc/DirectoryTree.java,
	* tools/gnu/classpath/tools/gjdoc/DocImpl.java,
	* tools/gnu/classpath/tools/gjdoc/ErrorReporter.java,
	* tools/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java,
	* tools/gnu/classpath/tools/gjdoc/FieldDocImpl.java,
	* tools/gnu/classpath/tools/gjdoc/GjdocPackageDoc.java,
	* tools/gnu/classpath/tools/gjdoc/GjdocRootDoc.java,
	* tools/gnu/classpath/tools/gjdoc/InheritDocTagImpl.java,
	* tools/gnu/classpath/tools/gjdoc/JavadocWrapper.java,
	* tools/gnu/classpath/tools/gjdoc/LinkTagImpl.java,
	* tools/gnu/classpath/tools/gjdoc/Main.java,
	* tools/gnu/classpath/tools/gjdoc/MemberDocImpl.java,
	* tools/gnu/classpath/tools/gjdoc/MethodDocImpl.java,
	* tools/gnu/classpath/tools/gjdoc/PackageDocImpl.java,
	* tools/gnu/classpath/tools/gjdoc/ParamTagImpl.java,
	* tools/gnu/classpath/tools/gjdoc/ParameterImpl.java,
	* tools/gnu/classpath/tools/gjdoc/ParseException.java,
	* tools/gnu/classpath/tools/gjdoc/Parser.java,
	* tools/gnu/classpath/tools/gjdoc/ProgramElementDocImpl.java,
	* tools/gnu/classpath/tools/gjdoc/RootDocImpl.java,
	* tools/gnu/classpath/tools/gjdoc/SeeTagImpl.java,
	* tools/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java,
	* tools/gnu/classpath/tools/gjdoc/SourcePositionImpl.java,
	* tools/gnu/classpath/tools/gjdoc/TagContainer.java,
	* tools/gnu/classpath/tools/gjdoc/TagImpl.java,
	* tools/gnu/classpath/tools/gjdoc/TemporaryStore.java,
	* tools/gnu/classpath/tools/gjdoc/TextTagImpl.java,
	* tools/gnu/classpath/tools/gjdoc/ThrowsTagImpl.java,
	* tools/gnu/classpath/tools/gjdoc/Timer.java,
	* tools/gnu/classpath/tools/gjdoc/TimerDoclet.java,
	* tools/gnu/classpath/tools/gjdoc/TypeImpl.java,
	* tools/gnu/classpath/tools/gjdoc/TypeVariableImpl.java,
	* tools/gnu/classpath/tools/gjdoc/ValueTagImpl.java,
	* tools/gnu/classpath/tools/gjdoc/WritableType.java,
	* tools/gnu/classpath/tools/gjdoc/expr/AdditionExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/AndExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/BinaryBitwiseExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/BinaryComputationExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/BinaryEqualityExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/BinaryExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/BinaryLogicalExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/BinaryRelationExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/BinaryShiftExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/BitShiftRightExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/CircularExpressionException.java,
	* tools/gnu/classpath/tools/gjdoc/expr/ConditionalExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/ConstantBoolean.java,
	* tools/gnu/classpath/tools/gjdoc/expr/ConstantByte.java,
	* tools/gnu/classpath/tools/gjdoc/expr/ConstantChar.java,
	* tools/gnu/classpath/tools/gjdoc/expr/ConstantDouble.java,
	* tools/gnu/classpath/tools/gjdoc/expr/ConstantExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/ConstantFloat.java,
	* tools/gnu/classpath/tools/gjdoc/expr/ConstantInteger.java,
	* tools/gnu/classpath/tools/gjdoc/expr/ConstantLong.java,
	* tools/gnu/classpath/tools/gjdoc/expr/ConstantNull.java,
	* tools/gnu/classpath/tools/gjdoc/expr/ConstantShort.java,
	* tools/gnu/classpath/tools/gjdoc/expr/ConstantString.java,
	* tools/gnu/classpath/tools/gjdoc/expr/Context.java,
	* tools/gnu/classpath/tools/gjdoc/expr/DivisionExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/EqualExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/Evaluator.java,
	* tools/gnu/classpath/tools/gjdoc/expr/EvaluatorEnvironment.java,
	* tools/gnu/classpath/tools/gjdoc/expr/ExclusiveOrExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/Expression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/GreaterThanExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/GreaterThanOrEqualExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/IdentifierExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/IllegalExpressionException.java,
	* tools/gnu/classpath/tools/gjdoc/expr/InclusiveOrExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/LessThanExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/LessThanOrEqualExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/LogicalAndExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/LogicalNotExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/LogicalOrExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/ModuloExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/MultiplicationExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/NegateExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/NotEqualExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/NotExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/ShiftLeftExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/ShiftRightExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/SubtractionExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/Type.java,
	* tools/gnu/classpath/tools/gjdoc/expr/TypeCastExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/UnaryExpression.java,
	* tools/gnu/classpath/tools/gjdoc/expr/UnknownIdentifierException.java,
	* tools/gnu/classpath/tools/java2xhtml/Java2xhtml.java,
	* tools/gnu/classpath/tools/rmic/ClassRmicCompiler.java,
	* tools/gnu/classpath/tools/rmic/CompilationError.java,
	* tools/gnu/classpath/tools/rmic/Generator.java,
	* tools/gnu/classpath/tools/rmic/GiopIo.java,
	* tools/gnu/classpath/tools/rmic/HashFinder.java,
	* tools/gnu/classpath/tools/rmic/Main.java,
	* tools/gnu/classpath/tools/rmic/MethodGenerator.java,
	* tools/gnu/classpath/tools/rmic/RMICException.java,
	* tools/gnu/classpath/tools/rmic/RmiMethodGenerator.java,
	* tools/gnu/classpath/tools/rmic/RmicBackend.java,
	* tools/gnu/classpath/tools/rmic/SourceRmicCompiler.java,
	* tools/gnu/classpath/tools/rmic/Variables.java,
	* tools/gnu/classpath/tools/rmic/WrapUnWrapper.java,
	* tools/gnu/classpath/tools/serialver/SerialVer.java,
	* tools/gnu/classpath/tools/taglets/AuthorTaglet.java,
	* tools/gnu/classpath/tools/taglets/CodeTaglet.java,
	* tools/gnu/classpath/tools/taglets/CopyrightTaglet.java,
	* tools/gnu/classpath/tools/taglets/DeprecatedTaglet.java,
	* tools/gnu/classpath/tools/taglets/GenericTaglet.java,
	* tools/gnu/classpath/tools/taglets/GnuExtendedTaglet.java,
	* tools/gnu/classpath/tools/taglets/SinceTaglet.java,
	* tools/gnu/classpath/tools/taglets/TagletContext.java,
	* tools/gnu/classpath/tools/taglets/ValueTaglet.java,
	* tools/gnu/classpath/tools/taglets/VersionTaglet.java:
	Fix license headers to GPLv2+Classpath exception.

2009-03-09  Andrew John Hughes  <ahughes@redhat.com>

	* gnu/javax/swing/text/html/css/Selector.java:
	Use CPStringBuilder.  Use typed list of maps
	rather than an array for type safety.
	* javax/swing/text/html/HTMLEditorKit.java,
	* javax/swing/text/html/HTMLWriter.java:
	Add generic typing where appropriate.
	* javax/swing/text/html/ImageView.java:
	Remove unused AttributeSet variables.
	* javax/swing/text/html/MinimalHTMLWriter.java:
	Switch to an ArrayDeque to avoid unnecessary
	internal synchronisation on a private variable.
	Add generic typing.
	* javax/swing/text/html/MultiAttributeSet.java:
	Add generic typing.
	* javax/swing/text/html/MultiStyle.java:
	Add generic typing, make class package-private
	as not part of the standard classes.
	* javax/swing/text/html/ObjectView.java,
	* javax/swing/text/html/StyleSheet.java:
	Add generic typing.
	* javax/swing/text/html/TableView.java:
	Remove unused variable.
	* javax/swing/tree/DefaultMutableTreeNode.java:
	Add generic typing, mute warnings where necessary.
	* javax/swing/tree/FixedHeightLayoutCache.java:
	Add generic typing.
	* javax/swing/tree/TreeNode.java:
	Mute warnings where necessary.
	* javax/swing/tree/VariableHeightLayoutCache.java,
	* javax/swing/undo/StateEdit.java,
	* javax/swing/undo/UndoableEditSupport.java,
	* org/ietf/jgss/GSSManager.java:
	Add generic typing.

2009-02-14  Andrew John Hughes  <ahughes@redhat.com>

	* org/omg/CORBA/LocalObject.java,
	* org/omg/CORBA/portable/Delegate.java,
	* org/omg/CORBA/portable/InputStream.java,
	* org/omg/CORBA/portable/ObjectImpl.java,
	* org/omg/CORBA_2_3/portable/InputStream.java,
	* org/omg/CORBA_2_3/portable/OutputStream.java,
	* org/omg/DynamicAny/_DynAnyFactoryStub.java,
	* org/omg/DynamicAny/_DynAnyStub.java,
	* org/omg/DynamicAny/_DynArrayStub.java,
	* org/omg/DynamicAny/_DynEnumStub.java,
	* org/omg/DynamicAny/_DynFixedStub.java,
	* org/omg/DynamicAny/_DynSequenceStub.java,
	* org/omg/DynamicAny/_DynStructStub.java,
	* org/omg/DynamicAny/_DynUnionStub.java,
	* org/omg/DynamicAny/_DynValueStub.java,
	* org/omg/PortableServer/_ServantActivatorStub.java,
	* org/omg/PortableServer/_ServantLocatorStub.java:
	Turn off warnings where Class is used; forced
	to use raw type for API compatibility.

2009-02-06  Andrew John Hughes  <ahughes@redhat.com>

	* NEWS:
	Add stub for 0.99.
	* configure.ac:
	Bump to 0.99.
	* doc/www.gnu.org/announce/20090205.wml,
	* doc/www.gnu.org/downloads/downloads.wml,
	* doc/www.gnu.org/newsitems.txt:
	Update website.

2009-02-05  Andrew John Hughes  <ahughes@redhat.com>

	* NEWS: Add VM updates.

From-SVN: r165383
2010-10-12 15:55:12 +00:00

1088 lines
34 KiB
Java

/* HTMLWriter.java --
Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
package javax.swing.text.html;
import gnu.java.lang.CPStringBuilder;
import java.io.IOException;
import java.io.Writer;
import java.util.Enumeration;
import java.util.HashSet;
import javax.swing.ComboBoxModel;
import javax.swing.text.AbstractWriter;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.Element;
import javax.swing.text.StyleConstants;
import javax.swing.text.html.HTML;
import javax.swing.text.html.HTMLDocument;
import javax.swing.text.html.Option;
/**
* HTMLWriter,
* A Writer for HTMLDocuments.
*
* @author David Fu (fchoong at netbeans.jp)
*/
public class HTMLWriter
extends AbstractWriter
{
/**
* We keep a reference of the writer passed by the construct.
*/
private Writer outWriter = null;
/**
* We keep a reference of the HTMLDocument passed by the construct.
*/
private HTMLDocument htmlDoc = null;
/**
* Used to keep track of which embedded has been written out.
*/
private HashSet<HTML.Tag> openEmbeddedTagHashSet = null;
private String new_line_str = "" + NEWLINE;
private char[] html_entity_char_arr = {'<', '>', '&', '"'};
private String[] html_entity_escape_str_arr = {"&lt;", "&gt;", "&amp;",
"&quot;"};
// variables used to output Html Fragment
private int doc_pos = -1;
private int doc_len = -1;
private int doc_offset_remaining = -1;
private int doc_len_remaining = -1;
private HashSet<Element> htmlFragmentParentHashSet = null;
private Element startElem = null;
private Element endElem = null;
private boolean fg_pass_start_elem = false;
private boolean fg_pass_end_elem = false;
/**
* Constructs a HTMLWriter.
*
* @param writer writer to write output to
* @param doc the HTMLDocument to output
*/
public HTMLWriter(Writer writer, HTMLDocument doc)
{
super(writer, doc);
outWriter = writer;
htmlDoc = doc;
openEmbeddedTagHashSet = new HashSet<HTML.Tag>();
} // public HTMLWriter(Writer writer, HTMLDocument doc)
/**
* Constructs a HTMLWriter which outputs a Html Fragment.
*
* @param writer <code>Writer</code> to write output to
* @param doc the <code>javax.swing.text.html.HTMLDocument</code>
* to output
* @param pos position to start outputing the document
* @param len amount to output the document
*/
public HTMLWriter(Writer writer, HTMLDocument doc, int pos, int len)
{
super(writer, doc, pos, len);
outWriter = writer;
htmlDoc = doc;
openEmbeddedTagHashSet = new HashSet<HTML.Tag>();
doc_pos = pos;
doc_offset_remaining = pos;
doc_len = len;
doc_len_remaining = len;
htmlFragmentParentHashSet = new HashSet<Element>();
} // public HTMLWriter(Writer writer, HTMLDocument doc, int pos, int len)
/**
* Call this method to start outputing HTML.
*
* @throws IOException on any I/O exceptions
* @throws BadLocationException if a pos is not a valid position in the
* html doc element
*/
public void write()
throws IOException, BadLocationException
{
Element rootElem = htmlDoc.getDefaultRootElement();
if (doc_pos == -1 && doc_len == -1)
{
// Normal traversal.
traverse(rootElem);
} // if(doc_pos == -1 && doc_len == -1)
else
{
// Html fragment traversal.
if (doc_pos == -1 || doc_len == -1)
throw new BadLocationException("Bad Location("
+ doc_pos + ", " + doc_len + ")", doc_pos);
startElem = htmlDoc.getCharacterElement(doc_pos);
int start_offset = startElem.getStartOffset();
// Positions before start_offset will not be traversed, and thus
// will not be counted.
if (start_offset > 0)
doc_offset_remaining = doc_offset_remaining - start_offset;
Element tempParentElem = startElem;
while ((tempParentElem = tempParentElem.getParentElement()) != null)
{
if (!htmlFragmentParentHashSet.contains(tempParentElem))
htmlFragmentParentHashSet.add(tempParentElem);
} // while((tempParentElem = tempParentElem.getParentElement())
// != null)
// NOTE: 20061030 - fchoong - the last index should not be included.
endElem = htmlDoc.getCharacterElement(doc_pos + doc_len - 1);
tempParentElem = endElem;
while ((tempParentElem = tempParentElem.getParentElement()) != null)
{
if (!htmlFragmentParentHashSet.contains(tempParentElem))
htmlFragmentParentHashSet.add(tempParentElem);
} // while((tempParentElem = tempParentElem.getParentElement())
// != null)
traverseHtmlFragment(rootElem);
} // else
// NOTE: close out remaining open embeded tags.
HTML.Tag[] tag_arr =
openEmbeddedTagHashSet.toArray(new HTML.Tag[openEmbeddedTagHashSet.size()]);
for (int i = 0; i < tag_arr.length; i++)
{
writeRaw("</" + tag_arr[i].toString() + ">");
} // for(int i = 0; i < tag_arr.length; i++)
} // public void write() throws IOException, BadLocationException
/**
* Writes all the attributes in the attrSet, except for attrbutes with
* keys of <code>javax.swing.text.html.HTML.Tag</code>,
* <code>javax.swing.text.StyleConstants</code> or
* <code>javax.swing.text.html.HTML.Attribute.ENDTAG</code>.
*
* @param attrSet attrSet to write out
*
* @throws IOException on any I/O exceptions
*/
protected void writeAttributes(AttributeSet attrSet)
throws IOException
{
Enumeration<?> attrNameEnum = attrSet.getAttributeNames();
while (attrNameEnum.hasMoreElements())
{
Object key = attrNameEnum.nextElement();
Object value = attrSet.getAttribute(key);
// HTML.Attribute.ENDTAG is an instance, not a class.
if (!((key instanceof HTML.Tag) || (key instanceof StyleConstants)
|| (key == HTML.Attribute.ENDTAG)))
{
if (key == HTML.Attribute.SELECTED)
writeRaw(" selected");
else if (key == HTML.Attribute.CHECKED)
writeRaw(" checked");
else
writeRaw(" " + key + "=\"" + value + "\"");
} // if(!((key instanceof HTML.Tag) || (key instanceof
// StyleConstants) || (key == HTML.Attribute.ENDTAG)))
} // while(attrNameEnum.hasMoreElements())
} // protected void writeAttributes(AttributeSet attrSet) throws IOException
/**
* Writes out an empty tag. i.e. a tag without any child elements.
*
* @param paramElem the element to output as an empty tag
*
* @throws IOException on any I/O exceptions
* @throws BadLocationException if a pos is not a valid position in the
* html doc element
*/
protected void emptyTag(Element paramElem)
throws IOException, BadLocationException
{
String elem_name = paramElem.getName();
AttributeSet attrSet = paramElem.getAttributes();
writeRaw("<" + elem_name);
writeAttributes(attrSet);
writeRaw(">");
if (isBlockTag(attrSet))
{
writeRaw("</" + elem_name + ">");
} // if(isBlockTag(attrSet))
} // protected void emptyTag(Element paramElem)
// throws IOException, BadLocationException
/**
* Determines if it is a block tag or not.
*
* @param attrSet the attrSet of the element
*
* @return <code>true</code> if it is a block tag
* <code>false</code> if it is a not block tag
*/
protected boolean isBlockTag(AttributeSet attrSet)
{
return ((HTML.Tag)
attrSet.getAttribute(StyleConstants.NameAttribute)).isBlock();
} // protected boolean isBlockTag(AttributeSet attrSet)
/**
* Writes out a start tag. Synthesized elements are skipped.
*
* @param paramElem the element to output as a start tag
* @throws IOException on any I/O exceptions
* @throws BadLocationException if a pos is not a valid position in the
* html doc element
*/
protected void startTag(Element paramElem)
throws IOException, BadLocationException
{
// NOTE: Sysnthesized elements do no call this method at all.
String elem_name = paramElem.getName();
AttributeSet attrSet = paramElem.getAttributes();
indent();
writeRaw("<" + elem_name);
writeAttributes(attrSet);
writeRaw(">");
writeLineSeparator(); // Extra formatting to look more like the RI.
incrIndent();
} // protected void startTag(Element paramElem)
// throws IOException, BadLocationException
/**
* Writes out the contents of a textarea.
*
* @param attrSet the attrSet of the element to output as a text area
* @throws IOException on any I/O exceptions
* @throws BadLocationException if a pos is not a valid position in the
* html doc element
*/
protected void textAreaContent(AttributeSet attrSet)
throws IOException, BadLocationException
{
writeLineSeparator(); // Extra formatting to look more like the RI.
indent();
writeRaw("<textarea");
writeAttributes(attrSet);
writeRaw(">");
Document tempDocument =
(Document) attrSet.getAttribute(StyleConstants.ModelAttribute);
writeRaw(tempDocument.getText(0, tempDocument.getLength()));
indent();
writeRaw("</textarea>");
} // protected void textAreaContent(AttributeSet attrSet)
// throws IOException, BadLocationException
/**
* Writes out text, within the appropriate range if it is specified.
*
* @param paramElem the element to output as a text
* @throws IOException on any I/O exceptions
* @throws BadLocationException if a pos is not a valid position in the
* html doc element
*/
protected void text(Element paramElem)
throws IOException, BadLocationException
{
int offset = paramElem.getStartOffset();
int len = paramElem.getEndOffset() - paramElem.getStartOffset();
String txt_value = htmlDoc.getText(offset, len);
writeContent(txt_value);
} // protected void text(Element paramElem)
// throws IOException, BadLocationException
/**
* Writes out the contents of a select element.
*
* @param attrSet the attrSet of the element to output as a select box
*
* @throws IOException on any I/O exceptions
*/
protected void selectContent(AttributeSet attrSet)
throws IOException
{
writeLineSeparator(); // Extra formatting to look more like the RI.
indent();
writeRaw("<select");
writeAttributes(attrSet);
writeRaw(">");
incrIndent();
writeLineSeparator(); // extra formatting to look more like the RI.
ComboBoxModel comboBoxModel =
(ComboBoxModel) attrSet.getAttribute(StyleConstants.ModelAttribute);
for (int i = 0; i < comboBoxModel.getSize(); i++)
{
writeOption((Option) comboBoxModel.getElementAt(i));
} // for(int i = 0; i < comboBoxModel.getSize(); i++)
decrIndent();
indent();
writeRaw("</select>");
} // protected void selectContent(AttributeSet attrSet) throws IOException
/**
* Writes out the contents of an option element.
*
* @param option the option object to output as a select option
*
* @throws IOException on any I/O exceptions
*/
protected void writeOption(Option option)
throws IOException
{
indent();
writeRaw("<option");
writeAttributes(option.getAttributes());
writeRaw(">");
writeContent(option.getLabel());
writeRaw("</option>");
writeLineSeparator(); // extra formatting to look more like the RI.
} // protected void writeOption(Option option) throws IOException
/**
* Writes out an end tag.
*
* @param paramElem the element to output as an end tag
*
* @throws IOException on any I/O exceptions
*/
protected void endTag(Element paramElem)
throws IOException
{
String elem_name = paramElem.getName();
//writeLineSeparator(); // Extra formatting to look more like the RI.
decrIndent();
indent();
writeRaw("</" + elem_name + ">");
writeLineSeparator(); // Extra formatting to look more like the RI.
} // protected void endTag(Element paramElem) throws IOException
/**
* Writes out the comment.
*
* @param paramElem the element to output as a comment
*/
protected void comment(Element paramElem)
throws IOException, BadLocationException
{
AttributeSet attrSet = paramElem.getAttributes();
String comment_str = (String) attrSet.getAttribute(HTML.Attribute.COMMENT);
writeRaw("<!--" + comment_str + "-->");
} // protected void comment(Element paramElem)
// throws IOException, BadLocationException
/**
* Determines if element is a synthesized
* <code>javax.swing.text.Element</code> or not.
*
* @param element the element to test
*
* @return <code>true</code> if it is a synthesized element,
* <code>false</code> if it is a not synthesized element
*/
protected boolean synthesizedElement(Element element)
{
AttributeSet attrSet = element.getAttributes();
Object tagType = attrSet.getAttribute(StyleConstants.NameAttribute);
if (tagType == HTML.Tag.CONTENT || tagType == HTML.Tag.COMMENT
|| tagType == HTML.Tag.IMPLIED)
return true;
else
return false;
} // protected boolean synthesizedElement(Element element)
/**
* Determines if
* <code>javax.swing.text.StyleConstants.NameAttribute</code>
* matches tag or not.
*
* @param attrSet the <code>javax.swing.text.AttributeSet</code> of
* element to be matched
* @param tag the HTML.Tag to match
*
* @return <code>true</code> if it matches,
* <code>false</code> if it does not match
*/
protected boolean matchNameAttribute(AttributeSet attrSet, HTML.Tag tag)
{
Object tagType = attrSet.getAttribute(StyleConstants.NameAttribute);
if (tagType == tag)
return true;
else
return false;
} // protected boolean matchNameAttribute(AttributeSet attrSet,
// HTML.Tag tag)
/**
* Writes out an embedded tag. The tags not already in
* openEmbededTagHashSet will written out.
*
* @param attrSet the <code>javax.swing.text.AttributeSet</code> of
* the element to write out
*
* @throws IOException on any I/O exceptions
*/
protected void writeEmbeddedTags(AttributeSet attrSet)
throws IOException
{
Enumeration<?> attrNameEnum = attrSet.getAttributeNames();
while (attrNameEnum.hasMoreElements())
{
Object key = attrNameEnum.nextElement();
Object value = attrSet.getAttribute(key);
if (key instanceof HTML.Tag)
{
if (!openEmbeddedTagHashSet.contains(key))
{
writeRaw("<" + key);
writeAttributes((AttributeSet) value);
writeRaw(">");
openEmbeddedTagHashSet.add((HTML.Tag) key);
} // if(!openEmbededTagHashSet.contains(key))
} // if(key instanceof HTML.Tag)
} // while(attrNameEnum.hasMoreElements())
} // protected void writeEmbeddedTags(AttributeSet attrSet)
// throws IOException
/**
* Closes out an unwanted embedded tag. The tags from the
* openEmbededTagHashSet not found in attrSet will be written out.
*
* @param attrSet the AttributeSet of the element to write out
*
* @throws IOException on any I/O exceptions
*/
protected void closeOutUnwantedEmbeddedTags(AttributeSet attrSet)
throws IOException
{
HTML.Tag[] tag_arr =
openEmbeddedTagHashSet.toArray(new HTML.Tag[openEmbeddedTagHashSet.size()]);
for (int i = 0; i < tag_arr.length; i++)
{
HTML.Tag key = tag_arr[i];
if (!attrSet.isDefined(key))
{
writeRaw("</" + key.toString() + ">");
openEmbeddedTagHashSet.remove(key);
} // if(!attrSet.isDefined(key))
} // for(int i = 0; i < tag_arr.length; i++)
} // protected void closeOutUnwantedEmbeddedTags(AttributeSet attrSet)
// throws IOException
/**
* Writes out a line separator. Overwrites the parent to write out a new
* line.
*
* @throws IOException on any I/O exceptions.
*/
protected void writeLineSeparator()
throws IOException
{
writeRaw(new_line_str);
} // protected void writeLineSeparator() throws IOException
/**
* Write to the writer. Character entites such as &lt;, &gt;
* are escaped appropriately.
*
* @param chars char array to write out
* @param off offset
* @param len length
*
* @throws IOException on any I/O exceptions
*/
protected void output(char[] chars, int off, int len)
throws IOException
{
CPStringBuilder strBuffer = new CPStringBuilder();
for (int i = 0; i < chars.length; i++)
{
if (isCharHtmlEntity(chars[i]))
strBuffer.append(escapeCharHtmlEntity(chars[i]));
else
strBuffer.append(chars[i]);
} // for(int i = 0; i < chars.length; i++)
writeRaw(strBuffer.toString());
} // protected void output(char[] chars, int off, int len)
// throws IOException
//-------------------------------------------------------------------------
// private methods
/**
* The main method used to traverse through the elements.
*
* @param paramElem element to traverse
*
* @throws IOException on any I/O exceptions
*/
private void traverse(Element paramElem)
throws IOException, BadLocationException
{
Element currElem = paramElem;
AttributeSet attrSet = currElem.getAttributes();
closeOutUnwantedEmbeddedTags(attrSet);
// handle the tag
if (synthesizedElement(paramElem))
{
if (matchNameAttribute(attrSet, HTML.Tag.CONTENT))
{
writeEmbeddedTags(attrSet);
text(currElem);
} // if(matchNameAttribute(attrSet, HTML.Tag.CONTENT))
else if (matchNameAttribute(attrSet, HTML.Tag.COMMENT))
{
comment(currElem);
} // else if(matchNameAttribute(attrSet, HTML.Tag.COMMENT))
else if (matchNameAttribute(attrSet, HTML.Tag.IMPLIED))
{
int child_elem_count = currElem.getElementCount();
if (child_elem_count > 0)
{
for (int i = 0; i < child_elem_count; i++)
{
Element childElem = paramElem.getElement(i);
traverse(childElem);
} // for(int i = 0; i < child_elem_count; i++)
} // if(child_elem_count > 0)
} // else if(matchNameAttribute(attrSet, HTML.Tag.IMPLIED))
} // if(synthesizedElement(paramElem))
else
{
// NOTE: 20061030 - fchoong - title is treated specially here.
// based on RI behavior.
if (matchNameAttribute(attrSet, HTML.Tag.TITLE))
{
boolean fg_is_end_tag = false;
Enumeration<?> attrNameEnum = attrSet.getAttributeNames();
while (attrNameEnum.hasMoreElements())
{
Object key = attrNameEnum.nextElement();
Object value = attrSet.getAttribute(key);
if (key == HTML.Attribute.ENDTAG && value.equals("true"))
fg_is_end_tag = true;
} // while(attrNameEnum.hasMoreElements())
if (fg_is_end_tag)
writeRaw("</title>");
else
{
indent();
writeRaw("<title>");
String title_str =
(String) htmlDoc.getProperty(HTMLDocument.TitleProperty);
if (title_str != null)
writeContent(title_str);
} // else
} // if(matchNameAttribute(attrSet, HTML.Tag.TITLE))
else if (matchNameAttribute(attrSet, HTML.Tag.PRE))
{
// We pursue more stringent formating here.
attrSet = paramElem.getAttributes();
indent();
writeRaw("<pre");
writeAttributes(attrSet);
writeRaw(">");
int child_elem_count = currElem.getElementCount();
for (int i = 0; i < child_elem_count; i++)
{
Element childElem = paramElem.getElement(i);
traverse(childElem);
} // for(int i = 0; i < child_elem_count; i++)
writeRaw("</pre>");
} // else if(matchNameAttribute(attrSet, HTML.Tag.PRE))
else if (matchNameAttribute(attrSet, HTML.Tag.SELECT))
{
selectContent(attrSet);
} // else if(matchNameAttribute(attrSet, HTML.Tag.SELECT))
else if (matchNameAttribute(attrSet, HTML.Tag.TEXTAREA))
{
textAreaContent(attrSet);
} // else if(matchNameAttribute(attrSet, HTML.Tag.TEXTAREA))
else
{
int child_elem_count = currElem.getElementCount();
if (child_elem_count > 0)
{
startTag(currElem);
for (int i = 0; i < child_elem_count; i++)
{
Element childElem = paramElem.getElement(i);
traverse(childElem);
} // for(int i = 0; i < child_elem_count; i++)
endTag(currElem);
} // if(child_elem_count > 0)
else
{
emptyTag(currElem);
} // else
} // else
} // else
} // private void traverse(Element paramElem)
// throws IOException, BadLocationException
/**
* The method used to traverse through a html fragment.
*
* @param paramElem element to traverse
*
* @throws IOException on any I/O exceptions
*/
private void traverseHtmlFragment(Element paramElem)
throws IOException, BadLocationException
{
// NOTE: This method is similar to traverse(Element paramElem)
Element currElem = paramElem;
boolean fg_is_fragment_parent_elem = false;
boolean fg_is_start_and_end_elem = false;
if (htmlFragmentParentHashSet.contains(paramElem))
fg_is_fragment_parent_elem = true;
if (paramElem == startElem)
fg_pass_start_elem = true;
if (paramElem == startElem && paramElem == endElem)
fg_is_start_and_end_elem = true;
AttributeSet attrSet = currElem.getAttributes();
closeOutUnwantedEmbeddedTags(attrSet);
if (fg_is_fragment_parent_elem || (fg_pass_start_elem
&& fg_pass_end_elem == false) || fg_is_start_and_end_elem)
{
// handle the tag
if (synthesizedElement(paramElem))
{
if (matchNameAttribute(attrSet, HTML.Tag.CONTENT))
{
writeEmbeddedTags(attrSet);
int content_offset = paramElem.getStartOffset();
int content_length = currElem.getEndOffset() - content_offset;
if (doc_offset_remaining > 0)
{
if (content_length > doc_offset_remaining)
{
int split_len = content_length;
split_len = split_len - doc_offset_remaining;
if (split_len > doc_len_remaining)
split_len = doc_len_remaining;
// we need to split it.
String txt_value = htmlDoc.getText(content_offset
+ doc_offset_remaining, split_len);
writeContent(txt_value);
doc_offset_remaining = 0; // the offset is used up.
doc_len_remaining = doc_len_remaining - split_len;
} // if(content_length > doc_offset_remaining)
else
{
// doc_offset_remaining is greater than the entire
// length of content
doc_offset_remaining = doc_offset_remaining
- content_length;
} // else
} // if(doc_offset_remaining > 0)
else if (content_length <= doc_len_remaining)
{
// we can fit the entire content.
text(currElem);
doc_len_remaining = doc_len_remaining - content_length;
} // else if(content_length <= doc_len_remaining)
else
{
// we need to split it.
String txt_value = htmlDoc.getText(content_offset,
doc_len_remaining);
writeContent(txt_value);
doc_len_remaining = 0;
} // else
} // if(matchNameAttribute(attrSet, HTML.Tag.CONTENT))
else if (matchNameAttribute(attrSet, HTML.Tag.COMMENT))
{
comment(currElem);
} // else if(matchNameAttribute(attrSet, HTML.Tag.COMMENT))
else if (matchNameAttribute(attrSet, HTML.Tag.IMPLIED))
{
int child_elem_count = currElem.getElementCount();
if (child_elem_count > 0)
{
for (int i = 0; i < child_elem_count; i++)
{
Element childElem = paramElem.getElement(i);
traverseHtmlFragment(childElem);
} // for(int i = 0; i < child_elem_count; i++)
} // if(child_elem_count > 0)
} // else if(matchNameAttribute(attrSet, HTML.Tag.IMPLIED))
} // if(synthesizedElement(paramElem))
else
{
// NOTE: 20061030 - fchoong - the isLeaf() condition seems to
// generate the closest behavior to the RI.
if (paramElem.isLeaf())
{
if (doc_offset_remaining > 0)
{
doc_offset_remaining--;
} // if(doc_offset_remaining > 0)
else if (doc_len_remaining > 0)
{
doc_len_remaining--;
} // else if(doc_len_remaining > 0)
} // if(paramElem.isLeaf())
// NOTE: 20061030 - fchoong - title is treated specially here.
// based on RI behavior.
if (matchNameAttribute(attrSet, HTML.Tag.TITLE))
{
boolean fg_is_end_tag = false;
Enumeration<?> attrNameEnum = attrSet.getAttributeNames();
while (attrNameEnum.hasMoreElements())
{
Object key = attrNameEnum.nextElement();
Object value = attrSet.getAttribute(key);
if (key == HTML.Attribute.ENDTAG && value.equals("true"))
fg_is_end_tag = true;
} // while(attrNameEnum.hasMoreElements())
if (fg_is_end_tag)
writeRaw("</title>");
else
{
indent();
writeRaw("<title>");
String title_str =
(String) htmlDoc.getProperty(HTMLDocument.TitleProperty);
if (title_str != null)
writeContent(title_str);
} // else
} // if(matchNameAttribute(attrSet, HTML.Tag.TITLE))
else if (matchNameAttribute(attrSet, HTML.Tag.PRE))
{
// We pursue more stringent formating here.
attrSet = paramElem.getAttributes();
indent();
writeRaw("<pre");
writeAttributes(attrSet);
writeRaw(">");
int child_elem_count = currElem.getElementCount();
for (int i = 0; i < child_elem_count; i++)
{
Element childElem = paramElem.getElement(i);
traverseHtmlFragment(childElem);
} // for(int i = 0; i < child_elem_count; i++)
writeRaw("</pre>");
} // else if(matchNameAttribute(attrSet, HTML.Tag.PRE))
else if (matchNameAttribute(attrSet, HTML.Tag.SELECT))
{
selectContent(attrSet);
} // else if(matchNameAttribute(attrSet, HTML.Tag.SELECT))
else if (matchNameAttribute(attrSet, HTML.Tag.TEXTAREA))
{
textAreaContent(attrSet);
} // else if(matchNameAttribute(attrSet, HTML.Tag.TEXTAREA))
else
{
int child_elem_count = currElem.getElementCount();
if (child_elem_count > 0)
{
startTag(currElem);
for (int i = 0; i < child_elem_count; i++)
{
Element childElem = paramElem.getElement(i);
traverseHtmlFragment(childElem);
} // for(int i = 0; i < child_elem_count; i++)
endTag(currElem);
} // if(child_elem_count > 0)
else
{
emptyTag(currElem);
} // else
} // else
} // else
} // if(fg_is_fragment_parent_elem || (fg_pass_start_elem
// && fg_pass_end_elem == false) || fg_is_start_and_end_elem)
if (paramElem == endElem)
fg_pass_end_elem = true;
} // private void traverseHtmlFragment(Element paramElem)
// throws IOException, BadLocationException
/**
* Write to the writer without any modifications.
*
* @param param_str the str to write out
*
* @throws IOException on any I/O exceptions
*/
private void writeRaw(String param_str)
throws IOException
{
super.output(param_str.toCharArray(), 0, param_str.length());
} // private void writeRaw(char[] chars, int off, int len)
// throws IOException
/**
* Write to the writer, escaping HTML character entitie where neccessary.
*
* @param param_str the str to write out
*
* @throws IOException on any I/O exceptions
*/
private void writeContent(String param_str)
throws IOException
{
char[] str_char_arr = param_str.toCharArray();
if (hasHtmlEntity(param_str))
output(str_char_arr, 0, str_char_arr.length);
else
super.output(str_char_arr, 0, str_char_arr.length);
} // private void writeContent(String param_str) throws IOException
/**
* Use this for debugging. Writes out all attributes regardless of type.
*
* @param attrSet the <code>javax.swing.text.AttributeSet</code> to
* write out
*
* @throws IOException on any I/O exceptions
*/
private void writeAllAttributes(AttributeSet attrSet)
throws IOException
{
Enumeration<?> attrNameEnum = attrSet.getAttributeNames();
while (attrNameEnum.hasMoreElements())
{
Object key = attrNameEnum.nextElement();
Object value = attrSet.getAttribute(key);
writeRaw(" " + key + "=\"" + value + "\"");
writeRaw(" " + key.getClass().toString() + "=\""
+ value.getClass().toString() + "\"");
} // while(attrNameEnum.hasMoreElements())
} // private void writeAllAttributes(AttributeSet attrSet)
// throws IOException
/**
* Tests if the str contains any html entities.
*
* @param param_str the str to test
*
* @return <code>true</code> if it has a html entity
* <code>false</code> if it does not have a html entity
*/
private boolean hasHtmlEntity(String param_str)
{
boolean ret_bool = false;
for (int i = 0; i < html_entity_char_arr.length; i++)
{
if (param_str.indexOf(html_entity_char_arr[i]) != -1)
{
ret_bool = true;
break;
} // if(param_str.indexOf(html_entity_char_arr[i]) != -1)
} // for(int i = 0; i < html_entity_char_arr.length; i++)
return ret_bool;
} // private boolean hasHtmlEntity(String param_str)
/**
* Tests if the char is a html entities.
*
* @param param_char the char to test
*
* @return <code>true</code> if it is a html entity
* <code>false</code> if it is not a html entity.
*/
private boolean isCharHtmlEntity(char param_char)
{
boolean ret_bool = false;
for (int i = 0; i < html_entity_char_arr.length; i++)
{
if (param_char == html_entity_char_arr[i])
{
ret_bool = true;
break;
} // if(param_char == html_entity_char_arr[i])
} // for(int i = 0; i < html_entity_char_arr.length; i++)
return ret_bool;
} // private boolean hasHtmlEntity(String param_str)
/**
* Escape html entities.
*
* @param param_char the char to escape
*
* @return escaped html entity. Original char is returned as a str if is
* is not a html entity
*/
private String escapeCharHtmlEntity(char param_char)
{
String ret_str = "" + param_char;
for (int i = 0; i < html_entity_char_arr.length; i++)
{
if (param_char == html_entity_char_arr[i])
{
ret_str = html_entity_escape_str_arr[i];
break;
} // if(param_char == html_entity_char_arr[i])
} // for(int i = 0; i < html_entity_char_arr.length; i++)
return ret_str;
} // private String escapeCharHtmlEntity(char param_char)
} // public class HTMLWriter extends AbstractWriter