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
This commit is contained in:
Andrew John Hughes 2010-10-12 15:55:12 +00:00
parent 533f611ac4
commit 729530c035
735 changed files with 13374 additions and 9248 deletions

View File

@ -1,3 +1,436 @@
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-09-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2010-09-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libjava/Makefile.in: Regenerate. * libjava/Makefile.in: Regenerate.

View File

@ -6617,7 +6617,7 @@ classpath/javax/xml/stream/events/StartDocument.java \
classpath/javax/xml/stream/events/StartElement.java \ classpath/javax/xml/stream/events/StartElement.java \
classpath/javax/xml/stream/events/XMLEvent.java \ classpath/javax/xml/stream/events/XMLEvent.java \
classpath/javax/xml/stream/util/EventReaderDelegate.java \ classpath/javax/xml/stream/util/EventReaderDelegate.java \
classpath/javax/xml/stream/util/ReaderDelegate.java \ classpath/javax/xml/stream/util/StreamReaderDelegate.java \
classpath/javax/xml/stream/util/XMLEventAllocator.java \ classpath/javax/xml/stream/util/XMLEventAllocator.java \
classpath/javax/xml/stream/util/XMLEventConsumer.java \ classpath/javax/xml/stream/util/XMLEventConsumer.java \
classpath/javax/xml/transform/ErrorListener.java \ classpath/javax/xml/transform/ErrorListener.java \

View File

@ -12,11 +12,358 @@
* configure: Regenerate. * configure: Regenerate.
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> 2010-05-04 Andrew Haley <aph@redhat.com>
* lib/gen-classlist.sh.in: Use absolute pathnames for all the * lib/gen-classlist.sh.in: Use absolute pathnames for all the
directory names in the output file. 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> 2010-04-27 Andrew Haley <aph@redhat.com>
* java/util/concurrent/CopyOnWriteArrayList.java: Fix for empty * java/util/concurrent/CopyOnWriteArrayList.java: Fix for empty
@ -25,7 +372,7 @@
2010-04-27 Andrew Haley <aph@redhat.com> 2010-04-27 Andrew Haley <aph@redhat.com>
* gnu/javax/print/ipp/IppResponse.java (parseAttributes): Handle * gnu/javax/print/ipp/IppResponse.java (parseAttributes): Handle
IppValueTag.UNKNOWN. IppValueTag.UNKNOWN.
* gnu/javax/print/ipp/IppRequest.java (writeOperationAttributes): * gnu/javax/print/ipp/IppRequest.java (writeOperationAttributes):
Handle RequestedAttributes. Handle RequestedAttributes.
* gnu/javax/print/ipp/IppPrintService.java (processResponse): Add * gnu/javax/print/ipp/IppPrintService.java (processResponse): Add
@ -70,6 +417,7 @@
* resource/Makefile.in: Regenerate. * resource/Makefile.in: Regenerate.
* scripts/Makefile.in: Regenerate. * scripts/Makefile.in: Regenerate.
* tools/Makefile.in: Regenerate. * tools/Makefile.in: Regenerate.
2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR libgcj/38251 PR libgcj/38251
@ -83,11 +431,42 @@
* tools/Makefile.am (UPDATE_TOOLS_ZIP, CREATE_TOOLS_ZIP): Exclude * tools/Makefile.am (UPDATE_TOOLS_ZIP, CREATE_TOOLS_ZIP): Exclude
.svn direcories. .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> 2010-01-18 Andreas Tobler <andreast@fgznet.ch>
* tools/Makefile.am (GJDOC_EX): Use find -name pattern -prune -o. * tools/Makefile.am (GJDOC_EX): Use find -name pattern -prune -o.
* tools/Makefile.in: Regenerate. * 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-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* Makefile.in: Regenerate. * Makefile.in: Regenerate.
@ -126,6 +505,17 @@
* scripts/Makefile.in: Regenerate. * scripts/Makefile.in: Regenerate.
* tools/Makefile.in: Regenerate. * tools/Makefile.in: Regenerate.
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> 2009-10-22 Richard Guenther <rguenther@suse.de>
PR cp-tools/39177 PR cp-tools/39177
@ -193,6 +583,48 @@
(func_mode_link): Add new -bindir option, and use it to place (func_mode_link): Add new -bindir option, and use it to place
output DLL if specified. output DLL if specified.
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-06-29 Andrew Haley <aph@redhat.com> 2009-06-29 Andrew Haley <aph@redhat.com>
PR java/40590 PR java/40590
@ -216,6 +648,285 @@
New methods. New methods.
(moveToPackage): Use printName(). (moveToPackage): Use printName().
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-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* configure: Regenerate. * configure: Regenerate.
@ -223,7 +934,7 @@
2009-02-05 Andrew John Hughes <ahughes@redhat.com> 2009-02-05 Andrew John Hughes <ahughes@redhat.com>
* NEWS: Add VM updates. * NEWS: Add VM updates.
2009-02-05 Andrew John Hughes <ahughes@redhat.com> 2009-02-05 Andrew John Hughes <ahughes@redhat.com>
* NEWS: Updated. * NEWS: Updated.

View File

@ -2,10 +2,12 @@ Installation Instructions
************************* *************************
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
2006, 2007, 2008 Free Software Foundation, Inc. 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
This file is free documentation; the Free Software Foundation gives Copying and distribution of this file, with or without modification,
unlimited permission to copy, distribute and modify it. are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without warranty of any kind.
Basic Installation Basic Installation
================== ==================
@ -13,7 +15,11 @@ Basic Installation
Briefly, the shell commands `./configure; make; make install' should Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for more-detailed instructions are generic; see the `README' file for
instructions specific to this package. instructions specific to this package. Some packages provide this
`INSTALL' file but do not implement all of the features documented
below. The lack of an optional feature in a given package is not
necessarily a bug. More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure' shell script attempts to guess correct values for The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses various system-dependent variables used during compilation. It uses
@ -42,7 +48,7 @@ may remove or edit it.
you want to change it or regenerate `configure' using a newer version you want to change it or regenerate `configure' using a newer version
of `autoconf'. of `autoconf'.
The simplest way to compile this package is: The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type 1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. `./configure' to configure the package for your system.
@ -53,12 +59,22 @@ The simplest way to compile this package is:
2. Type `make' to compile the package. 2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with 3. Optionally, type `make check' to run any self-tests that come with
the package. the package, generally using the just-built uninstalled binaries.
4. Type `make install' to install the programs and any data files and 4. Type `make install' to install the programs and any data files and
documentation. documentation. When installing into a prefix owned by root, it is
recommended that the package be configured and built as a regular
user, and only the `make install' phase executed with root
privileges.
5. You can remove the program binaries and object files from the 5. Optionally, type `make installcheck' to repeat any self-tests, but
this time using the binaries in their final installed location.
This target does not install anything. Running this target as a
regular user, particularly if the prior `make install' required
root privileges, verifies that the installation completed
correctly.
6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is a different kind of computer), type `make distclean'. There is
@ -67,8 +83,15 @@ The simplest way to compile this package is:
all sorts of other programs in order to regenerate files that came all sorts of other programs in order to regenerate files that came
with the distribution. with the distribution.
6. Often, you can also type `make uninstall' to remove the installed 7. Often, you can also type `make uninstall' to remove the installed
files again. files again. In practice, not all packages have tested that
uninstallation works correctly, even though it is required by the
GNU Coding Standards.
8. Some packages, particularly those that use Automake, provide `make
distcheck', which can by used by developers to test that all other
targets like `make install' and `make uninstall' work correctly.
This target is generally not run by end users.
Compilers and Options Compilers and Options
===================== =====================
@ -93,7 +116,8 @@ same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU `make'. `cd' to the own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'. source code in the directory that `configure' is in and in `..'. This
is known as a "VPATH" build.
With a non-GNU `make', it is safer to compile the package for one With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have architecture at a time in the source code directory. After you have
@ -120,7 +144,8 @@ Installation Names
By default, `make install' installs the package's commands under By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You `/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX'. `configure' the option `--prefix=PREFIX', where PREFIX must be an
absolute file name.
You can specify separate installation prefixes for You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you architecture-specific files and architecture-independent files. If you
@ -131,15 +156,46 @@ Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them. you can set and what kinds of files go in them. In general, the
default for these options is expressed in terms of `${prefix}', so that
specifying just `--prefix' will affect all of the other directory
specifications that were not explicitly provided.
The most portable way to affect installation locations is to pass the
correct locations to `configure'; however, many packages provide one or
both of the following shortcuts of passing variable assignments to the
`make install' command line to change installation locations without
having to reconfigure or recompile.
The first method involves providing an override variable for each
affected directory. For example, `make install
prefix=/alternate/directory' will choose an alternate location for all
directory configuration variables that were expressed in terms of
`${prefix}'. Any directories that were specified during `configure',
but not in terms of `${prefix}', must each be overridden at install
time for the entire installation to be relocated. The approach of
makefile variable overrides for each directory variable is required by
the GNU Coding Standards, and ideally causes no recompilation.
However, some platforms have known limitations with the semantics of
shared libraries that end up requiring recompilation when using this
method, particularly noticeable in packages that use GNU Libtool.
The second method involves providing the `DESTDIR' variable. For
example, `make install DESTDIR=/alternate/directory' will prepend
`/alternate/directory' before all installation names. The approach of
`DESTDIR' overrides is not required by the GNU Coding Standards, and
does not work on platforms that have drive letters. On the other hand,
it does better at avoiding recompilation issues, and works well even
when some directory options were not specified in terms of `${prefix}'
at `configure' time.
Optional Features
=================
If the package supports it, you can cause programs to be installed If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package. `configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE They may also pay attention to `--with-PACKAGE' options, where PACKAGE
@ -152,6 +208,13 @@ find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations. `--x-libraries=DIR' to specify their locations.
Some packages offer the ability to configure how verbose the
execution of `make' will be. For these packages, running `./configure
--enable-silent-rules' sets the default to minimal output, which can be
overridden with `make V=1'; while running `./configure
--disable-silent-rules' sets the default to verbose, which can be
overridden with `make V=0'.
Particular systems Particular systems
================== ==================
@ -159,7 +222,7 @@ Particular systems
CC is not installed, it is recommended to use the following options in CC is not installed, it is recommended to use the following options in
order to use an ANSI C compiler: order to use an ANSI C compiler:
./configure CC="cc -Ae" ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX. and if that doesn't work, install pre-built binaries of GCC for HP-UX.
@ -174,6 +237,16 @@ and if that doesn't work, try
./configure CC="cc -nodtk" ./configure CC="cc -nodtk"
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
directory contains several dysfunctional programs; working variants of
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
in your `PATH', put it _after_ `/usr/bin'.
On Haiku, software installed for all users goes in `/boot/common',
not `/usr/local'. It is recommended to use the following options:
./configure --prefix=/boot/common
Specifying the System Type Specifying the System Type
========================== ==========================
@ -189,7 +262,8 @@ type, such as `sun4', or a canonical name which has the form:
where SYSTEM can have one of these forms: where SYSTEM can have one of these forms:
OS KERNEL-OS OS
KERNEL-OS
See the file `config.sub' for the possible values of each field. If See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't `config.sub' isn't included in this package, then this package doesn't
@ -277,7 +351,7 @@ operates.
`configure' can determine that directory automatically. `configure' can determine that directory automatically.
`--prefix=DIR' `--prefix=DIR'
Use DIR as the installation prefix. *Note Installation Names:: Use DIR as the installation prefix. *note Installation Names::
for more details, including other options available for fine-tuning for more details, including other options available for fine-tuning
the installation locations. the installation locations.

View File

@ -51,12 +51,15 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/../../compile \
../../config.rpath ../../config.sub ../../depcomp \ ../../config.rpath ../../config.sub ../../depcomp \
../../install-sh ../../ltmain.sh ../../missing \ ../../install-sh ../../ltmain.sh ../../missing \
../../mkinstalldirs ../../ylwrap AUTHORS COPYING ChangeLog \ ../../mkinstalldirs ../../ylwrap AUTHORS COPYING ChangeLog \
INSTALL NEWS TODO compile config.guess config.sub depcomp \ INSTALL NEWS TODO compile config.guess config.rpath config.sub \
install-sh ltcf-c.sh ltcf-cxx.sh ltcf-gcj.sh ltconfig \ depcomp install-sh ltcf-c.sh ltcf-cxx.sh ltcf-gcj.sh ltconfig \
ltmain.sh missing mkinstalldirs ltmain.sh missing mkinstalldirs
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/lib-ld.m4 \
$(top_srcdir)/../../config/lib-link.m4 \
$(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \ $(top_srcdir)/../../config/override.m4 \
@ -75,9 +78,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \

View File

@ -1,3 +1,5 @@
New in release 0.99 (XXX XX, XXXX)
New in release 0.98 (Feb 05, 2009) New in release 0.98 (Feb 05, 2009)
* Native support for BigInteger is now provided using the GMP * Native support for BigInteger is now provided using the GMP

View File

@ -1062,6 +1062,9 @@ AC_SUBST([am__untar])
m4_include([../../config/depstand.m4]) m4_include([../../config/depstand.m4])
m4_include([../../config/lead-dot.m4]) m4_include([../../config/lead-dot.m4])
m4_include([../../config/lib-ld.m4])
m4_include([../../config/lib-link.m4])
m4_include([../../config/lib-prefix.m4])
m4_include([../../config/multi.m4]) m4_include([../../config/multi.m4])
m4_include([../../config/no-executables.m4]) m4_include([../../config/no-executables.m4])
m4_include([../../config/override.m4]) m4_include([../../config/override.m4])
@ -1082,7 +1085,4 @@ m4_include([m4/ax_create_stdint_h.m4])
m4_include([m4/ax_func_which_gethostbyname_r.m4]) m4_include([m4/ax_func_which_gethostbyname_r.m4])
m4_include([m4/gcc_attribute.m4]) m4_include([m4/gcc_attribute.m4])
m4_include([m4/iconv.m4]) m4_include([m4/iconv.m4])
m4_include([m4/lib-ld.m4])
m4_include([m4/lib-link.m4])
m4_include([m4/lib-prefix.m4])
m4_include([m4/pkg.m4]) m4_include([m4/pkg.m4])

View File

@ -18,7 +18,7 @@ have_libtool=false
if ${LIBTOOLIZE} --version < /dev/null > /dev/null 2>&1 ; then if ${LIBTOOLIZE} --version < /dev/null > /dev/null 2>&1 ; then
libtool_version=`${LIBTOOLIZE} --version | sed 's/^.*[^0-9.]\([0-9]\{1,\}\.[0-9.]\{1,\}\).*/\1/'` libtool_version=`${LIBTOOLIZE} --version | sed 's/^.*[^0-9.]\([0-9]\{1,\}\.[0-9.]\{1,\}\).*/\1/'`
case $libtool_version in case $libtool_version in
1.5*) 1.5*|2.*)
have_libtool=true have_libtool=true
;; ;;
esac esac

672
libjava/classpath/config.rpath Executable file
View File

@ -0,0 +1,672 @@
#! /bin/sh
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
#
# Copyright 1996-2010 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# The first argument passed to this file is the canonical host specification,
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
# should be set by the caller.
#
# The set of defined variables is at the end of this script.
# Known limitations:
# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
# than 256 bytes, otherwise the compiler driver will dump core. The only
# known workaround is to choose shorter directory names for the build
# directory and/or the installation directory.
# All known linkers require a `.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
shrext=.so
host="$1"
host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
# Code taken from libtool.m4's _LT_CC_BASENAME.
for cc_temp in $CC""; do
case $cc_temp in
compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
\-*) ;;
*) break;;
esac
done
cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
# Code taken from libtool.m4's _LT_COMPILER_PIC.
wl=
if test "$GCC" = yes; then
wl='-Wl,'
else
case "$host_os" in
aix*)
wl='-Wl,'
;;
darwin*)
case $cc_basename in
xlc*)
wl='-Wl,'
;;
esac
;;
mingw* | cygwin* | pw32* | os2* | cegcc*)
;;
hpux9* | hpux10* | hpux11*)
wl='-Wl,'
;;
irix5* | irix6* | nonstopux*)
wl='-Wl,'
;;
newsos6)
;;
linux* | k*bsd*-gnu)
case $cc_basename in
ecc*)
wl='-Wl,'
;;
icc* | ifort*)
wl='-Wl,'
;;
lf95*)
wl='-Wl,'
;;
pgcc | pgf77 | pgf90)
wl='-Wl,'
;;
ccc*)
wl='-Wl,'
;;
como)
wl='-lopt='
;;
*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*)
wl='-Wl,'
;;
esac
;;
esac
;;
osf3* | osf4* | osf5*)
wl='-Wl,'
;;
rdos*)
;;
solaris*)
wl='-Wl,'
;;
sunos4*)
wl='-Qoption ld '
;;
sysv4 | sysv4.2uw2* | sysv4.3*)
wl='-Wl,'
;;
sysv4*MP*)
;;
sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
wl='-Wl,'
;;
unicos*)
wl='-Wl,'
;;
uts4*)
;;
esac
fi
# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
hardcode_direct=no
hardcode_minus_L=no
case "$host_os" in
cygwin* | mingw* | pw32* | cegcc*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
if test "$GCC" != yes; then
with_gnu_ld=no
fi
;;
interix*)
# we just hope/assume this is gcc and not c89 (= MSVC++)
with_gnu_ld=yes
;;
openbsd*)
with_gnu_ld=no
;;
esac
ld_shlibs=yes
if test "$with_gnu_ld" = yes; then
# Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
# Unlike libtool, we use -rpath here, not --rpath, since the documented
# option of GNU ld is called -rpath, not --rpath.
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
case "$host_os" in
aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
fi
;;
amigaos*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
# Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
# that the semantics of dynamic libraries on AmigaOS, at least up
# to version 4, is to share data among multiple programs linked
# with the same dynamic library. Since this doesn't match the
# behavior of shared libraries on other platforms, we cannot use
# them.
ld_shlibs=no
;;
beos*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
cygwin* | mingw* | pw32* | cegcc*)
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
interix[3-9]*)
hardcode_direct=no
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
gnu* | linux* | k*bsd*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
netbsd*)
;;
solaris*)
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
case `$LD -v 2>&1` in
*\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
ld_shlibs=no
;;
*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
else
ld_shlibs=no
fi
;;
esac
;;
sunos4*)
hardcode_direct=yes
;;
*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
esac
if test "$ld_shlibs" = no; then
hardcode_libdir_flag_spec=
fi
else
case "$host_os" in
aix3*)
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L=yes
if test "$GCC" = yes; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
hardcode_direct=unsupported
fi
;;
aix[4-9]*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
else
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
break
fi
done
;;
esac
fi
hardcode_direct=yes
hardcode_libdir_separator=':'
if test "$GCC" = yes; then
case $host_os in aix4.[012]|aix4.[012].*)
collect2name=`${CC} -print-prog-name=collect2`
if test -f "$collect2name" && \
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
:
else
# We have old collect2
hardcode_direct=unsupported
hardcode_minus_L=yes
hardcode_libdir_flag_spec='-L$libdir'
hardcode_libdir_separator=
fi
;;
esac
fi
# Begin _LT_AC_SYS_LIBPATH_AIX.
echo 'int main () { return 0; }' > conftest.c
${CC} ${LDFLAGS} conftest.c -o conftest
aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
}'`
if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
}'`
fi
if test -z "$aix_libpath"; then
aix_libpath="/usr/lib:/lib"
fi
rm -f conftest.c conftest
# End _LT_AC_SYS_LIBPATH_AIX.
if test "$aix_use_runtimelinking" = yes; then
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
else
if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
else
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
fi
fi
;;
amigaos*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
# see comment about different semantics on the GNU ld section
ld_shlibs=no
;;
bsdi[45]*)
;;
cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec=' '
libext=lib
;;
darwin* | rhapsody*)
hardcode_direct=no
if test "$GCC" = yes ; then
:
else
case $cc_basename in
xlc*)
;;
*)
ld_shlibs=no
;;
esac
fi
;;
dgux*)
hardcode_libdir_flag_spec='-L$libdir'
;;
freebsd1*)
ld_shlibs=no
;;
freebsd2.2*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
freebsd2*)
hardcode_direct=yes
hardcode_minus_L=yes
;;
freebsd* | dragonfly*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
hpux9*)
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
hpux10*)
if test "$with_gnu_ld" = no; then
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
fi
;;
hpux11*)
if test "$with_gnu_ld" = no; then
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
case $host_cpu in
hppa*64*|ia64*)
hardcode_direct=no
;;
*)
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
esac
fi
;;
irix5* | irix6* | nonstopux*)
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
netbsd*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
newsos6)
hardcode_direct=yes
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
openbsd*)
if test -f /usr/libexec/ld.so; then
hardcode_direct=yes
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
else
case "$host_os" in
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
hardcode_libdir_flag_spec='-R$libdir'
;;
*)
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
esac
fi
else
ld_shlibs=no
fi
;;
os2*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
;;
osf3*)
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
osf4* | osf5*)
if test "$GCC" = yes; then
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
# Both cc and cxx compiler support -rpath directly
hardcode_libdir_flag_spec='-rpath $libdir'
fi
hardcode_libdir_separator=:
;;
solaris*)
hardcode_libdir_flag_spec='-R$libdir'
;;
sunos4*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
;;
sysv4)
case $host_vendor in
sni)
hardcode_direct=yes # is this really true???
;;
siemens)
hardcode_direct=no
;;
motorola)
hardcode_direct=no #Motorola manual says yes, but my tests say they lie
;;
esac
;;
sysv4.3*)
;;
sysv4*MP*)
if test -d /usr/nec; then
ld_shlibs=yes
fi
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
;;
sysv5* | sco3.2v5* | sco5v6*)
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
hardcode_libdir_separator=':'
;;
uts4*)
hardcode_libdir_flag_spec='-L$libdir'
;;
*)
ld_shlibs=no
;;
esac
fi
# Check dynamic linker characteristics
# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
# Unlike libtool.m4, here we don't care about _all_ names of the library, but
# only about the one the linker finds when passed -lNAME. This is the last
# element of library_names_spec in libtool.m4, or possibly two of them if the
# linker has special search rules.
library_names_spec= # the last element of library_names_spec in libtool.m4
libname_spec='lib$name'
case "$host_os" in
aix3*)
library_names_spec='$libname.a'
;;
aix[4-9]*)
library_names_spec='$libname$shrext'
;;
amigaos*)
library_names_spec='$libname.a'
;;
beos*)
library_names_spec='$libname$shrext'
;;
bsdi[45]*)
library_names_spec='$libname$shrext'
;;
cygwin* | mingw* | pw32* | cegcc*)
shrext=.dll
library_names_spec='$libname.dll.a $libname.lib'
;;
darwin* | rhapsody*)
shrext=.dylib
library_names_spec='$libname$shrext'
;;
dgux*)
library_names_spec='$libname$shrext'
;;
freebsd1*)
;;
freebsd* | dragonfly*)
case "$host_os" in
freebsd[123]*)
library_names_spec='$libname$shrext$versuffix' ;;
*)
library_names_spec='$libname$shrext' ;;
esac
;;
gnu*)
library_names_spec='$libname$shrext'
;;
hpux9* | hpux10* | hpux11*)
case $host_cpu in
ia64*)
shrext=.so
;;
hppa*64*)
shrext=.sl
;;
*)
shrext=.sl
;;
esac
library_names_spec='$libname$shrext'
;;
interix[3-9]*)
library_names_spec='$libname$shrext'
;;
irix5* | irix6* | nonstopux*)
library_names_spec='$libname$shrext'
case "$host_os" in
irix5* | nonstopux*)
libsuff= shlibsuff=
;;
*)
case $LD in
*-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
*-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
*-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
*) libsuff= shlibsuff= ;;
esac
;;
esac
;;
linux*oldld* | linux*aout* | linux*coff*)
;;
linux* | k*bsd*-gnu)
library_names_spec='$libname$shrext'
;;
knetbsd*-gnu)
library_names_spec='$libname$shrext'
;;
netbsd*)
library_names_spec='$libname$shrext'
;;
newsos6)
library_names_spec='$libname$shrext'
;;
nto-qnx*)
library_names_spec='$libname$shrext'
;;
openbsd*)
library_names_spec='$libname$shrext$versuffix'
;;
os2*)
libname_spec='$name'
shrext=.dll
library_names_spec='$libname.a'
;;
osf3* | osf4* | osf5*)
library_names_spec='$libname$shrext'
;;
rdos*)
;;
solaris*)
library_names_spec='$libname$shrext'
;;
sunos4*)
library_names_spec='$libname$shrext$versuffix'
;;
sysv4 | sysv4.3*)
library_names_spec='$libname$shrext'
;;
sysv4*MP*)
library_names_spec='$libname$shrext'
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
library_names_spec='$libname$shrext'
;;
uts4*)
library_names_spec='$libname$shrext'
;;
esac
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
# How to pass a linker flag through the compiler.
wl="$escaped_wl"
# Static library suffix (normally "a").
libext="$libext"
# Shared library suffix (normally "so").
shlibext="$shlibext"
# Format of library name prefix.
libname_spec="$escaped_libname_spec"
# Library names that the linker finds when passed -lNAME.
library_names_spec="$escaped_library_names_spec"
# Flag to hardcode \$libdir into a binary during linking.
# This must work even if \$libdir does not exist.
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
# Whether we need a single -rpath flag with a separated argument.
hardcode_libdir_separator="$hardcode_libdir_separator"
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
# resulting binary.
hardcode_direct="$hardcode_direct"
# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
# resulting binary.
hardcode_minus_L="$hardcode_minus_L"
EOF

View File

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.64 for GNU Classpath 0.98. # Generated by GNU Autoconf 2.64 for GNU Classpath 0.99-pre.
# #
# Report bugs to <classpath@gnu.org>. # Report bugs to <classpath@gnu.org>.
# #
@ -559,8 +559,8 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='GNU Classpath' PACKAGE_NAME='GNU Classpath'
PACKAGE_TARNAME='classpath' PACKAGE_TARNAME='classpath'
PACKAGE_VERSION='0.98' PACKAGE_VERSION='0.99-pre'
PACKAGE_STRING='GNU Classpath 0.98' PACKAGE_STRING='GNU Classpath 0.99-pre'
PACKAGE_BUGREPORT='classpath@gnu.org' PACKAGE_BUGREPORT='classpath@gnu.org'
PACKAGE_URL='http://www.gnu.org/software/classpath/' PACKAGE_URL='http://www.gnu.org/software/classpath/'
@ -1490,7 +1490,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures GNU Classpath 0.98 to adapt to many kinds of systems. \`configure' configures GNU Classpath 0.99-pre to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1565,7 +1565,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of GNU Classpath 0.98:";; short | recursive ) echo "Configuration of GNU Classpath 0.99-pre:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1757,7 +1757,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
GNU Classpath configure 0.98 GNU Classpath configure 0.99-pre
generated by GNU Autoconf 2.64 generated by GNU Autoconf 2.64
Copyright (C) 2009 Free Software Foundation, Inc. Copyright (C) 2009 Free Software Foundation, Inc.
@ -2586,7 +2586,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by GNU Classpath $as_me 0.98, which was It was created by GNU Classpath $as_me 0.99-pre, which was
generated by GNU Autoconf 2.64. Invocation command line was generated by GNU Autoconf 2.64. Invocation command line was
$ $0 $@ $ $0 $@
@ -2938,6 +2938,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_aux_dir= ac_aux_dir=
for ac_dir in ../.. "$srcdir"/../..; do for ac_dir in ../.. "$srcdir"/../..; do
for ac_t in install-sh install.sh shtool; do for ac_t in install-sh install.sh shtool; do
@ -3620,7 +3621,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='classpath' PACKAGE='classpath'
VERSION='0.98' VERSION='0.99-pre'
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -5474,7 +5475,7 @@ if test "${enable_plugin+set}" = set; then :
*) COMPILE_PLUGIN=yes ;; *) COMPILE_PLUGIN=yes ;;
esac esac
else else
COMPILE_PLUGIN=yes COMPILE_PLUGIN=no
fi fi
if test "x${COMPILE_PLUGIN}" = xyes; then if test "x${COMPILE_PLUGIN}" = xyes; then
@ -11818,7 +11819,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF cat > conftest.$ac_ext <<_LT_EOF
#line 11821 "configure" #line 11822 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
@ -11924,7 +11925,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF cat > conftest.$ac_ext <<_LT_EOF
#line 11927 "configure" #line 11928 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
@ -21956,6 +21957,24 @@ fi
fi fi
if test "x${COMPILE_GMP}" = xyes; then if test "x${COMPILE_GMP}" = xyes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GMP directories" >&5
$as_echo_n "checking for GMP directories... " >&6; }
if test "x$with_gmp" != x; then
gmplibs="-L$with_gmp/lib -lgmp"
gmpinc="-I$with_gmp/include"
if test "x$with_gmp_include" != x; then
gmpinc="-I$with_gmp_include $gmpinc"
fi
if test "x$with_gmp_lib" != x; then
gmplibs="-L$with_gmp_lib $gmplibs"
fi
else
with_gmp="/usr"
gmplibs="-lgmp"
gmpinc="-I/usr/include"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: prefix=$with_gmp, libs=$gmplibs, inc=$gmpinc" >&5
$as_echo "prefix=$with_gmp, libs=$gmplibs, inc=$gmpinc" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __gmpz_mul_si in -lgmp" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __gmpz_mul_si in -lgmp" >&5
$as_echo_n "checking for __gmpz_mul_si in -lgmp... " >&6; } $as_echo_n "checking for __gmpz_mul_si in -lgmp... " >&6; }
if test "${ac_cv_lib_gmp___gmpz_mul_si+set}" = set; then : if test "${ac_cv_lib_gmp___gmpz_mul_si+set}" = set; then :
@ -23676,82 +23695,6 @@ test -n "$JAVA" || JAVA="$JAVAPREFIX"
fi fi
test "x$JAVA" = x && as_fn_error "no acceptable Java virtual machine found in \$PATH" "$LINENO" 5 test "x$JAVA" = x && as_fn_error "no acceptable Java virtual machine found in \$PATH" "$LINENO" 5
# Extract the first word of "uudecode$EXEEXT", so it can be a program name with args.
set dummy uudecode$EXEEXT; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_uudecode+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$uudecode"; then
ac_cv_prog_uudecode="$uudecode" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_uudecode="yes"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
uudecode=$ac_cv_prog_uudecode
if test -n "$uudecode"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $uudecode" >&5
$as_echo "$uudecode" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test x$uudecode = xyes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if uudecode can decode base 64 file" >&5
$as_echo_n "checking if uudecode can decode base 64 file... " >&6; }
if test "${ac_cv_prog_uudecode_base64+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat << \EOF > Test.uue
begin-base64 644 Test.class
yv66vgADAC0AFQcAAgEABFRlc3QHAAQBABBqYXZhL2xhbmcvT2JqZWN0AQAE
bWFpbgEAFihbTGphdmEvbGFuZy9TdHJpbmc7KVYBAARDb2RlAQAPTGluZU51
bWJlclRhYmxlDAAKAAsBAARleGl0AQAEKEkpVgoADQAJBwAOAQAQamF2YS9s
YW5nL1N5c3RlbQEABjxpbml0PgEAAygpVgwADwAQCgADABEBAApTb3VyY2VG
aWxlAQAJVGVzdC5qYXZhACEAAQADAAAAAAACAAkABQAGAAEABwAAACEAAQAB
AAAABQO4AAyxAAAAAQAIAAAACgACAAAACgAEAAsAAQAPABAAAQAHAAAAIQAB
AAEAAAAFKrcAErEAAAABAAgAAAAKAAIAAAAEAAQABAABABMAAAACABQ=
====
EOF
if uudecode$EXEEXT Test.uue; then
ac_cv_prog_uudecode_base64=yes
else
echo "configure: 23737: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
echo "configure: failed file was:" >&5
cat Test.uue >&5
ac_cv_prog_uudecode_base64=no
fi
rm -f Test.uue
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_uudecode_base64" >&5
$as_echo "$ac_cv_prog_uudecode_base64" >&6; }
fi
if test x$ac_cv_prog_uudecode_base64 != xyes; then
rm -f Test.class
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: I have to compile Test.class from scratch" >&5
$as_echo "$as_me: WARNING: I have to compile Test.class from scratch" >&2;}
if test x$ac_cv_prog_javac_works = xno; then
as_fn_error "Cannot compile java source. $JAVAC does not work properly" "$LINENO" 5
fi
if test x$ac_cv_prog_javac_works = x; then
ECJ_OPTS="-warn:-deprecation,serial,unusedImport" ECJ_OPTS="-warn:-deprecation,serial,unusedImport"
JAVAC_OPTS="-Xlint:unchecked,cast,divzero,empty,finally,overrides" JAVAC_OPTS="-Xlint:unchecked,cast,divzero,empty,finally,overrides"
@ -23851,10 +23794,13 @@ if test "${ac_cv_prog_javac_is_gcj+set}" = set; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
else else
if $JAVAC --version | grep gcj > /dev/null; then if $JAVAC --version 2>&1 | grep gcj >&5 ; then
ac_cv_prog_javac_is_gcj=yes; ac_cv_prog_javac_is_gcj=yes;
JAVAC="$JAVAC $GCJ_OPTS"; JAVAC="$JAVAC $GCJ_OPTS";
else
ac_cv_prog_javac_is_gcj=no;
fi fi
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_is_gcj" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_is_gcj" >&5
$as_echo "$ac_cv_prog_javac_is_gcj" >&6; } $as_echo "$ac_cv_prog_javac_is_gcj" >&6; }
@ -23868,7 +23814,8 @@ else
GCJ_JAVAC_FALSE= GCJ_JAVAC_FALSE=
fi fi
if test "$enable_java_maintainer_mode" = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVAC works" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVAC works" >&5
$as_echo_n "checking if $JAVAC works... " >&6; } $as_echo_n "checking if $JAVAC works... " >&6; }
@ -23879,7 +23826,7 @@ else
JAVA_TEST=Object.java JAVA_TEST=Object.java
CLASS_TEST=Object.class CLASS_TEST=Object.class
cat << \EOF > $JAVA_TEST cat << \EOF > $JAVA_TEST
/* #line 23882 "configure" */ /* #line 23829 "configure" */
package java.lang; package java.lang;
public class Object public class Object
@ -23912,8 +23859,82 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_works" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_works" >&5
$as_echo "$ac_cv_prog_javac_works" >&6; } $as_echo "$ac_cv_prog_javac_works" >&6; }
# Extract the first word of "uudecode$EXEEXT", so it can be a program name with args.
set dummy uudecode$EXEEXT; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_uudecode+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$uudecode"; then
ac_cv_prog_uudecode="$uudecode" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_uudecode="yes"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
uudecode=$ac_cv_prog_uudecode
if test -n "$uudecode"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $uudecode" >&5
$as_echo "$uudecode" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi fi
if test x$uudecode = xyes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if uudecode can decode base 64 file" >&5
$as_echo_n "checking if uudecode can decode base 64 file... " >&6; }
if test "${ac_cv_prog_uudecode_base64+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat << \EOF > Test.uue
begin-base64 644 Test.class
yv66vgADAC0AFQcAAgEABFRlc3QHAAQBABBqYXZhL2xhbmcvT2JqZWN0AQAE
bWFpbgEAFihbTGphdmEvbGFuZy9TdHJpbmc7KVYBAARDb2RlAQAPTGluZU51
bWJlclRhYmxlDAAKAAsBAARleGl0AQAEKEkpVgoADQAJBwAOAQAQamF2YS9s
YW5nL1N5c3RlbQEABjxpbml0PgEAAygpVgwADwAQCgADABEBAApTb3VyY2VG
aWxlAQAJVGVzdC5qYXZhACEAAQADAAAAAAACAAkABQAGAAEABwAAACEAAQAB
AAAABQO4AAyxAAAAAQAIAAAACgACAAAACgAEAAsAAQAPABAAAQAHAAAAIQAB
AAEAAAAFKrcAErEAAAABAAgAAAAKAAIAAAAEAAQABAABABMAAAACABQ=
====
EOF
if uudecode$EXEEXT Test.uue; then
ac_cv_prog_uudecode_base64=yes
else
echo "configure: 23922: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
echo "configure: failed file was:" >&5
cat Test.uue >&5
ac_cv_prog_uudecode_base64=no
fi
rm -f Test.uue
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_uudecode_base64" >&5
$as_echo "$ac_cv_prog_uudecode_base64" >&6; }
fi
if test x$ac_cv_prog_uudecode_base64 != xyes; then
rm -f Test.class
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: I have to compile Test.class from scratch" >&5
$as_echo "$as_me: WARNING: I have to compile Test.class from scratch" >&2;}
if test x$ac_cv_prog_javac_works = xno; then
as_fn_error "Cannot compile java source. $JAVAC does not work properly" "$LINENO" 5
fi fi
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVA works" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVA works" >&5
@ -23926,13 +23947,14 @@ JAVA_TEST=Test.java
CLASS_TEST=Test.class CLASS_TEST=Test.class
TEST=Test TEST=Test
cat << \EOF > $JAVA_TEST cat << \EOF > $JAVA_TEST
/* [#]line 23929 "configure" */ /* [#]line 23950 "configure" */
public class Test { public class Test {
public static void main (String args[]) { public static void main (String args[]) {
System.exit (0); System.exit (0);
} } } }
EOF EOF
if test x$ac_cv_prog_uudecode_base64 != xyes; then if test x$ac_cv_prog_uudecode_base64 != xyes; then
if { ac_try='$JAVAC $JAVACFLAGS $JAVA_TEST' if { ac_try='$JAVAC $JAVACFLAGS $JAVA_TEST'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5 (eval $ac_try) 2>&5
@ -23965,7 +23987,6 @@ fi
$as_echo "$ac_cv_prog_java_works" >&6; } $as_echo "$ac_cv_prog_java_works" >&6; }
fi fi
if test "x${COMPILE_GJDOC}" = xyes; then if test "x${COMPILE_GJDOC}" = xyes; then
@ -24092,7 +24113,11 @@ fi
if test -z "$JAVA"; then if test -z "$JAVA"; then
as_fn_error "Failed to find either an antlr binary or a suitable Java runtime for ANTLR." "$LINENO" 5 as_fn_error "Failed to find either an antlr binary or a suitable Java runtime for ANTLR." "$LINENO" 5
else else
ANTLR="$JAVA -classpath $ANTLR_JAR antlr.Tool" if test -z "$ANTLR_JAR"; then
as_fn_error "Failed to find either an antlr binary or a suitable antlr jar file." "$LINENO" 5
else
ANTLR="$JAVA -classpath $ANTLR_JAR antlr.Tool"
fi
fi fi
fi fi
@ -24124,174 +24149,13 @@ fi
if test "x${use_glibj_zip}" = xfalse || \ if test "x${use_glibj_zip}" = xfalse || \
test "x${EXAMPLESDIR}" != x || \ test "x${EXAMPLESDIR}" != x || \
test "x${TOOLSDIR}" != x && \ test "x${TOOLSDIR}" != x && \
test "x${build_class_files}" != xno; then test "x${build_class_files}" != xno && \
test "${enable_java_maintainer_mode}" = yes; then
ECJ_OPTS="-warn:-deprecation,serial,unusedImport"
JAVAC_OPTS="-Xlint:unchecked,cast,divzero,empty,finally,overrides"
GCJ_OPTS="-g"
if test "x$JAVAPREFIX" = x; then
test "x$JAVAC" = x && for ac_prog in "ecj$EXEEXT $ECJ_OPTS" "ecj-3.3$EXEEXT $ECJ_OPTS" "ecj-3.2$EXEEXT $ECJ_OPTS" "javac$EXEEXT $JAVAC_OPTS" "gcj$EXEEXT -C"
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_JAVAC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$JAVAC"; then
ac_cv_prog_JAVAC="$JAVAC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_JAVAC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
JAVAC=$ac_cv_prog_JAVAC
if test -n "$JAVAC"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5
$as_echo "$JAVAC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$JAVAC" && break
done
else
test "x$JAVAC" = x && for ac_prog in "ecj$EXEEXT $ECJ_OPTS" "ecj-3.3$EXEEXT $ECJ_OPTS" "ecj-3.2$EXEEXT $ECJ_OPTS" "javac$EXEEXT $JAVAC_OPTS" "gcj$EXEEXT -C"
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_JAVAC+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if test -n "$JAVAC"; then
ac_cv_prog_JAVAC="$JAVAC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_JAVAC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
JAVAC=$ac_cv_prog_JAVAC
if test -n "$JAVAC"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $JAVAC" >&5
$as_echo "$JAVAC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -n "$JAVAC" && break
done
test -n "$JAVAC" || JAVAC="$JAVAPREFIX"
fi
test "x$JAVAC" = x && as_fn_error "no acceptable Java compiler found in \$PATH" "$LINENO" 5
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVAC is a version of gcj" >&5
$as_echo_n "checking if $JAVAC is a version of gcj... " >&6; }
if test "${ac_cv_prog_javac_is_gcj+set}" = set; then :
$as_echo_n "(cached) " >&6
else
if $JAVAC --version | grep gcj > /dev/null; then
ac_cv_prog_javac_is_gcj=yes;
JAVAC="$JAVAC $GCJ_OPTS";
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_is_gcj" >&5
$as_echo "$ac_cv_prog_javac_is_gcj" >&6; }
JAVAC_IS_GCJ=$ac_cv_prog_javac_is_gcj
if test x"${JAVAC_IS_GCJ}" = xyes; then
GCJ_JAVAC_TRUE=
GCJ_JAVAC_FALSE='#'
else
GCJ_JAVAC_TRUE='#'
GCJ_JAVAC_FALSE=
fi
if test "$enable_java_maintainer_mode" = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVAC works" >&5
$as_echo_n "checking if $JAVAC works... " >&6; }
if test "${ac_cv_prog_javac_works+set}" = set; then :
$as_echo_n "(cached) " >&6
else
JAVA_TEST=Object.java
CLASS_TEST=Object.class
cat << \EOF > $JAVA_TEST
/* #line 24255 "configure" */
package java.lang;
public class Object
{
static <T> void doStuff()
{
}
}
EOF
if test x$JAVAC_IS_GCJ = xyes; then
CMD="$JAVAC $JAVACFLAGS -fsource=1.5 -ftarget=1.5 $JAVA_TEST"
else
CMD="$JAVAC $JAVACFLAGS -source 1.5 -target 1.5 $JAVA_TEST"
fi
if { ac_try='$CMD'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; } >/dev/null 2>&1; then
ac_cv_prog_javac_works=yes
else
as_fn_error "The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)" "$LINENO" 5
echo "configure: failed program was:" >&5
cat $JAVA_TEST >&5
fi
rm -f $JAVA_TEST $CLASS_TEST
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_javac_works" >&5
$as_echo "$ac_cv_prog_javac_works" >&6; }
fi
JAVA_TEST=Test.java JAVA_TEST=Test.java
CLASS_TEST=Test.class CLASS_TEST=Test.class
cat << \EOF > $JAVA_TEST cat << \EOF > $JAVA_TEST
/* #line 24294 "configure" */ /* #line 24158 "configure" */
public class Test public class Test
{ {
public static void main(String args) public static void main(String args)
@ -24317,6 +24181,15 @@ $as_echo "no" >&6; }
rm -f $JAVA_TEST $CLASS_TEST rm -f $JAVA_TEST $CLASS_TEST
else
if no; then
GCJ_JAVAC_TRUE=
GCJ_JAVAC_FALSE='#'
else
GCJ_JAVAC_TRUE='#'
GCJ_JAVAC_FALSE=
fi
fi fi
@ -25127,7 +25000,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by GNU Classpath $as_me 0.98, which was This file was extended by GNU Classpath $as_me 0.99-pre, which was
generated by GNU Autoconf 2.64. Invocation command line was generated by GNU Autoconf 2.64. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -25197,7 +25070,7 @@ General help using GNU software: <http://www.gnu.org/gethelp/>."
_ACEOF _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\ ac_cs_version="\\
GNU Classpath config.status 0.98 GNU Classpath config.status 0.99-pre
configured by $0, generated by GNU Autoconf 2.64, configured by $0, generated by GNU Autoconf 2.64,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@ -27869,3 +27742,8 @@ cat ${srcdir}/lib/standard.omit.in > lib/standard.omit
if test x$use_escher != xtrue; then if test x$use_escher != xtrue; then
echo gnu/java/awt/peer/x/.*java$ >> lib/standard.omit echo gnu/java/awt/peer/x/.*java$ >> lib/standard.omit
fi fi
if test "x${COMPILE_PLUGIN}" = "xyes" ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: You have enabled the browser plugin. Please note that this is no longer maintained as part of GNU Classpath; development has moved to the IcedTea project." >&5
$as_echo "$as_me: WARNING: You have enabled the browser plugin. Please note that this is no longer maintained as part of GNU Classpath; development has moved to the IcedTea project." >&2;}
fi

View File

@ -6,8 +6,9 @@ dnl -----------------------------------------------------------
dnl define([AC_CACHE_LOAD], )dnl dnl define([AC_CACHE_LOAD], )dnl
dnl define([AC_CACHE_SAVE], )dnl dnl define([AC_CACHE_SAVE], )dnl
AC_INIT([GNU Classpath],[0.98],[classpath@gnu.org],[classpath]) AC_INIT([GNU Classpath],[0.99-pre],[classpath@gnu.org],[classpath])
AC_CONFIG_SRCDIR(java/lang/System.java) AC_CONFIG_SRCDIR(java/lang/System.java)
AC_CONFIG_MACRO_DIR([m4])
dnl GCJ LOCAL dnl GCJ LOCAL
AC_CONFIG_AUX_DIR(../..) AC_CONFIG_AUX_DIR(../..)
@ -273,7 +274,7 @@ AC_ARG_ENABLE([qt-peer],
AM_CONDITIONAL(CREATE_QT_PEER_LIBRARIES, test "x${COMPILE_QT_PEER}" = xyes) AM_CONDITIONAL(CREATE_QT_PEER_LIBRARIES, test "x${COMPILE_QT_PEER}" = xyes)
dnl ----------------------------------------------------------- dnl -----------------------------------------------------------
dnl Plugin (enabled by default) dnl Plugin (disabled by default)
dnl ----------------------------------------------------------- dnl -----------------------------------------------------------
AC_ARG_ENABLE([plugin], AC_ARG_ENABLE([plugin],
[AS_HELP_STRING(--disable-plugin,compile gcjwebplugin (disabled by --disable-plugin) [default=yes])], [AS_HELP_STRING(--disable-plugin,compile gcjwebplugin (disabled by --disable-plugin) [default=yes])],
@ -282,7 +283,7 @@ AC_ARG_ENABLE([plugin],
no) COMPILE_PLUGIN=no ;; no) COMPILE_PLUGIN=no ;;
*) COMPILE_PLUGIN=yes ;; *) COMPILE_PLUGIN=yes ;;
esac], esac],
[COMPILE_PLUGIN=yes]) [COMPILE_PLUGIN=no])
AM_CONDITIONAL(CREATE_PLUGIN, test "x${COMPILE_PLUGIN}" = xyes) AM_CONDITIONAL(CREATE_PLUGIN, test "x${COMPILE_PLUGIN}" = xyes)
dnl ----------------------------------------------------------- dnl -----------------------------------------------------------
@ -424,7 +425,7 @@ dnl -----------------------------------------------------------
dnl Initialize libtool dnl Initialize libtool
AC_DISABLE_STATIC AC_DISABLE_STATIC
AC_PROG_LIBTOOL LT_INIT
AC_PROG_AWK AC_PROG_AWK
AC_PROG_CC AC_PROG_CC
AM_PROG_CC_C_O AM_PROG_CC_C_O
@ -739,35 +740,26 @@ if test "x${COMPILE_JNI}" = xyes; then
dnl Check for MSG_NOSIGNAL dnl Check for MSG_NOSIGNAL
dnl ********************************************************************** dnl **********************************************************************
AC_MSG_CHECKING(for MSG_NOSIGNAL) AC_MSG_CHECKING(for MSG_NOSIGNAL)
AC_TRY_COMPILE([#include <sys/socket.h>], AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]], [[ int f = MSG_NOSIGNAL; ]])],[ AC_MSG_RESULT(yes)
[ int f = MSG_NOSIGNAL; ],
[ AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_MSG_NOSIGNAL, 1, AC_DEFINE(HAVE_MSG_NOSIGNAL, 1,
[Define this symbol if you have MSG_NOSIGNAL]) ], [Define this symbol if you have MSG_NOSIGNAL]) ],[ AC_MSG_RESULT(no)
[ AC_MSG_RESULT(no)] ])
)
dnl ********************************************************************** dnl **********************************************************************
dnl Check for SO_NOSIGPIPE (Darwin equivalent for MSG_NOSIGNAL) dnl Check for SO_NOSIGPIPE (Darwin equivalent for MSG_NOSIGNAL)
dnl ********************************************************************** dnl **********************************************************************
AC_MSG_CHECKING(for SO_NOSIGPIPE ) AC_MSG_CHECKING(for SO_NOSIGPIPE )
AC_TRY_COMPILE([#include <sys/socket.h>], AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]], [[ int f = SO_NOSIGPIPE; ]])],[ AC_MSG_RESULT(yes)
[ int f = SO_NOSIGPIPE; ],
[ AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_SO_NOSIGPIPE, 1, AC_DEFINE(HAVE_SO_NOSIGPIPE, 1,
[Define this symbol if you have SO_NOSIGPIPE]) ], [Define this symbol if you have SO_NOSIGPIPE]) ],[ AC_MSG_RESULT(no)
[ AC_MSG_RESULT(no)] ])
)
dnl ********************************************************************** dnl **********************************************************************
dnl Check for MSG_WAITALL dnl Check for MSG_WAITALL
dnl ********************************************************************** dnl **********************************************************************
AC_MSG_CHECKING(for MSG_WAITALL) AC_MSG_CHECKING(for MSG_WAITALL)
AC_TRY_COMPILE([#include <sys/socket.h>], AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]], [[ int f = MSG_WAITALL; ]])],[ AC_MSG_RESULT(yes)
[ int f = MSG_WAITALL; ],
[ AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_MSG_WAITALL, 1, AC_DEFINE(HAVE_MSG_WAITALL, 1,
[Define this symbol if you have MSG_WAITALL]) ], [Define this symbol if you have MSG_WAITALL]) ],[ AC_MSG_RESULT(no)
[ AC_MSG_RESULT(no)] ])
)
dnl Check for plugin support headers and libraries. dnl Check for plugin support headers and libraries.
if test "x${COMPILE_PLUGIN}" = xyes; then if test "x${COMPILE_PLUGIN}" = xyes; then
@ -835,6 +827,22 @@ if test "x${COMPILE_JNI}" = xyes; then
fi fi
if test "x${COMPILE_GMP}" = xyes; then if test "x${COMPILE_GMP}" = xyes; then
AC_MSG_CHECKING([for GMP directories])
if test "x$with_gmp" != x; then
gmplibs="-L$with_gmp/lib -lgmp"
gmpinc="-I$with_gmp/include"
if test "x$with_gmp_include" != x; then
gmpinc="-I$with_gmp_include $gmpinc"
fi
if test "x$with_gmp_lib" != x; then
gmplibs="-L$with_gmp_lib $gmplibs"
fi
else
with_gmp="/usr"
gmplibs="-lgmp"
gmpinc="-I/usr/include"
fi
AC_MSG_RESULT([prefix=$with_gmp, libs=$gmplibs, inc=$gmpinc])
AC_CHECK_LIB(gmp, __gmpz_mul_si, AC_CHECK_LIB(gmp, __gmpz_mul_si,
[GMP_CFLAGS="$gmpinc" [GMP_CFLAGS="$gmpinc"
GMP_LIBS="$gmplibs" ], GMP_LIBS="$gmplibs" ],
@ -1044,7 +1052,7 @@ AC_SUBST(PATH_TO_GLIBJ_ZIP)
if test "x${TOOLSDIR}" != x; then if test "x${TOOLSDIR}" != x; then
dnl GCJ LOCAL dnl GCJ LOCAL
if test "x${COMPILE_WRAPPERS}" = xno && test "x${enable_java_maintainer_mode}" = xyes; then if test "x${COMPILE_WRAPPERS}" = xno && test "x${enable_java_maintainer_mode}" = xyes; then
AC_PROG_JAVA AC_PROG_JAVA_WORKS
fi fi
dnl END GCJ LOCAL dnl END GCJ LOCAL
if test "x${COMPILE_GJDOC}" = xyes; then if test "x${COMPILE_GJDOC}" = xyes; then
@ -1063,9 +1071,12 @@ fi
if test "x${use_glibj_zip}" = xfalse || \ if test "x${use_glibj_zip}" = xfalse || \
test "x${EXAMPLESDIR}" != x || \ test "x${EXAMPLESDIR}" != x || \
test "x${TOOLSDIR}" != x && \ test "x${TOOLSDIR}" != x && \
test "x${build_class_files}" != xno; then test "x${build_class_files}" != xno && \
AC_PROG_JAVAC test "${enable_java_maintainer_mode}" = yes; then dnl GCJ_LOCAL
AC_PROG_JAVAC_WORKS
CLASSPATH_JAVAC_MEM_CHECK CLASSPATH_JAVAC_MEM_CHECK
else
AM_CONDITIONAL(GCJ_JAVAC, no)
fi fi
dnl ----------------------------------------------------------- dnl -----------------------------------------------------------
@ -1232,3 +1243,7 @@ cat ${srcdir}/lib/standard.omit.in > lib/standard.omit
if test x$use_escher != xtrue; then if test x$use_escher != xtrue; then
echo gnu/java/awt/peer/x/.*java$ >> lib/standard.omit echo gnu/java/awt/peer/x/.*java$ >> lib/standard.omit
fi fi
if test "x${COMPILE_PLUGIN}" = "xyes" ; then
AC_MSG_WARN([You have enabled the browser plugin. Please note that this is no longer maintained as part of GNU Classpath; development has moved to the IcedTea project.])
fi

View File

@ -1,10 +1,10 @@
#! /bin/sh #! /bin/sh
# depcomp - compile a program generating dependencies as side-effects # depcomp - compile a program generating dependencies as side-effects
scriptversion=2007-03-29.01 scriptversion=2009-04-28.21; # UTC
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
# Foundation, Inc. # Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -17,9 +17,7 @@ scriptversion=2007-03-29.01
# GNU General Public License for more details. # GNU General Public License for more details.
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software # along with this program. If not, see <http://www.gnu.org/licenses/>.
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
@ -87,6 +85,15 @@ if test "$depmode" = dashXmstdout; then
depmode=dashmstdout depmode=dashmstdout
fi fi
cygpath_u="cygpath -u -f -"
if test "$depmode" = msvcmsys; then
# This is just like msvisualcpp but w/o cygpath translation.
# Just convert the backslash-escaped backslashes to single forward
# slashes to satisfy depend.m4
cygpath_u="sed s,\\\\\\\\,/,g"
depmode=msvisualcpp
fi
case "$depmode" in case "$depmode" in
gcc3) gcc3)
## gcc 3 implements dependency tracking that does exactly what ## gcc 3 implements dependency tracking that does exactly what
@ -192,14 +199,14 @@ sgi)
' < "$tmpdepfile" \ ' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr ' tr '
' ' ' >> $depfile ' ' ' >> "$depfile"
echo >> $depfile echo >> "$depfile"
# The second pass generates a dummy entry for each header file. # The second pass generates a dummy entry for each header file.
tr ' ' ' tr ' ' '
' < "$tmpdepfile" \ ' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> $depfile >> "$depfile"
else else
# The sourcefile does not contain any dependencies, so just # The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile # store a dummy comment line, to avoid errors with the Makefile
@ -328,7 +335,12 @@ hp2)
if test -f "$tmpdepfile"; then if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
# Add `dependent.h:' lines. # Add `dependent.h:' lines.
sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" sed -ne '2,${
s/^ *//
s/ \\*$//
s/$/:/
p
}' "$tmpdepfile" >> "$depfile"
else else
echo "#dummy" > "$depfile" echo "#dummy" > "$depfile"
fi fi
@ -404,7 +416,7 @@ dashmstdout)
# Remove the call to Libtool. # Remove the call to Libtool.
if test "$libtool" = yes; then if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do while test "X$1" != 'X--mode=compile'; do
shift shift
done done
shift shift
@ -455,32 +467,39 @@ makedepend)
"$@" || exit $? "$@" || exit $?
# Remove any Libtool call # Remove any Libtool call
if test "$libtool" = yes; then if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do while test "X$1" != 'X--mode=compile'; do
shift shift
done done
shift shift
fi fi
# X makedepend # X makedepend
shift shift
cleared=no cleared=no eat=no
for arg in "$@"; do for arg
do
case $cleared in case $cleared in
no) no)
set ""; shift set ""; shift
cleared=yes ;; cleared=yes ;;
esac esac
if test $eat = yes; then
eat=no
continue
fi
case "$arg" in case "$arg" in
-D*|-I*) -D*|-I*)
set fnord "$@" "$arg"; shift ;; set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove # Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file. # the object too, otherwise makedepend will parse it as a source file.
-arch)
eat=yes ;;
-*|$object) -*|$object)
;; ;;
*) *)
set fnord "$@" "$arg"; shift ;; set fnord "$@" "$arg"; shift ;;
esac esac
done done
obj_suffix="`echo $object | sed 's/^.*\././'`" obj_suffix=`echo "$object" | sed 's/^.*\././'`
touch "$tmpdepfile" touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile" rm -f "$depfile"
@ -500,7 +519,7 @@ cpp)
# Remove the call to Libtool. # Remove the call to Libtool.
if test "$libtool" = yes; then if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do while test "X$1" != 'X--mode=compile'; do
shift shift
done done
shift shift
@ -538,13 +557,27 @@ cpp)
msvisualcpp) msvisualcpp)
# Important note: in order to support this mode, a compiler *must* # Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o, # always write the preprocessed file to stdout.
# because we must use -o when running libtool.
"$@" || exit $? "$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
IFS=" " IFS=" "
for arg for arg
do do
case "$arg" in case "$arg" in
-o)
shift
;;
$object)
shift
;;
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@" set fnord "$@"
shift shift
@ -557,16 +590,23 @@ msvisualcpp)
;; ;;
esac esac
done done
"$@" -E | "$@" -E 2>/dev/null |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rm -f "$depfile" rm -f "$depfile"
echo "$object : \\" > "$depfile" echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile" echo " " >> "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile" rm -f "$tmpdepfile"
;; ;;
msvcmsys)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
none) none)
exec "$@" exec "$@"
;; ;;
@ -585,5 +625,6 @@ exit 0
# eval: (add-hook 'write-file-hooks 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$" # time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End: # End:

View File

@ -39,6 +39,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in texinfo.tex
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/lib-ld.m4 \
$(top_srcdir)/../../config/lib-link.m4 \
$(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \ $(top_srcdir)/../../config/override.m4 \
@ -57,9 +60,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs

View File

@ -40,6 +40,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/lib-ld.m4 \
$(top_srcdir)/../../config/lib-link.m4 \
$(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \ $(top_srcdir)/../../config/override.m4 \
@ -58,9 +61,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs

View File

@ -11,7 +11,7 @@
This file contains important information you will need to know if you This file contains important information you will need to know if you
are going to hack on the GNU Classpath project code. are going to hack on the GNU Classpath project code.
Copyright (C) 1998,1999,2000,2001,2002,2003,2004,2005,2007 Free Software Foundation, Inc. Copyright (C) 1998,1999,2000,2001,2002,2003,2004,2005,2007,2009 Free Software Foundation, Inc.
@ifnotplaintext @ifnotplaintext
@dircategory GNU Libraries @dircategory GNU Libraries

File diff suppressed because it is too large Load Diff

View File

@ -41,6 +41,9 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/lib-ld.m4 \
$(top_srcdir)/../../config/lib-link.m4 \
$(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \ $(top_srcdir)/../../config/override.m4 \
@ -59,9 +62,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs

View File

@ -39,6 +39,9 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/lib-ld.m4 \
$(top_srcdir)/../../config/lib-link.m4 \
$(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \ $(top_srcdir)/../../config/override.m4 \
@ -57,9 +60,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs

View File

@ -39,6 +39,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/lib-ld.m4 \
$(top_srcdir)/../../config/lib-link.m4 \
$(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \ $(top_srcdir)/../../config/override.m4 \
@ -57,9 +60,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs

View File

@ -39,6 +39,9 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/lib-ld.m4 \
$(top_srcdir)/../../config/lib-link.m4 \
$(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \ $(top_srcdir)/../../config/override.m4 \
@ -57,9 +60,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs

View File

@ -39,6 +39,9 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/lib-ld.m4 \
$(top_srcdir)/../../config/lib-link.m4 \
$(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \ $(top_srcdir)/../../config/override.m4 \
@ -57,9 +60,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs

View File

@ -39,6 +39,9 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \ $(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/lib-ld.m4 \
$(top_srcdir)/../../config/lib-link.m4 \
$(top_srcdir)/../../config/lib-prefix.m4 \
$(top_srcdir)/../../config/multi.m4 \ $(top_srcdir)/../../config/multi.m4 \
$(top_srcdir)/../../config/no-executables.m4 \ $(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../config/override.m4 \ $(top_srcdir)/../../config/override.m4 \
@ -57,9 +60,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \ $(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs

View File

@ -1,4 +1,4 @@
/* CupsIppOperation.java -- /* CupsIppOperation.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -45,55 +45,55 @@ package gnu.javax.print;
* See: CUPS Implementation of IPP, chapter 3.2<br> * See: CUPS Implementation of IPP, chapter 3.2<br>
* http://www.cups.org/doc-1.1/ipp.html * http://www.cups.org/doc-1.1/ipp.html
* </p> * </p>
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class CupsIppOperation public final class CupsIppOperation
{ {
/** Get the default destination - since CUPS 1.0 */ /** Get the default destination - since CUPS 1.0 */
public static final int CUPS_GET_DEFAULT = 0x4001; public static final int CUPS_GET_DEFAULT = 0x4001;
/** Get all of the available printers - since CUPS 1.0 */ /** Get all of the available printers - since CUPS 1.0 */
public static final int CUPS_GET_PRINTERS = 0x4002; public static final int CUPS_GET_PRINTERS = 0x4002;
/** Add or modify a printer - since CUPS 1.0 */ /** Add or modify a printer - since CUPS 1.0 */
public static final int CUPS_ADD_MODIFY_PRINTER = 0x4003; public static final int CUPS_ADD_MODIFY_PRINTER = 0x4003;
/** Delete a printer - since CUPS 1.0 */ /** Delete a printer - since CUPS 1.0 */
public static final int CUPS_DELETE_PRINTER = 0x4004; public static final int CUPS_DELETE_PRINTER = 0x4004;
/** Get all of the available printer classes - since CUPS 1.0 */ /** Get all of the available printer classes - since CUPS 1.0 */
public static final int CUPS_GET_CLASSES = 0x4005; public static final int CUPS_GET_CLASSES = 0x4005;
/** Add or modify a printer class - since CUPS 1.0 */ /** Add or modify a printer class - since CUPS 1.0 */
public static final int CUPS_ADD_MODIFY_CLASS = 0x4006; public static final int CUPS_ADD_MODIFY_CLASS = 0x4006;
/** Delete a printer class - since CUPS 1.0 */ /** Delete a printer class - since CUPS 1.0 */
public static final int CUPS_DELETE_CLASS = 0x4007; public static final int CUPS_DELETE_CLASS = 0x4007;
/** Accept jobs on a printer or printer class - since CUPS 1.0 */ /** Accept jobs on a printer or printer class - since CUPS 1.0 */
public static final int CUPS_ACCEPT_JOBS = 0x4008; public static final int CUPS_ACCEPT_JOBS = 0x4008;
/** Reject jobs on a printer or printer class - since CUPS 1.0 */ /** Reject jobs on a printer or printer class - since CUPS 1.0 */
public static final int CUPS_REJECT_JOBS = 0x4009; public static final int CUPS_REJECT_JOBS = 0x4009;
/** Set the default destination - since CUPS 1.0 */ /** Set the default destination - since CUPS 1.0 */
public static final int CUPS_SET_DEFAULT = 0x400A; public static final int CUPS_SET_DEFAULT = 0x400A;
/** Get all of the available PPDs - since CUPS 1.1 */ /** Get all of the available PPDs - since CUPS 1.1 */
public static final int CUPS_GET_DEVICES = 0x400B; public static final int CUPS_GET_DEVICES = 0x400B;
/** Get all of the available PPDs - since CUPS 1.1 */ /** Get all of the available PPDs - since CUPS 1.1 */
public static final int CUPS_GET_PPDS = 0x400C; public static final int CUPS_GET_PPDS = 0x400C;
/** Move a job to a different printer - since CUPS 1.1 */ /** Move a job to a different printer - since CUPS 1.1 */
public static final int CUPS_MOVE_JOB = 0x400D; public static final int CUPS_MOVE_JOB = 0x400D;
private CupsIppOperation() private CupsIppOperation()
{ {
// not to be instantiated // not to be instantiated
} }
} }

View File

@ -1,4 +1,4 @@
/* CupsMediaMapping.java -- /* CupsMediaMapping.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -52,12 +52,12 @@ import javax.print.attribute.standard.MediaSizeName;
* for use of media attribute translation between Java JPS API and * for use of media attribute translation between Java JPS API and
* CUPS. * CUPS.
* </p> * </p>
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public class CupsMediaMapping public class CupsMediaMapping
{ {
// the mapping map // the mapping map
private static final HashMap ippByCups = new HashMap(); private static final HashMap ippByCups = new HashMap();
/** /**
@ -67,11 +67,11 @@ public class CupsMediaMapping
{ {
ippByCups.put("Postcard", MediaSizeName.JAPANESE_POSTCARD); ippByCups.put("Postcard", MediaSizeName.JAPANESE_POSTCARD);
ippByCups.put("Statement", MediaSizeName.INVOICE); ippByCups.put("Statement", MediaSizeName.INVOICE);
ippByCups.put("Letter", MediaSizeName.NA_LETTER); ippByCups.put("Letter", MediaSizeName.NA_LETTER);
ippByCups.put("Executive", MediaSizeName.EXECUTIVE); ippByCups.put("Executive", MediaSizeName.EXECUTIVE);
ippByCups.put("Legal", MediaSizeName.NA_LEGAL); ippByCups.put("Legal", MediaSizeName.NA_LEGAL);
ippByCups.put("A0", MediaSizeName.ISO_A0); ippByCups.put("A0", MediaSizeName.ISO_A0);
ippByCups.put("A1", MediaSizeName.ISO_A1); ippByCups.put("A1", MediaSizeName.ISO_A1);
ippByCups.put("A2", MediaSizeName.ISO_A2); ippByCups.put("A2", MediaSizeName.ISO_A2);
@ -83,7 +83,7 @@ public class CupsMediaMapping
ippByCups.put("A8", MediaSizeName.ISO_A8); ippByCups.put("A8", MediaSizeName.ISO_A8);
ippByCups.put("A9", MediaSizeName.ISO_A9); ippByCups.put("A9", MediaSizeName.ISO_A9);
ippByCups.put("A10", MediaSizeName.ISO_A10); ippByCups.put("A10", MediaSizeName.ISO_A10);
ippByCups.put("B0", MediaSizeName.JIS_B0); ippByCups.put("B0", MediaSizeName.JIS_B0);
ippByCups.put("B1", MediaSizeName.JIS_B1); ippByCups.put("B1", MediaSizeName.JIS_B1);
ippByCups.put("B2", MediaSizeName.JIS_B2); ippByCups.put("B2", MediaSizeName.JIS_B2);
@ -95,7 +95,7 @@ public class CupsMediaMapping
ippByCups.put("B8", MediaSizeName.JIS_B8); ippByCups.put("B8", MediaSizeName.JIS_B8);
ippByCups.put("B9", MediaSizeName.JIS_B9); ippByCups.put("B9", MediaSizeName.JIS_B9);
ippByCups.put("B10", MediaSizeName.JIS_B10); ippByCups.put("B10", MediaSizeName.JIS_B10);
ippByCups.put("ISOB0", MediaSizeName.ISO_B0); ippByCups.put("ISOB0", MediaSizeName.ISO_B0);
ippByCups.put("ISOB1", MediaSizeName.ISO_B1); ippByCups.put("ISOB1", MediaSizeName.ISO_B1);
ippByCups.put("ISOB2", MediaSizeName.ISO_B2); ippByCups.put("ISOB2", MediaSizeName.ISO_B2);
@ -118,7 +118,7 @@ public class CupsMediaMapping
ippByCups.put("EnvISOB8", MediaSizeName.ISO_B8); ippByCups.put("EnvISOB8", MediaSizeName.ISO_B8);
ippByCups.put("EnvISOB9", MediaSizeName.ISO_B9); ippByCups.put("EnvISOB9", MediaSizeName.ISO_B9);
ippByCups.put("EnvISOB10", MediaSizeName.ISO_B10); ippByCups.put("EnvISOB10", MediaSizeName.ISO_B10);
ippByCups.put("C0", MediaSizeName.ISO_C0); ippByCups.put("C0", MediaSizeName.ISO_C0);
ippByCups.put("C1", MediaSizeName.ISO_C1); ippByCups.put("C1", MediaSizeName.ISO_C1);
ippByCups.put("C2", MediaSizeName.ISO_C2); ippByCups.put("C2", MediaSizeName.ISO_C2);
@ -136,7 +136,7 @@ public class CupsMediaMapping
ippByCups.put("Env12", MediaSizeName.NA_NUMBER_12_ENVELOPE); ippByCups.put("Env12", MediaSizeName.NA_NUMBER_12_ENVELOPE);
ippByCups.put("Env14", MediaSizeName.NA_NUMBER_14_ENVELOPE); ippByCups.put("Env14", MediaSizeName.NA_NUMBER_14_ENVELOPE);
ippByCups.put("c8x10", MediaSizeName.NA_8X10); ippByCups.put("c8x10", MediaSizeName.NA_8X10);
ippByCups.put("EnvDL", MediaSizeName.ISO_DESIGNATED_LONG); ippByCups.put("EnvDL", MediaSizeName.ISO_DESIGNATED_LONG);
ippByCups.put("DL", MediaSizeName.ISO_DESIGNATED_LONG); ippByCups.put("DL", MediaSizeName.ISO_DESIGNATED_LONG);
ippByCups.put("EnvC0", MediaSizeName.ISO_C0); ippByCups.put("EnvC0", MediaSizeName.ISO_C0);
@ -145,12 +145,12 @@ public class CupsMediaMapping
ippByCups.put("EnvC3", MediaSizeName.ISO_C3); ippByCups.put("EnvC3", MediaSizeName.ISO_C3);
ippByCups.put("EnvC4", MediaSizeName.ISO_C4); ippByCups.put("EnvC4", MediaSizeName.ISO_C4);
ippByCups.put("EnvC5", MediaSizeName.ISO_C5); ippByCups.put("EnvC5", MediaSizeName.ISO_C5);
ippByCups.put("EnvC6", MediaSizeName.ISO_C6); ippByCups.put("EnvC6", MediaSizeName.ISO_C6);
} }
/** /**
* Returns the IPP media name of the given cups name. * Returns the IPP media name of the given cups name.
* *
* @param cupsName the name in cups * @param cupsName the name in cups
* @return The IPP name if a mapping is known, <code>null</code> otherwise. * @return The IPP name if a mapping is known, <code>null</code> otherwise.
*/ */
@ -158,10 +158,10 @@ public class CupsMediaMapping
{ {
return (String) ippByCups.get(cupsName); return (String) ippByCups.get(cupsName);
} }
/** /**
* Returns the mapping map for iteration. * Returns the mapping map for iteration.
* *
* @return The mapping map as unmodifiable map. * @return The mapping map as unmodifiable map.
*/ */
public static final Map getMappingMap() public static final Map getMappingMap()
@ -169,7 +169,7 @@ public class CupsMediaMapping
return Collections.unmodifiableMap(ippByCups); return Collections.unmodifiableMap(ippByCups);
} }
private CupsMediaMapping() private CupsMediaMapping()
{ {
// not to be instantiated // not to be instantiated
} }

View File

@ -48,9 +48,9 @@ import javax.print.DocFlavor;
import javax.print.attribute.AttributeSet; import javax.print.attribute.AttributeSet;
/** /**
* Implementation of the PrintService/MultiDocPrintService * Implementation of the PrintService/MultiDocPrintService
* interface for Cups printers (supports Cups 1.1 and up) * interface for Cups printers (supports Cups 1.1 and up)
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class CupsPrintService extends IppMultiDocPrintService public final class CupsPrintService extends IppMultiDocPrintService
@ -58,26 +58,26 @@ public final class CupsPrintService extends IppMultiDocPrintService
/** /**
* Creates a <code>CupsPrintService</code> object. * Creates a <code>CupsPrintService</code> object.
* *
* @param uri the URI of the IPP printer. * @param uri the URI of the IPP printer.
* @param username the user of this print service. * @param username the user of this print service.
* @param password the password of the user. * @param password the password of the user.
* *
* @throws IppException if an error during connection occurs. * @throws IppException if an error during connection occurs.
*/ */
public CupsPrintService(URI uri, String username, String password) public CupsPrintService(URI uri, String username, String password)
throws IppException throws IppException
{ {
super(uri, username, password); super(uri, username, password);
} }
/** /**
* Overridden for CUPS specific handling of the media attribute. * Overridden for CUPS specific handling of the media attribute.
*/ */
protected Object handleSupportedAttributeValuesResponse(IppResponse response, protected Object handleSupportedAttributeValuesResponse(IppResponse response,
Class category) Class category)
{ {
// TODO Implement different behaviour of cups here - actually the Media // TODO Implement different behaviour of cups here - actually the Media
// printing attribute stuff. For now just use IPP reference implementation. // printing attribute stuff. For now just use IPP reference implementation.
return super.handleSupportedAttributeValuesResponse(response, category); return super.handleSupportedAttributeValuesResponse(response, category);
} }
@ -89,7 +89,7 @@ public final class CupsPrintService extends IppMultiDocPrintService
{ {
// TODO Implement media attribute behaviour for cups here // TODO Implement media attribute behaviour for cups here
//if (category.equals(Media.class) //if (category.equals(Media.class)
return super.getDefaultAttributeValue(category); return super.getDefaultAttributeValue(category);
} }

View File

@ -51,12 +51,12 @@ import javax.print.attribute.AttributeSet;
/** /**
* The platform default implementation based on CUPS. * The platform default implementation based on CUPS.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public class CupsPrintServiceLookup extends PrintServiceLookup public class CupsPrintServiceLookup extends PrintServiceLookup
{ {
private CupsServer server; private CupsServer server;
/** /**
* Default constructor checking security access. * Default constructor checking security access.
@ -67,14 +67,14 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
SecurityManager sm = System.getSecurityManager(); SecurityManager sm = System.getSecurityManager();
if (sm != null) if (sm != null)
sm.checkPrintJobAccess(); sm.checkPrintJobAccess();
// use the localhost cups server // use the localhost cups server
server = new CupsServer(null, null); server = new CupsServer(null, null);
} }
/** /**
* This is the printer marked as default in CUPS. * This is the printer marked as default in CUPS.
* *
* @return The default lookup service or * @return The default lookup service or
* <code>null</code> if there is no default. * <code>null</code> if there is no default.
*/ */
@ -83,21 +83,21 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
try try
{ {
return server.getDefaultPrinter(); return server.getDefaultPrinter();
} }
catch (IppException e) catch (IppException e)
{ {
// if discovery fails treat as if there is none // if discovery fails treat as if there is none
return null; return null;
} }
} }
/** /**
* All printers and printer classes of the CUPS server are checked. * All printers and printer classes of the CUPS server are checked.
* If flavors or attributes are null the constraint is not used. * If flavors or attributes are null the constraint is not used.
* *
* @param flavors the document flavors which have to be supported. * @param flavors the document flavors which have to be supported.
* @param attributes the attributes which have to be supported. * @param attributes the attributes which have to be supported.
* *
* @return The multidoc print services of the implementing lookup service * @return The multidoc print services of the implementing lookup service
* for the given parameters, or an array of length 0 if none is available. * for the given parameters, or an array of length 0 if none is available.
*/ */
@ -105,49 +105,49 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
AttributeSet attributes) AttributeSet attributes)
{ {
ArrayList result = new ArrayList(); ArrayList result = new ArrayList();
PrintService[] services = getPrintServices(); PrintService[] services = getPrintServices();
for (int i=0; i < services.length; i++) for (int i=0; i < services.length; i++)
{ {
if (checkMultiDocPrintService(flavors, attributes, services[i])) if (checkMultiDocPrintService(flavors, attributes, services[i]))
result.add(services[i]); result.add(services[i]);
} }
return (MultiDocPrintService[]) result.toArray( return (MultiDocPrintService[]) result.toArray(
new MultiDocPrintService[result.size()]); new MultiDocPrintService[result.size()]);
} }
/** /**
* These are all printers and printer classes of the CUPS server. * These are all printers and printer classes of the CUPS server.
* *
* @return All known print services regardless of supported features, * @return All known print services regardless of supported features,
* or an array of length 0 if none is available. * or an array of length 0 if none is available.
*/ */
public PrintService[] getPrintServices() public PrintService[] getPrintServices()
{ {
ArrayList result = new ArrayList(); ArrayList result = new ArrayList();
try try
{ {
result.addAll(server.getAllPrinters()); result.addAll(server.getAllPrinters());
result.addAll(server.getAllClasses()); result.addAll(server.getAllClasses());
} }
catch (IppException e) catch (IppException e)
{ {
// ignore as this method cannot throw exceptions // ignore as this method cannot throw exceptions
// if print service discovery fails - bad luck // if print service discovery fails - bad luck
} }
return (PrintService[]) result.toArray(new PrintService[result.size()]); return (PrintService[]) result.toArray(new PrintService[result.size()]);
} }
/** /**
* All printers and printer classes of the CUPS server are checked. * All printers and printer classes of the CUPS server are checked.
* If flavor or attributes are null the constraint is not used. * If flavor or attributes are null the constraint is not used.
* *
* @param flavor the document flavor which has to be supported. * @param flavor the document flavor which has to be supported.
* @param attributes the attributes which have to be supported. * @param attributes the attributes which have to be supported.
* *
* @return The print services of the implementing lookup service * @return The print services of the implementing lookup service
* for the given parameters, or an array of length 0 if none is available. * for the given parameters, or an array of length 0 if none is available.
*/ */
@ -156,25 +156,25 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
{ {
ArrayList result = new ArrayList(); ArrayList result = new ArrayList();
PrintService[] services = getPrintServices(); PrintService[] services = getPrintServices();
for (int i=0; i < services.length; i++) for (int i=0; i < services.length; i++)
{ {
if (checkPrintService(flavor, attributes, services[i])) if (checkPrintService(flavor, attributes, services[i]))
result.add(services[i]); result.add(services[i]);
} }
return (PrintService[]) result.toArray(new PrintService[result.size()]); return (PrintService[]) result.toArray(new PrintService[result.size()]);
} }
/** /**
* Checks the given print service - own method so it can be used also * Checks the given print service - own method so it can be used also
* to check application registered print services from PrintServiceLookup. * to check application registered print services from PrintServiceLookup.
* *
* @param flavor the document flavor which has to be supported. * @param flavor the document flavor which has to be supported.
* @param attributes the attributes which have to be supported. * @param attributes the attributes which have to be supported.
* @param service the service to check * @param service the service to check
* *
* @return <code>true</code> if all constraints match, <code>false</code> * @return <code>true</code> if all constraints match, <code>false</code>
* otherwise. * otherwise.
*/ */
public boolean checkPrintService(DocFlavor flavor, AttributeSet attributes, public boolean checkPrintService(DocFlavor flavor, AttributeSet attributes,
@ -185,7 +185,7 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
{ {
if (attributes == null || attributes.size() == 0) if (attributes == null || attributes.size() == 0)
return allAttributesSupported; return allAttributesSupported;
Attribute[] atts = attributes.toArray(); Attribute[] atts = attributes.toArray();
for (int i = 0; i < atts.length; i++) for (int i = 0; i < atts.length; i++)
{ {
@ -197,29 +197,29 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
} }
return allAttributesSupported; return allAttributesSupported;
} }
return false; return false;
} }
/** /**
* Checks the given print service - own method so it can be used also * Checks the given print service - own method so it can be used also
* to check application registered print services from PrintServiceLookup. * to check application registered print services from PrintServiceLookup.
* *
* @param flavors the document flavors which have to be supported. * @param flavors the document flavors which have to be supported.
* @param attributes the attributes which have to be supported. * @param attributes the attributes which have to be supported.
* @param service the service to check * @param service the service to check
* *
* @return <code>true</code> if all constraints match, <code>false</code> * @return <code>true</code> if all constraints match, <code>false</code>
* otherwise. * otherwise.
*/ */
public boolean checkMultiDocPrintService(DocFlavor[] flavors, public boolean checkMultiDocPrintService(DocFlavor[] flavors,
AttributeSet attributes, PrintService service) AttributeSet attributes, PrintService service)
{ {
if (service instanceof MultiDocPrintService) if (service instanceof MultiDocPrintService)
{ {
boolean allFlavorsSupported = true; boolean allFlavorsSupported = true;
boolean allAttributesSupported = true; boolean allAttributesSupported = true;
if (flavors == null || flavors.length != 0) if (flavors == null || flavors.length != 0)
allFlavorsSupported = true; allFlavorsSupported = true;
else else
@ -233,7 +233,7 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
} }
} }
} }
if (attributes == null || attributes.size() == 0) if (attributes == null || attributes.size() == 0)
allAttributesSupported = true; allAttributesSupported = true;
else else
@ -249,11 +249,11 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
} }
} }
} }
if (allAttributesSupported && allFlavorsSupported) if (allAttributesSupported && allFlavorsSupported)
return true; return true;
} }
return false; return false;
} }

View File

@ -1,4 +1,4 @@
/* CupsServer.java -- /* CupsServer.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -58,25 +58,25 @@ import java.util.Set;
* compatible server. It mainly consists of its URI and optional * compatible server. It mainly consists of its URI and optional
* user and password combination if access is restricted. * user and password combination if access is restricted.
* <p> * <p>
* It provides methods for retrival of valid CUPS printer uris * It provides methods for retrival of valid CUPS printer uris
* that are used to construct IppPrintService objects. * that are used to construct IppPrintService objects.
* </p> * </p>
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public class CupsServer public class CupsServer
{ {
/** /**
* The URI of the CUPS server. * The URI of the CUPS server.
* This is something like: http://localhost:631 * This is something like: http://localhost:631
*/ */
private transient URI uri; private transient URI uri;
/** /**
* The optional username. * The optional username.
*/ */
private transient String username; private transient String username;
/** /**
* The optional password for the user. * The optional password for the user.
*/ */
@ -84,11 +84,11 @@ public class CupsServer
/** /**
* Creates a <code>CupsServer</code> object which * Creates a <code>CupsServer</code> object which
* tries to connect to a cups server. * tries to connect to a cups server.
* *
* If <code>gnu.javax.print.server</code> is explicitly set, then * If <code>gnu.javax.print.server</code> is explicitly set, then
* that hostname will be used. Otherwise it will default to localhost. * that hostname will be used. Otherwise it will default to localhost.
* *
* @param username the username * @param username the username
* @param password the password for the username. * @param password the password for the username.
*/ */
@ -100,13 +100,13 @@ public class CupsServer
this.uri = null; this.uri = null;
try try
{ {
String serv = System.getProperty("gnu.javax.print.server"); String serv = System.getProperty("gnu.javax.print.server");
if( serv != null ) if( serv != null )
this.uri = new URI("http://"+serv+":631"); this.uri = new URI("http://"+serv+":631");
} }
catch(URISyntaxException use) catch(URISyntaxException use)
{ {
throw new RuntimeException("gnu.javax.print.CupsServer value is not a valid hostname."); throw new RuntimeException("gnu.javax.print.CupsServer value is not a valid hostname.");
} }
catch(SecurityException se) catch(SecurityException se)
{ {
@ -114,20 +114,20 @@ public class CupsServer
try try
{ {
if( this.uri == null ) if( this.uri == null )
this.uri = new URI("http://localhost:631"); this.uri = new URI("http://localhost:631");
} }
catch (URISyntaxException e) catch (URISyntaxException e)
{ {
// does not happen // does not happen
} }
} }
/** /**
* Creates a <code>CupsServer</code> object which * Creates a <code>CupsServer</code> object which
* tries to connect to a running cups server on the * tries to connect to a running cups server on the
* given URI. * given URI.
* *
* @param uri the URI of the server. * @param uri the URI of the server.
* @param username the username * @param username the username
* @param password the password for the username. * @param password the password for the username.
@ -138,75 +138,75 @@ public class CupsServer
this.username = username; this.username = username;
this.password = password; this.password = password;
} }
/** /**
* Requests the default printer from this CUPS server. * Requests the default printer from this CUPS server.
* This is always returned as IppPrintService. * This is always returned as IppPrintService.
* *
* @return The default printer. * @return The default printer.
* @throws IppException if problems during request/response processing occur. * @throws IppException if problems during request/response processing occur.
*/ */
public IppPrintService getDefaultPrinter() throws IppException public IppPrintService getDefaultPrinter() throws IppException
{ {
IppResponse response = null; IppResponse response = null;
try try
{ {
IppRequest request = new IppRequest(uri, username, password); IppRequest request = new IppRequest(uri, username, password);
request.setOperationID((short)CupsIppOperation.CUPS_GET_DEFAULT); request.setOperationID((short)CupsIppOperation.CUPS_GET_DEFAULT);
request.setOperationAttributeDefaults(); request.setOperationAttributeDefaults();
RequestedAttributes requestedAttrs RequestedAttributes requestedAttrs
= new RequestedAttributes("printer-uri-supported"); = new RequestedAttributes("printer-uri-supported");
request.addOperationAttribute(requestedAttrs); request.addOperationAttribute(requestedAttrs);
response = request.send(); response = request.send();
} }
catch (IOException e) catch (IOException e)
{ {
throw new IppException("IOException in IPP request/response.", e); throw new IppException("IOException in IPP request/response.", e);
} }
Map printerAttributes = (Map) response.getPrinterAttributes().get(0); Map printerAttributes = (Map) response.getPrinterAttributes().get(0);
Set uris = (Set) printerAttributes.get(PrinterUriSupported.class); Set uris = (Set) printerAttributes.get(PrinterUriSupported.class);
PrinterUriSupported uri = (PrinterUriSupported) uris.toArray()[0]; PrinterUriSupported uri = (PrinterUriSupported) uris.toArray()[0];
IppPrintService service IppPrintService service
= new CupsPrintService(uri.getURI(), username, password); = new CupsPrintService(uri.getURI(), username, password);
return service; return service;
} }
/** /**
* Requests all printers from this CUPS server. * Requests all printers from this CUPS server.
* *
* @return The list of available printers. * @return The list of available printers.
* @throws IppException if problems during request/response processing occur. * @throws IppException if problems during request/response processing occur.
*/ */
public List getAllPrinters() throws IppException public List getAllPrinters() throws IppException
{ {
IppResponse response = null; IppResponse response = null;
try try
{ {
IppRequest request = new IppRequest(uri, username, password); IppRequest request = new IppRequest(uri, username, password);
request.setOperationID((short)CupsIppOperation.CUPS_GET_PRINTERS); request.setOperationID((short)CupsIppOperation.CUPS_GET_PRINTERS);
request.setOperationAttributeDefaults(); request.setOperationAttributeDefaults();
RequestedAttributes requestedAttrs RequestedAttributes requestedAttrs
= new RequestedAttributes("printer-uri-supported"); = new RequestedAttributes("printer-uri-supported");
request.addOperationAttribute(requestedAttrs); request.addOperationAttribute(requestedAttrs);
response = request.send(); response = request.send();
} }
catch (IOException e) catch (IOException e)
{ {
throw new IppException("IOException in IPP request/response.", e); throw new IppException("IOException in IPP request/response.", e);
} }
List prAttr = response.getPrinterAttributes(); List prAttr = response.getPrinterAttributes();
List services = new ArrayList(); List services = new ArrayList();
for (int i=0; i < prAttr.size(); i++) for (int i=0; i < prAttr.size(); i++)
{ {
Map printerAttributes = (Map) prAttr.get(i); Map printerAttributes = (Map) prAttr.get(i);
@ -224,50 +224,50 @@ public class CupsServer
// do nothing, we only catch the IppException which could be // do nothing, we only catch the IppException which could be
// thrown during instantiation as single printers may be discovered // thrown during instantiation as single printers may be discovered
// correctly but not usable due to other security restrictions // correctly but not usable due to other security restrictions
} }
} }
return services; return services;
} }
/** /**
* Requests all classes from this CUPS server. Classes in cups are * Requests all classes from this CUPS server. Classes in cups are
* collections of printers. This means jobs directed to a class * collections of printers. This means jobs directed to a class
* are forwarded to the first available printer of the collection. * are forwarded to the first available printer of the collection.
* *
* @return The list of available classes. * @return The list of available classes.
* @throws IppException if problems during request/response processing occur. * @throws IppException if problems during request/response processing occur.
*/ */
public List getAllClasses() throws IppException public List getAllClasses() throws IppException
{ {
IppResponse response = null; IppResponse response = null;
try try
{ {
IppRequest request = new IppRequest(uri, username, password); IppRequest request = new IppRequest(uri, username, password);
request.setOperationID((short)CupsIppOperation.CUPS_GET_CLASSES); request.setOperationID((short)CupsIppOperation.CUPS_GET_CLASSES);
request.setOperationAttributeDefaults(); request.setOperationAttributeDefaults();
RequestedAttributes requestedAttrs RequestedAttributes requestedAttrs
= new RequestedAttributes("printer-uri-supported"); = new RequestedAttributes("printer-uri-supported");
request.addOperationAttribute(requestedAttrs); request.addOperationAttribute(requestedAttrs);
response = request.send(); response = request.send();
} }
catch (IOException e) catch (IOException e)
{ {
throw new IppException("IOException in IPP request/response.", e); throw new IppException("IOException in IPP request/response.", e);
} }
List prAttr = response.getPrinterAttributes(); List prAttr = response.getPrinterAttributes();
List services = new ArrayList(); List services = new ArrayList();
for (int i=0; i < prAttr.size(); i++) for (int i=0; i < prAttr.size(); i++)
{ {
Map printerAttributes = (Map) prAttr.get(i); Map printerAttributes = (Map) prAttr.get(i);
Set uris = (Set) printerAttributes.get(PrinterUriSupported.class); Set uris = (Set) printerAttributes.get(PrinterUriSupported.class);
PrinterUriSupported uri = (PrinterUriSupported) uris.toArray()[0]; PrinterUriSupported uri = (PrinterUriSupported) uris.toArray()[0];
try try
{ {
CupsPrintService cups = new CupsPrintService(uri.getURI(), CupsPrintService cups = new CupsPrintService(uri.getURI(),
@ -279,9 +279,9 @@ public class CupsServer
// do nothing, we only catch the IppException which could be // do nothing, we only catch the IppException which could be
// thrown during instantiation as single printers may be discovered // thrown during instantiation as single printers may be discovered
// correctly but not usable due to other security restrictions // correctly but not usable due to other security restrictions
} }
} }
return services; return services;
} }

View File

@ -1,4 +1,4 @@
/* PrintAttributeException.java -- /* PrintAttributeException.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -46,25 +46,25 @@ import javax.print.attribute.Attribute;
* A <code>PrintException</code> further refining the exception * A <code>PrintException</code> further refining the exception
* cause by providing an implementation of the print exception * cause by providing an implementation of the print exception
* interface <code>AttributeException</code>. * interface <code>AttributeException</code>.
* *
* @see javax.print.PrintException * @see javax.print.PrintException
* @see javax.print.AttributeException * @see javax.print.AttributeException
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class PrintAttributeException extends PrintException public final class PrintAttributeException extends PrintException
implements AttributeException implements AttributeException
{ {
private Class[] categories; private Class[] categories;
private Attribute[] values; private Attribute[] values;
/** /**
* Constructs a <code>PrintAttributeException</code> * Constructs a <code>PrintAttributeException</code>
* with the given unsupported attributes and/or values. * with the given unsupported attributes and/or values.
* *
* @param unsupportedAttributes the unsupported categories, * @param unsupportedAttributes the unsupported categories,
* may be <code>null</code>. * may be <code>null</code>.
* @param unsupportedValues the unsupported attribute values, * @param unsupportedValues the unsupported attribute values,
* may be <code>null</code>. * may be <code>null</code>.
*/ */
public PrintAttributeException(Class[] unsupportedAttributes, public PrintAttributeException(Class[] unsupportedAttributes,
@ -78,11 +78,11 @@ public final class PrintAttributeException extends PrintException
/** /**
* Constructs a <code>PrintAttributeException</code> * Constructs a <code>PrintAttributeException</code>
* with the given unsupported attributes and/or values. * with the given unsupported attributes and/or values.
* *
* @param e chained exception * @param e chained exception
* @param unsupportedAttributes the unsupported categories, * @param unsupportedAttributes the unsupported categories,
* may be <code>null</code>. * may be <code>null</code>.
* @param unsupportedValues the unsupported attribute values, * @param unsupportedValues the unsupported attribute values,
* may be <code>null</code>. * may be <code>null</code>.
*/ */
public PrintAttributeException(Exception e, public PrintAttributeException(Exception e,
@ -96,11 +96,11 @@ public final class PrintAttributeException extends PrintException
/** /**
* Constructs a <code>PrintAttributeException</code> * Constructs a <code>PrintAttributeException</code>
* with the given unsupported attributes and/or values. * with the given unsupported attributes and/or values.
* *
* @param s detailed message * @param s detailed message
* @param unsupportedAttributes the unsupported categories, * @param unsupportedAttributes the unsupported categories,
* may be <code>null</code>. * may be <code>null</code>.
* @param unsupportedValues the unsupported attribute values, * @param unsupportedValues the unsupported attribute values,
* may be <code>null</code>. * may be <code>null</code>.
*/ */
public PrintAttributeException(String s, public PrintAttributeException(String s,
@ -114,12 +114,12 @@ public final class PrintAttributeException extends PrintException
/** /**
* Constructs a <code>PrintAttributeException</code> * Constructs a <code>PrintAttributeException</code>
* with the given unsupported attributes and/or values. * with the given unsupported attributes and/or values.
* *
* @param s detailed message * @param s detailed message
* @param e chained exception * @param e chained exception
* @param unsupportedAttributes the unsupported categories, * @param unsupportedAttributes the unsupported categories,
* may be <code>null</code>. * may be <code>null</code>.
* @param unsupportedValues the unsupported attribute values, * @param unsupportedValues the unsupported attribute values,
* may be <code>null</code>. * may be <code>null</code>.
*/ */
public PrintAttributeException(String s, Exception e, public PrintAttributeException(String s, Exception e,

View File

@ -1,4 +1,4 @@
/* PrintFlavorException.java -- /* PrintFlavorException.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -46,21 +46,21 @@ import javax.print.PrintException;
* A <code>PrintException</code> further refining the exception * A <code>PrintException</code> further refining the exception
* cause by providing an implementation of the print exception * cause by providing an implementation of the print exception
* interface <code>FlavorException</code>. * interface <code>FlavorException</code>.
* *
* @see javax.print.PrintException * @see javax.print.PrintException
* @see javax.print.FlavorException * @see javax.print.FlavorException
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public class PrintFlavorException extends PrintException public class PrintFlavorException extends PrintException
implements FlavorException implements FlavorException
{ {
private DocFlavor[] flavors; private DocFlavor[] flavors;
/** /**
* Constructs a <code>PrintFlavorException</code> * Constructs a <code>PrintFlavorException</code>
* with the given unsupported doc flavor array * with the given unsupported doc flavor array
* *
* @param unsupportedFlavors the unsupported document flavors. * @param unsupportedFlavors the unsupported document flavors.
*/ */
public PrintFlavorException(DocFlavor[] unsupportedFlavors) public PrintFlavorException(DocFlavor[] unsupportedFlavors)
@ -72,7 +72,7 @@ public class PrintFlavorException extends PrintException
/** /**
* Constructs a <code>PrintFlavorException</code> * Constructs a <code>PrintFlavorException</code>
* with the given unsupported doc flavor array * with the given unsupported doc flavor array
* *
* @param e chained exception * @param e chained exception
* @param unsupportedFlavors the unsupported document flavors. * @param unsupportedFlavors the unsupported document flavors.
*/ */
@ -85,7 +85,7 @@ public class PrintFlavorException extends PrintException
/** /**
* Constructs a <code>PrintFlavorException</code> * Constructs a <code>PrintFlavorException</code>
* with the given unsupported doc flavor array * with the given unsupported doc flavor array
* *
* @param s detailed message * @param s detailed message
* @param unsupportedFlavors the unsupported document flavors. * @param unsupportedFlavors the unsupported document flavors.
*/ */
@ -98,12 +98,12 @@ public class PrintFlavorException extends PrintException
/** /**
* Constructs a <code>PrintFlavorException</code> * Constructs a <code>PrintFlavorException</code>
* with the given unsupported doc flavor array * with the given unsupported doc flavor array
* *
* @param s detailed message * @param s detailed message
* @param e chained exception * @param e chained exception
* @param unsupportedFlavors the unsupported document flavors. * @param unsupportedFlavors the unsupported document flavors.
*/ */
public PrintFlavorException(String s, Exception e, public PrintFlavorException(String s, Exception e,
DocFlavor[] unsupportedFlavors) DocFlavor[] unsupportedFlavors)
{ {
super(s, e); super(s, e);

View File

@ -1,4 +1,4 @@
/* PrintUriException.java -- /* PrintUriException.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -47,13 +47,13 @@ import javax.print.URIException;
* A <code>PrintException</code> further refining the exception * A <code>PrintException</code> further refining the exception
* cause by providing an implementation of the print exception * cause by providing an implementation of the print exception
* interface <code>URIException</code>. * interface <code>URIException</code>.
* *
* @see javax.print.PrintException * @see javax.print.PrintException
* @see javax.print.URIException * @see javax.print.URIException
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class PrintUriException extends PrintException public final class PrintUriException extends PrintException
implements URIException implements URIException
{ {
private int reason; private int reason;
@ -65,20 +65,20 @@ public final class PrintUriException extends PrintException
* *
* @param reason the reason for the exception. * @param reason the reason for the exception.
* @param unsupportedUri the URI which is unsupported. * @param unsupportedUri the URI which is unsupported.
* *
* @see URIException * @see URIException
*/ */
public PrintUriException(int reason, URI unsupportedUri) public PrintUriException(int reason, URI unsupportedUri)
{ {
super(); super();
this.reason = reason; this.reason = reason;
uri = unsupportedUri; uri = unsupportedUri;
} }
/** /**
* Constructs a <code>PrintUriException</code> with the given reason * Constructs a <code>PrintUriException</code> with the given reason
* and unsupported URI instance. * and unsupported URI instance.
* *
* @param e chained exception * @param e chained exception
* @param reason the reason for the exception. * @param reason the reason for the exception.
* @param unsupportedUri the URI which is unsupported. * @param unsupportedUri the URI which is unsupported.
@ -87,13 +87,13 @@ public final class PrintUriException extends PrintException
{ {
super(e); super(e);
this.reason = reason; this.reason = reason;
uri = unsupportedUri; uri = unsupportedUri;
} }
/** /**
* Constructs a <code>PrintUriException</code> with the given reason * Constructs a <code>PrintUriException</code> with the given reason
* and unsupported URI instance. * and unsupported URI instance.
* *
* @param s detailed message * @param s detailed message
* @param reason the reason for the exception. * @param reason the reason for the exception.
* @param unsupportedUri the URI which is unsupported. * @param unsupportedUri the URI which is unsupported.
@ -102,24 +102,24 @@ public final class PrintUriException extends PrintException
{ {
super(s); super(s);
this.reason = reason; this.reason = reason;
uri = unsupportedUri; uri = unsupportedUri;
} }
/** /**
* Constructs a <code>PrintUriException</code> with the given reason * Constructs a <code>PrintUriException</code> with the given reason
* and unsupported URI instance. * and unsupported URI instance.
* *
* @param s detailed message * @param s detailed message
* @param e chained exception * @param e chained exception
* @param reason the reason for the exception. * @param reason the reason for the exception.
* @param unsupportedUri the URI which is unsupported. * @param unsupportedUri the URI which is unsupported.
*/ */
public PrintUriException(String s, Exception e, public PrintUriException(String s, Exception e,
int reason, URI unsupportedUri) int reason, URI unsupportedUri)
{ {
super(s, e); super(s, e);
this.reason = reason; this.reason = reason;
uri = unsupportedUri; uri = unsupportedUri;
} }
/** /**

File diff suppressed because it is too large Load Diff

View File

@ -76,52 +76,52 @@ import javax.print.event.PrintJobEvent;
import javax.print.event.PrintJobListener; import javax.print.event.PrintJobListener;
/** /**
* Implementation of the DocPrintJob interface. Implementation is * Implementation of the DocPrintJob interface. Implementation is
* specific to the <code>IppPrintService</code> implementation. * specific to the <code>IppPrintService</code> implementation.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public class DocPrintJobImpl implements CancelablePrintJob public class DocPrintJobImpl implements CancelablePrintJob
{ {
/** The print service this job is bound to. */ /** The print service this job is bound to. */
private IppPrintService service; private IppPrintService service;
/** The set of print job listeners. */ /** The set of print job listeners. */
private HashSet printJobListener = new HashSet(); private HashSet printJobListener = new HashSet();
/** The print job attributes listeners. */ /** The print job attributes listeners. */
private ArrayList attributesListener = new ArrayList(); private ArrayList attributesListener = new ArrayList();
/** The print job attributes listeners associated attribute set. */ /** The print job attributes listeners associated attribute set. */
private ArrayList attributesListenerAttributes = new ArrayList(); private ArrayList attributesListenerAttributes = new ArrayList();
/** The username. */ /** The username. */
private String username; private String username;
/** The password of the user. */ /** The password of the user. */
private String password; private String password;
/** Returned job uri. */ /** Returned job uri. */
private JobUri jobUri = null; private JobUri jobUri = null;
/** Returned job id. */ /** Returned job id. */
private JobId jobId = null; private JobId jobId = null;
/** The requesting-username for later canceling */ /** The requesting-username for later canceling */
private RequestingUserName requestingUser; private RequestingUserName requestingUser;
/** The print job sets. */ /** The print job sets. */
private PrintJobAttributeSet oldSet = new HashPrintJobAttributeSet(); private PrintJobAttributeSet oldSet = new HashPrintJobAttributeSet();
private PrintJobAttributeSet currentSet = new HashPrintJobAttributeSet(); private PrintJobAttributeSet currentSet = new HashPrintJobAttributeSet();
/** /**
* State variable if we already started printing. * State variable if we already started printing.
*/ */
private boolean printing = false; private boolean printing = false;
// TODO Implement complete PrintJobListener notification // TODO Implement complete PrintJobListener notification
// TODO Implement PrintJobAttributeListener notification // TODO Implement PrintJobAttributeListener notification
/** /**
* Constructs a DocPrintJobImpl instance bound to the given print service. * Constructs a DocPrintJobImpl instance bound to the given print service.
* *
* @param service the print service instance. * @param service the print service instance.
* @param user the user of this print service. * @param user the user of this print service.
* @param passwd the password of the user. * @param passwd the password of the user.
@ -141,7 +141,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
{ {
if (listener == null) if (listener == null)
return; return;
attributesListener.add(listener); attributesListener.add(listener);
attributesListenerAttributes.add(attributes); attributesListenerAttributes.add(attributes);
} }
@ -153,7 +153,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
{ {
if (listener == null) if (listener == null)
return; return;
printJobListener.add(listener); printJobListener.add(listener);
} }
@ -181,30 +181,30 @@ public class DocPrintJobImpl implements CancelablePrintJob
{ {
if (printing) if (printing)
throw new PrintException("already printing"); throw new PrintException("already printing");
printing = true; printing = true;
DocAttributeSet docAtts = doc.getAttributes(); DocAttributeSet docAtts = doc.getAttributes();
DocFlavor flavor = doc.getDocFlavor(); DocFlavor flavor = doc.getDocFlavor();
if (flavor == null || (!service.isDocFlavorSupported(flavor))) if (flavor == null || (!service.isDocFlavorSupported(flavor)))
{ {
notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED)); notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED));
throw new PrintFlavorException("Invalid flavor", new DocFlavor[] {flavor}); throw new PrintFlavorException("Invalid flavor", new DocFlavor[] {flavor});
} }
// merge attributes as doc attributes take precendence // merge attributes as doc attributes take precendence
// over the print request attributes // over the print request attributes
HashAttributeSet mergedAtts = new HashAttributeSet(); HashAttributeSet mergedAtts = new HashAttributeSet();
if (attributes != null) if (attributes != null)
mergedAtts.addAll(attributes); mergedAtts.addAll(attributes);
if (docAtts != null) if (docAtts != null)
mergedAtts.addAll(docAtts); mergedAtts.addAll(docAtts);
// check for requesting-user-name -add the // check for requesting-user-name -add the
// executing username if no other is specified // executing username if no other is specified
// save user name so we can make a cancel operation under same user // save user name so we can make a cancel operation under same user
if (! mergedAtts.containsKey(RequestingUserName.class)) if (! mergedAtts.containsKey(RequestingUserName.class))
{ {
mergedAtts.add(IppPrintService.REQUESTING_USER_NAME); mergedAtts.add(IppPrintService.REQUESTING_USER_NAME);
@ -212,53 +212,53 @@ public class DocPrintJobImpl implements CancelablePrintJob
} }
else else
{ {
requestingUser = (RequestingUserName) requestingUser = (RequestingUserName)
mergedAtts.get(RequestingUserName.class); mergedAtts.get(RequestingUserName.class);
} }
// same for job-name // same for job-name
if (! mergedAtts.containsKey(JobName.class)) if (! mergedAtts.containsKey(JobName.class))
mergedAtts.add(IppPrintService.JOB_NAME); mergedAtts.add(IppPrintService.JOB_NAME);
IppResponse response = null; IppResponse response = null;
try try
{ {
PrinterURI printerUri = service.getPrinterURI(); PrinterURI printerUri = service.getPrinterURI();
String printerUriStr = "http" + printerUri.toString().substring(3); String printerUriStr = "http" + printerUri.toString().substring(3);
URI uri = null; URI uri = null;
try try
{ {
uri = new URI(printerUriStr); uri = new URI(printerUriStr);
} }
catch (URISyntaxException e) catch (URISyntaxException e)
{ {
// does not happen // does not happen
} }
IppRequest request = IppRequest request =
new IppRequest(uri, username, password); new IppRequest(uri, username, password);
request.setOperationID( (short) OperationsSupported.PRINT_JOB.getValue()); request.setOperationID( (short) OperationsSupported.PRINT_JOB.getValue());
request.setOperationAttributeDefaults(); request.setOperationAttributeDefaults();
request.addOperationAttribute(printerUri); request.addOperationAttribute(printerUri);
if (mergedAtts != null) if (mergedAtts != null)
{ {
request.addAndFilterJobOperationAttributes(mergedAtts); request.addAndFilterJobOperationAttributes(mergedAtts);
request.addAndFilterJobTemplateAttributes(mergedAtts); request.addAndFilterJobTemplateAttributes(mergedAtts);
} }
// DocFlavor getMimeType returns charset quoted // DocFlavor getMimeType returns charset quoted
DocumentFormat format = DocumentFormat.createDocumentFormat(flavor); DocumentFormat format = DocumentFormat.createDocumentFormat(flavor);
request.addOperationAttribute(format); request.addOperationAttribute(format);
// Get and set the printdata based on the // Get and set the printdata based on the
// representation classname // representation classname
String className = flavor.getRepresentationClassName(); String className = flavor.getRepresentationClassName();
if (className.equals("[B")) if (className.equals("[B"))
{ {
request.setData((byte[]) doc.getPrintData()); request.setData((byte[]) doc.getPrintData());
response = request.send(); response = request.send();
@ -275,7 +275,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
try try
{ {
// CUPS only supports UTF-8 currently so we convert // CUPS only supports UTF-8 currently so we convert
// We also assume that char[] is always utf-16 - correct ? // We also assume that char[] is always utf-16 - correct ?
String str = new String((char[]) doc.getPrintData()); String str = new String((char[]) doc.getPrintData());
request.setData(str.getBytes("utf-16")); request.setData(str.getBytes("utf-16"));
response = request.send(); response = request.send();
@ -285,7 +285,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED)); notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED));
throw new PrintFlavorException("Invalid charset of flavor", e, new DocFlavor[] {flavor}); throw new PrintFlavorException("Invalid charset of flavor", e, new DocFlavor[] {flavor});
} }
} }
else if (className.equals("java.io.Reader")) else if (className.equals("java.io.Reader"))
{ {
try try
@ -300,13 +300,13 @@ public class DocPrintJobImpl implements CancelablePrintJob
notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED)); notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED));
throw new PrintFlavorException("Invalid charset of flavor", e, new DocFlavor[] {flavor}); throw new PrintFlavorException("Invalid charset of flavor", e, new DocFlavor[] {flavor});
} }
} }
else if (className.equals("java.lang.String")) else if (className.equals("java.lang.String"))
{ {
try try
{ {
// CUPS only supports UTF-8 currently so we convert // CUPS only supports UTF-8 currently so we convert
// We also assume that String is always utf-16 - correct ? // We also assume that String is always utf-16 - correct ?
String str = (String) doc.getPrintData(); String str = (String) doc.getPrintData();
request.setData(str.getBytes("utf-16")); request.setData(str.getBytes("utf-16"));
response = request.send(); response = request.send();
@ -316,7 +316,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED)); notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED));
throw new PrintFlavorException("Invalid charset of flavor", e, new DocFlavor[] {flavor}); throw new PrintFlavorException("Invalid charset of flavor", e, new DocFlavor[] {flavor});
} }
} }
else if (className.equals("java.net.URL")) else if (className.equals("java.net.URL"))
{ {
URL url = (URL) doc.getPrintData(); URL url = (URL) doc.getPrintData();
@ -332,22 +332,22 @@ public class DocPrintJobImpl implements CancelablePrintJob
// For the future :-) // For the future :-)
throw new PrintException("Not yet supported."); throw new PrintException("Not yet supported.");
} }
else else
{ {
// should not happen - however // should not happen - however
notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED)); notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED));
throw new PrintFlavorException("Invalid flavor", new DocFlavor[] {flavor}); throw new PrintFlavorException("Invalid flavor", new DocFlavor[] {flavor});
} }
// at this point the data is transfered // at this point the data is transfered
notifyPrintJobListeners(new PrintJobEvent( notifyPrintJobListeners(new PrintJobEvent(
this, PrintJobEvent.DATA_TRANSFER_COMPLETE)); this, PrintJobEvent.DATA_TRANSFER_COMPLETE));
} }
catch (IOException e) catch (IOException e)
{ {
throw new PrintException("IOException occured.", e); throw new PrintException("IOException occured.", e);
} }
int status = response.getStatusCode(); int status = response.getStatusCode();
if (! (status == IppStatusCode.SUCCESSFUL_OK if (! (status == IppStatusCode.SUCCESSFUL_OK
|| status == IppStatusCode.SUCCESSFUL_OK_IGNORED_OR_SUBSTITUED_ATTRIBUTES || status == IppStatusCode.SUCCESSFUL_OK_IGNORED_OR_SUBSTITUED_ATTRIBUTES
@ -356,7 +356,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
notifyPrintJobListeners(new PrintJobEvent( notifyPrintJobListeners(new PrintJobEvent(
this, PrintJobEvent.JOB_FAILED)); this, PrintJobEvent.JOB_FAILED));
throw new PrintException("Printing failed - received statuscode " + Integer.toHexString(status)); throw new PrintException("Printing failed - received statuscode " + Integer.toHexString(status));
// TODO maybe specific status codes may require to throw a specific // TODO maybe specific status codes may require to throw a specific
// detailed attribute exception // detailed attribute exception
} }
@ -364,18 +364,18 @@ public class DocPrintJobImpl implements CancelablePrintJob
{ {
// start print job progress monitoring thread // start print job progress monitoring thread
// FIXME Implement // FIXME Implement
// for now we just notify as finished // for now we just notify as finished
notifyPrintJobListeners( notifyPrintJobListeners(
new PrintJobEvent(this, PrintJobEvent.JOB_COMPLETE)); new PrintJobEvent(this, PrintJobEvent.JOB_COMPLETE));
} }
List jobAtts = response.getJobAttributes(); List jobAtts = response.getJobAttributes();
// extract the uri and id of job for canceling and further monitoring // extract the uri and id of job for canceling and further monitoring
Map jobAttributes = (Map) jobAtts.get(0); Map jobAttributes = (Map) jobAtts.get(0);
jobUri = (JobUri) ((HashSet)jobAttributes.get(JobUri.class)).toArray()[0]; jobUri = (JobUri) ((HashSet)jobAttributes.get(JobUri.class)).toArray()[0];
jobId = (JobId) ((HashSet)jobAttributes.get(JobId.class)).toArray()[0]; jobId = (JobId) ((HashSet)jobAttributes.get(JobId.class)).toArray()[0];
} }
/** /**
@ -385,7 +385,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
{ {
if (listener == null) if (listener == null)
return; return;
int index = attributesListener.indexOf(listener); int index = attributesListener.indexOf(listener);
if (index != -1) if (index != -1)
{ {
@ -401,10 +401,10 @@ public class DocPrintJobImpl implements CancelablePrintJob
{ {
if (listener == null) if (listener == null)
return; return;
printJobListener.remove(listener); printJobListener.remove(listener);
} }
/** /**
* @see CancelablePrintJob#cancel() * @see CancelablePrintJob#cancel()
*/ */
@ -414,23 +414,23 @@ public class DocPrintJobImpl implements CancelablePrintJob
{ {
throw new PrintException("print job is not yet send"); throw new PrintException("print job is not yet send");
} }
IppResponse response = null; IppResponse response = null;
try try
{ {
IppRequest request = new IppRequest(jobUri.getURI(), username, password); IppRequest request = new IppRequest(jobUri.getURI(), username, password);
request.setOperationID( (short) OperationsSupported.CANCEL_JOB.getValue()); request.setOperationID( (short) OperationsSupported.CANCEL_JOB.getValue());
request.setOperationAttributeDefaults(); request.setOperationAttributeDefaults();
request.addOperationAttribute(jobUri); request.addOperationAttribute(jobUri);
request.addOperationAttribute(requestingUser); request.addOperationAttribute(requestingUser);
response = request.send(); response = request.send();
} }
catch (IOException e) catch (IOException e)
{ {
throw new IppException("IOException occured during cancel request.", e); throw new IppException("IOException occured during cancel request.", e);
} }
int status = response.getStatusCode(); int status = response.getStatusCode();
if (! (status == IppStatusCode.SUCCESSFUL_OK if (! (status == IppStatusCode.SUCCESSFUL_OK
|| status == IppStatusCode.SUCCESSFUL_OK_IGNORED_OR_SUBSTITUED_ATTRIBUTES || status == IppStatusCode.SUCCESSFUL_OK_IGNORED_OR_SUBSTITUED_ATTRIBUTES
@ -438,15 +438,15 @@ public class DocPrintJobImpl implements CancelablePrintJob
{ {
notifyPrintJobListeners(new PrintJobEvent( notifyPrintJobListeners(new PrintJobEvent(
this, PrintJobEvent.JOB_FAILED)); this, PrintJobEvent.JOB_FAILED));
throw new PrintException("Canceling failed - received statuscode " + Integer.toHexString(status)); throw new PrintException("Canceling failed - received statuscode " + Integer.toHexString(status));
} }
else else
{ {
notifyPrintJobListeners(new PrintJobEvent( notifyPrintJobListeners(new PrintJobEvent(
this, PrintJobEvent.JOB_CANCELED)); this, PrintJobEvent.JOB_CANCELED));
} }
} }
private void notifyPrintJobListeners(PrintJobEvent e) private void notifyPrintJobListeners(PrintJobEvent e)
{ {
Iterator it = printJobListener.iterator(); Iterator it = printJobListener.iterator();
@ -463,9 +463,9 @@ public class DocPrintJobImpl implements CancelablePrintJob
l.printJobFailed(e); l.printJobFailed(e);
else if (e.getPrintEventType() == PrintJobEvent.NO_MORE_EVENTS) else if (e.getPrintEventType() == PrintJobEvent.NO_MORE_EVENTS)
l.printJobNoMoreEvents(e); l.printJobNoMoreEvents(e);
else else
l.printJobRequiresAttention(e); l.printJobRequiresAttention(e);
} }
} }
} }

View File

@ -1,4 +1,4 @@
/* IppDelimiterTag.java -- /* IppDelimiterTag.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -42,57 +42,57 @@ package gnu.javax.print.ipp;
/** /**
* IPP Delimiter Tags as described in RFC 2910 section 3.5.1. * IPP Delimiter Tags as described in RFC 2910 section 3.5.1.
* <p> * <p>
* Every delimiter tag value can occur in the protocol field * Every delimiter tag value can occur in the protocol field
* begin-attribute-group-tag and indicates that the following * begin-attribute-group-tag and indicates that the following
* attributes will be part of the named group.<br> * attributes will be part of the named group.<br>
* The end-of-attributes-tag signals the end of the attributes * The end-of-attributes-tag signals the end of the attributes
* section in the IPP request/response and therefore the beginning * section in the IPP request/response and therefore the beginning
* of the data section (if any). * of the data section (if any).
* </p> * </p>
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class IppDelimiterTag public final class IppDelimiterTag
{ {
/** Start of the operation attributes group section. */ /** Start of the operation attributes group section. */
public static final byte OPERATION_ATTRIBUTES_TAG = 0x01; public static final byte OPERATION_ATTRIBUTES_TAG = 0x01;
/** Start of the job attributes group section. */ /** Start of the job attributes group section. */
public static final byte JOB_ATTRIBUTES_TAG = 0x02; public static final byte JOB_ATTRIBUTES_TAG = 0x02;
/** End of the attributes section and begin of data section. */ /** End of the attributes section and begin of data section. */
public static final byte END_OF_ATTRIBUTES_TAG = 0x03; public static final byte END_OF_ATTRIBUTES_TAG = 0x03;
/** Start of the printer attributes group section. */ /** Start of the printer attributes group section. */
public static final byte PRINTER_ATTRIBUTES_TAG = 0x04; public static final byte PRINTER_ATTRIBUTES_TAG = 0x04;
/** Start of the unsupported attributes group section. */ /** Start of the unsupported attributes group section. */
public static final byte UNSUPPORTED_ATTRIBUTES_TAG = 0x05; public static final byte UNSUPPORTED_ATTRIBUTES_TAG = 0x05;
// 0x00 reserved for definition in a future IETF // 0x00 reserved for definition in a future IETF
// standards track document // standards track document
// 0x06-0x0f reserved for future delimiters in IETF // 0x06-0x0f reserved for future delimiters in IETF
// standards track documents // standards track documents
private IppDelimiterTag() private IppDelimiterTag()
{ {
// not to be instantiated // not to be instantiated
} }
/** /**
* Tests if given value corresponds to a * Tests if given value corresponds to a
* delimiter tag value. * delimiter tag value.
* *
* @param value the value to test for * @param value the value to test for
* @return <code>true</code> if, <code>false</code> otherwise. * @return <code>true</code> if, <code>false</code> otherwise.
*/ */
public static boolean isDelimiterTag(byte value) public static boolean isDelimiterTag(byte value)
{ {
if (value >= 0x01 && value <= 0x05) if (value >= 0x01 && value <= 0x05)
return true; return true;
return false; return false;
} }

View File

@ -1,4 +1,4 @@
/* IppException.java -- /* IppException.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -44,7 +44,7 @@ import javax.print.PrintException;
* <code>IppException</code> signals exception thrown by * <code>IppException</code> signals exception thrown by
* the IPP implementation for various things like a failed * the IPP implementation for various things like a failed
* ipp request or a wrapped io exception. * ipp request or a wrapped io exception.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public class IppException extends PrintException public class IppException extends PrintException
@ -65,7 +65,7 @@ public class IppException extends PrintException
{ {
super(s); super(s);
} }
/** /**
* Creates an <code>IppException</code>. * Creates an <code>IppException</code>.
* @param e the exception cause this one. * @param e the exception cause this one.

View File

@ -1,4 +1,4 @@
/* IppMultiDocPrintService.java -- /* IppMultiDocPrintService.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -47,25 +47,25 @@ import javax.print.MultiDocPrintService;
/** /**
* Implementation of the MultiDocPrintService interface * Implementation of the MultiDocPrintService interface
* for IPP based printers. * for IPP based printers.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public class IppMultiDocPrintService extends IppPrintService public class IppMultiDocPrintService extends IppPrintService
implements MultiDocPrintService implements MultiDocPrintService
{ {
/** The username. */ /** The username. */
private transient String user; private transient String user;
/** The password of the user. */ /** The password of the user. */
private transient String passwd; private transient String passwd;
/** /**
* Creates a <code>IppMultiDocPrintService</code> object. * Creates a <code>IppMultiDocPrintService</code> object.
* *
* @param uri the URI of the IPP printer. * @param uri the URI of the IPP printer.
* @param username the user of this print service. * @param username the user of this print service.
* @param password the password of the user. * @param password the password of the user.
* *
* @throws IppException if an error during connection occurs. * @throws IppException if an error during connection occurs.
*/ */
public IppMultiDocPrintService(URI uri, String username, String password) public IppMultiDocPrintService(URI uri, String username, String password)
@ -74,12 +74,12 @@ public class IppMultiDocPrintService extends IppPrintService
super(uri, username, password); super(uri, username, password);
user = username; user = username;
passwd = password; passwd = password;
} }
/** /**
* @see MultiDocPrintService#createMultiDocPrintJob() * @see MultiDocPrintService#createMultiDocPrintJob()
*/ */
public MultiDocPrintJob createMultiDocPrintJob() public MultiDocPrintJob createMultiDocPrintJob()
{ {
return new MultiDocPrintJobImpl(this, user, passwd); return new MultiDocPrintJobImpl(this, user, passwd);
} }

View File

@ -1,4 +1,4 @@
/* IppPrintService.java -- /* IppPrintService.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -130,175 +130,180 @@ import javax.print.event.PrintServiceAttributeListener;
/** /**
* Implementation of the PrintService interface * Implementation of the PrintService interface
* for IPP based printers. * for IPP based printers.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public class IppPrintService implements PrintService public class IppPrintService implements PrintService
{ {
/** /**
* A Map with sets of attributes. * A Map with sets of attributes.
* key: A attribute category * key: A attribute category
* value: A set with values * value: A set with values
* *
* IPP may return sets of attributes e.g. for supported * IPP may return sets of attributes e.g. for supported
* compression methods so we need to map to sets here. * compression methods so we need to map to sets here.
*/ */
private Map printerAttr; private Map<Class<? extends Attribute>, Set<Attribute>> printerAttr;
/** The set of listeners.*/ /** The set of listeners.*/
private HashSet printServiceAttributeListener; private HashSet<PrintServiceAttributeListener> printServiceAttributeListener;
/** The username. */ /** The username. */
private transient String user; private transient String user;
/** The password of the user. */ /** The password of the user. */
private transient String passwd; private transient String passwd;
/** The name of this print service. */ /** The name of this print service. */
private String name; private String name;
/** The list of supported document flavors. */ /** The list of supported document flavors. */
private List flavors; private List<DocFlavor> flavors;
/** The standard printer URI. */ /** The standard printer URI. */
private PrinterURI printerUri; private PrinterURI printerUri;
/** The list of all supported printer URIs. */ /** The list of all supported printer URIs. */
private ArrayList printerUris; private ArrayList<PrinterURI> printerUris;
/** /**
* Logger for tracing - enable by passing * Logger for tracing - enable by passing
* -Dgnu.classpath.debug.components=ipp to the vm. * -Dgnu.classpath.debug.components=ipp to the vm.
*/ */
static final Logger logger = SystemLogger.SYSTEM; static final Logger logger = SystemLogger.SYSTEM;
/** /**
* requesting-user-name defaults to the executing user. * requesting-user-name defaults to the executing user.
*/ */
public static final RequestingUserName REQUESTING_USER_NAME; public static final RequestingUserName REQUESTING_USER_NAME;
/** /**
* job-name defaults to "Java Printing". * job-name defaults to "Java Printing".
*/ */
public static final JobName JOB_NAME; public static final JobName JOB_NAME;
static static
{ {
JOB_NAME = new JobName("Java Printing", null); JOB_NAME = new JobName("Java Printing", null);
REQUESTING_USER_NAME = new RequestingUserName( REQUESTING_USER_NAME = new RequestingUserName(
SystemProperties.getProperty("user.name", ""), null); SystemProperties.getProperty("user.name", ""), null);
} }
// TODO Implement service listener notification and change detection. // TODO Implement service listener notification and change detection.
/** /**
* Creates a <code>IppPrintService</code> object. * Creates a <code>IppPrintService</code> object.
* *
* @param uri the URI of the IPP printer. * @param uri the URI of the IPP printer.
* @param username the user of this print service. * @param username the user of this print service.
* @param password the password of the user. * @param password the password of the user.
* *
* @throws IppException if an error during connection occurs. * @throws IppException if an error during connection occurs.
*/ */
public IppPrintService(URI uri, String username, String password) public IppPrintService(URI uri, String username, String password)
throws IppException throws IppException
{ {
printerUri = new PrinterURI(uri); printerUri = new PrinterURI(uri);
user = username; user = username;
passwd = password; passwd = password;
printServiceAttributeListener = new HashSet(); printServiceAttributeListener =
new HashSet<PrintServiceAttributeListener>();
printerAttr = getPrinterAttributes(); printerAttr = getPrinterAttributes();
processResponse(); processResponse();
} }
/** /**
* Fetches all printer attributes from the IPP printer. * Fetches all printer attributes from the IPP printer.
* *
* @return The Map with the printer attributes. * @return The Map with the printer attributes.
* @throws IppException if an error occurs. * @throws IppException if an error occurs.
*/ */
private Map getPrinterAttributes() throws IppException private Map<Class<? extends Attribute>, Set<Attribute>> getPrinterAttributes()
throws IppException
{ {
IppResponse response = null; IppResponse response = null;
try try
{ {
IppRequest request = new IppRequest(printerUri.getURI(), user, passwd); IppRequest request = new IppRequest(printerUri.getURI(), user, passwd);
int operation = OperationsSupported.GET_PRINTER_ATTRIBUTES.getValue(); int operation = OperationsSupported.GET_PRINTER_ATTRIBUTES.getValue();
request.setOperationID((short) operation); request.setOperationID((short) operation);
request.setOperationAttributeDefaults(); request.setOperationAttributeDefaults();
request.addOperationAttribute(printerUri); request.addOperationAttribute(printerUri);
response = request.send(); response = request.send();
} }
catch (IOException e) catch (IOException e)
{ {
throw new IppException("IOException in IPP request/response.", e); throw new IppException("IOException in IPP request/response.", e);
} }
return (Map) response.getPrinterAttributes().get(0); return response.getPrinterAttributes().get(0);
} }
/** /**
* Extracts the set of attribute values for a given * Extracts the set of attribute values for a given
* attribute category from the printer attributes map. * attribute category from the printer attributes map.
* *
* @param attributeClass the category * @param attributeClass the category
* @return The set of attributes of the category. * @return The set of attributes of the category.
*/ */
private Set getPrinterAttributeSet(Class attributeClass) private <T extends Attribute> Set<T> getPrinterAttributeSet(Class<T> attributeClass)
{ {
return (Set) printerAttr.get(attributeClass); Set<Attribute> set = printerAttr.get(attributeClass);
Set<T> attSet = new HashSet<T>();
for (Attribute att : set)
attSet.add(attributeClass.cast(att));
return attSet;
} }
/** /**
* Extracts the default attribute value for the given * Extracts the default attribute value for the given
* default attribute category from the printer attributes map. * default attribute category from the printer attributes map.
* *
* @param attributeClass the category * @param attributeClass the category
* @return The default attribute. * @return The default attribute.
* *
* @throws ClassCastException if attributClass is not an * @throws ClassCastException if attributClass is not an
* instance of <code>DefaultValueAttribute</code>. * instance of <code>DefaultValueAttribute</code>.
*/ */
private Attribute getPrinterDefaultAttribute(Class attributeClass) private Attribute getPrinterDefaultAttribute(Class<? extends Attribute> attributeClass)
{ {
Set set = (Set) printerAttr.get(attributeClass); Set<Attribute> set = printerAttr.get(attributeClass);
return ((DefaultValueAttribute) set.toArray()[0]).getAssociatedAttribute(); return ((DefaultValueAttribute) set.toArray()[0]).getAssociatedAttribute();
} }
/** /**
* Processes the response, sorts and splits the attributes. * Processes the response, sorts and splits the attributes.
*/ */
private void processResponse() private void processResponse()
{ {
// printer name // printer name
PrinterName[] tmp = (PrinterName[]) getPrinterAttributeSet( PrinterName[] tmp = getPrinterAttributeSet(PrinterName.class).toArray(new PrinterName[1]);
PrinterName.class).toArray(new PrinterName[1]);
name = tmp[0].getValue(); name = tmp[0].getValue();
// supported flavors // supported flavors
// TODO Check if charsets-supported are charsets that are actually supported // TODO Check if charsets-supported are charsets that are actually supported
// for text doc flavors as cups doesn't send charset parameters // for text doc flavors as cups doesn't send charset parameters
// utf-8 is supported at least - so we go with this only for now // utf-8 is supported at least - so we go with this only for now
flavors = new ArrayList(); flavors = new ArrayList<DocFlavor>();
Set flavorAttributes = getPrinterAttributeSet(DocumentFormatSupported.class); Set<DocumentFormatSupported> flavorAttributes = getPrinterAttributeSet(DocumentFormatSupported.class);
if (flavorAttributes != null) if (flavorAttributes != null)
{ {
for (Iterator it = flavorAttributes.iterator(); it.hasNext();) for (DocumentFormatSupported dfs : flavorAttributes)
{ {
String mimeType = ((DocumentFormatSupported) it.next()).getValue(); String mimeType = dfs.getValue();
if (mimeType.equals("text/plain")) if (mimeType.equals("text/plain"))
{ {
flavors.add(DocFlavor.CHAR_ARRAY.TEXT_PLAIN); flavors.add(DocFlavor.CHAR_ARRAY.TEXT_PLAIN);
flavors.add(DocFlavor.READER.TEXT_PLAIN); flavors.add(DocFlavor.READER.TEXT_PLAIN);
flavors.add(DocFlavor.STRING.TEXT_PLAIN); flavors.add(DocFlavor.STRING.TEXT_PLAIN);
// add utf-8 // add utf-8
mimeType = mimeType + "; charset=utf-8"; mimeType = mimeType + "; charset=utf-8";
} }
@ -307,21 +312,22 @@ public class IppPrintService implements PrintService
flavors.add(DocFlavor.CHAR_ARRAY.TEXT_HTML); flavors.add(DocFlavor.CHAR_ARRAY.TEXT_HTML);
flavors.add(DocFlavor.READER.TEXT_HTML); flavors.add(DocFlavor.READER.TEXT_HTML);
flavors.add(DocFlavor.STRING.TEXT_HTML); flavors.add(DocFlavor.STRING.TEXT_HTML);
// add utf-8 // add utf-8
mimeType = mimeType + "; charset=utf-8"; mimeType = mimeType + "; charset=utf-8";
} }
// Process the predefined DocFlavors and if mimetype is // Process the predefined DocFlavors and if mimetype is
// equal put them into the flavors array - otherwise // equal put them into the flavors array - otherwise
// just build them as binarie class representation. // just build them as binarie class representation.
boolean changed = false; boolean changed = false;
try try
{ {
Class[] clazzes = new Class[] { DocFlavor.BYTE_ARRAY.class, Class<?>[] clazzes = new Class<?>[] { DocFlavor.BYTE_ARRAY.class,
DocFlavor.INPUT_STREAM.class, DocFlavor.INPUT_STREAM.class,
DocFlavor.URL.class }; DocFlavor.URL.class
};
for (int j = 0; j < clazzes.length; j++) for (int j = 0; j < clazzes.length; j++)
{ {
Field[] fields = clazzes[j].getDeclaredFields(); Field[] fields = clazzes[j].getDeclaredFields();
@ -336,7 +342,7 @@ public class IppPrintService implements PrintService
} }
} }
if (!changed) // not in predefined constants of DocFlavor if (!changed) // not in predefined constants of DocFlavor
{ {
// everything should be supported as binary stuff // everything should be supported as binary stuff
flavors.add(new DocFlavor(mimeType, "[B")); flavors.add(new DocFlavor(mimeType, "[B"));
flavors.add(new DocFlavor(mimeType, "java.io.InputStream")); flavors.add(new DocFlavor(mimeType, "java.io.InputStream"));
@ -357,54 +363,52 @@ public class IppPrintService implements PrintService
} }
} }
if (this.getClass() if (this.getClass()
.isAssignableFrom(gnu.javax.print.CupsPrintService.class)) .isAssignableFrom(gnu.javax.print.CupsPrintService.class))
{ {
// CUPS always provides filters to convert from Postscript. // CUPS always provides filters to convert from Postscript.
// This logic looks odd, but it's what OpenJDK does. // This logic looks odd, but it's what OpenJDK does.
flavors.add(DocFlavor.SERVICE_FORMATTED.PAGEABLE); flavors.add(DocFlavor.SERVICE_FORMATTED.PAGEABLE);
flavors.add(DocFlavor.SERVICE_FORMATTED.PRINTABLE); flavors.add(DocFlavor.SERVICE_FORMATTED.PRINTABLE);
} }
} }
// printer uris // printer uris
Set uris = getPrinterAttributeSet(PrinterUriSupported.class); Set<PrinterUriSupported> uris = getPrinterAttributeSet(PrinterUriSupported.class);
printerUris = new ArrayList(uris.size()); printerUris = new ArrayList<PrinterURI>(uris.size());
Iterator it = uris.iterator(); for (PrinterUriSupported uri : uris)
while (it.hasNext())
{ {
PrinterUriSupported uri = (PrinterUriSupported) it.next();
printerUris.add( new PrinterURI(uri.getURI())); printerUris.add( new PrinterURI(uri.getURI()));
} }
} }
/** /**
* We always return a implementation implementing CancelablePrintJob. * We always return a implementation implementing CancelablePrintJob.
* *
* @see javax.print.PrintService#createPrintJob() * @see javax.print.PrintService#createPrintJob()
*/ */
public DocPrintJob createPrintJob() public DocPrintJob createPrintJob()
{ {
return new DocPrintJobImpl(this, user, passwd); return new DocPrintJobImpl(this, user, passwd);
} }
/** /**
* @see javax.print.PrintService#getAttribute(java.lang.Class) * @see javax.print.PrintService#getAttribute(java.lang.Class)
*/ */
public PrintServiceAttribute getAttribute(Class category) public <T extends PrintServiceAttribute> T getAttribute(Class<T> category)
{ {
if (category == null) if (category == null)
throw new NullPointerException("category may not be null"); throw new NullPointerException("category may not be null");
if (! PrintServiceAttribute.class.isAssignableFrom(category)) if (! PrintServiceAttribute.class.isAssignableFrom(category))
throw new IllegalArgumentException( throw new IllegalArgumentException(
"category must be of type PrintServiceAttribute"); "category must be of type PrintServiceAttribute");
Set set = getPrinterAttributeSet(category); Set<T> set = getPrinterAttributeSet(category);
if (set != null && set.size() > 0) if (set != null && set.size() > 0)
return (PrintServiceAttribute) set.toArray()[0]; return set.iterator().next();
return null; return null;
} }
@ -414,81 +418,78 @@ public class IppPrintService implements PrintService
public PrintServiceAttributeSet getAttributes() public PrintServiceAttributeSet getAttributes()
{ {
PrintServiceAttributeSet set = new HashPrintServiceAttributeSet(); PrintServiceAttributeSet set = new HashPrintServiceAttributeSet();
Iterator it = printerAttr.values().iterator(); for (Set<Attribute> attrSet : printerAttr.values())
while (it.hasNext()) {
{ for (Attribute attr : attrSet)
Iterator it2 = ((Set) it.next()).iterator();
while (it2.hasNext())
{ {
Attribute attr = (Attribute) it2.next();
if (attr instanceof PrintServiceAttribute) if (attr instanceof PrintServiceAttribute)
set.add(attr); set.add(attr);
} }
} }
return AttributeSetUtilities.unmodifiableView(set); return AttributeSetUtilities.unmodifiableView(set);
} }
/** /**
* @see javax.print.PrintService#getDefaultAttributeValue(java.lang.Class) * @see javax.print.PrintService#getDefaultAttributeValue(java.lang.Class)
*/ */
public Object getDefaultAttributeValue(Class category) public Object getDefaultAttributeValue(Class<? extends Attribute> category)
{ {
// required attributes // required attributes
if (category.equals(Fidelity.class)) if (category.equals(Fidelity.class))
return Fidelity.FIDELITY_FALSE; return Fidelity.FIDELITY_FALSE;
if (category.equals(JobName.class)) if (category.equals(JobName.class))
return JOB_NAME; return JOB_NAME;
if (category.equals(RequestingUserName.class)) if (category.equals(RequestingUserName.class))
return REQUESTING_USER_NAME; return REQUESTING_USER_NAME;
// optional attributes // optional attributes
if (category.equals(JobPriority.class) if (category.equals(JobPriority.class)
&& printerAttr.containsKey(JobPriorityDefault.class)) && printerAttr.containsKey(JobPriorityDefault.class))
return getPrinterDefaultAttribute(JobPriorityDefault.class); return getPrinterDefaultAttribute(JobPriorityDefault.class);
if (category.equals(JobHoldUntil.class) if (category.equals(JobHoldUntil.class)
&& printerAttr.containsKey(JobHoldUntilDefault.class)) && printerAttr.containsKey(JobHoldUntilDefault.class))
return getPrinterDefaultAttribute(JobHoldUntilDefault.class); return getPrinterDefaultAttribute(JobHoldUntilDefault.class);
if (category.equals(JobSheets.class) if (category.equals(JobSheets.class)
&& printerAttr.containsKey(JobSheetsDefault.class)) && printerAttr.containsKey(JobSheetsDefault.class))
return getPrinterDefaultAttribute(JobSheetsDefault .class); return getPrinterDefaultAttribute(JobSheetsDefault .class);
if (category.equals(MultipleDocumentHandling.class) if (category.equals(MultipleDocumentHandling.class)
&& printerAttr.containsKey(MultipleDocumentHandlingDefault.class)) && printerAttr.containsKey(MultipleDocumentHandlingDefault.class))
return getPrinterDefaultAttribute(MultipleDocumentHandlingDefault.class); return getPrinterDefaultAttribute(MultipleDocumentHandlingDefault.class);
if (category.equals(Copies.class) if (category.equals(Copies.class)
&& printerAttr.containsKey(CopiesDefault.class)) && printerAttr.containsKey(CopiesDefault.class))
return getPrinterDefaultAttribute(CopiesDefault.class); return getPrinterDefaultAttribute(CopiesDefault.class);
if (category.equals(Finishings.class) if (category.equals(Finishings.class)
&& printerAttr.containsKey(FinishingsDefault.class)) && printerAttr.containsKey(FinishingsDefault.class))
return getPrinterDefaultAttribute(FinishingsDefault.class); return getPrinterDefaultAttribute(FinishingsDefault.class);
if (category.equals(Sides.class) if (category.equals(Sides.class)
&& printerAttr.containsKey(SidesDefault.class)) && printerAttr.containsKey(SidesDefault.class))
return getPrinterDefaultAttribute(SidesDefault.class); return getPrinterDefaultAttribute(SidesDefault.class);
if (category.equals(NumberUp.class) if (category.equals(NumberUp.class)
&& printerAttr.containsKey(NumberUpDefault.class)) && printerAttr.containsKey(NumberUpDefault.class))
return getPrinterDefaultAttribute(NumberUpDefault.class); return getPrinterDefaultAttribute(NumberUpDefault.class);
if (category.equals(OrientationRequested.class) if (category.equals(OrientationRequested.class)
&& printerAttr.containsKey(OrientationRequestedDefault.class)) && printerAttr.containsKey(OrientationRequestedDefault.class))
return getPrinterDefaultAttribute(OrientationRequestedDefault.class); return getPrinterDefaultAttribute(OrientationRequestedDefault.class);
if (category.equals(Media.class) if (category.equals(Media.class)
&& printerAttr.containsKey(MediaDefault.class)) && printerAttr.containsKey(MediaDefault.class))
return getPrinterDefaultAttribute(MediaDefault.class); return getPrinterDefaultAttribute(MediaDefault.class);
if (category.equals(PrinterResolution.class) if (category.equals(PrinterResolution.class)
&& printerAttr.containsKey(PrinterResolutionDefault.class)) && printerAttr.containsKey(PrinterResolutionDefault.class))
return getPrinterDefaultAttribute(PrinterResolutionDefault.class); return getPrinterDefaultAttribute(PrinterResolutionDefault.class);
if (category.equals(PrintQuality.class) if (category.equals(PrintQuality.class)
&& printerAttr.containsKey(PrintQualityDefault.class)) && printerAttr.containsKey(PrintQualityDefault.class))
return getPrinterDefaultAttribute(PrintQualityDefault.class); return getPrinterDefaultAttribute(PrintQualityDefault.class);
if (category.equals(Compression.class) if (category.equals(Compression.class)
&& printerAttr.containsKey(CompressionSupported.class)) && printerAttr.containsKey(CompressionSupported.class))
return Compression.NONE; return Compression.NONE;
if (category.equals(PageRanges.class)) if (category.equals(PageRanges.class))
return new PageRanges(1, Integer.MAX_VALUE); return new PageRanges(1, Integer.MAX_VALUE);
return null; return null;
} }
/** /**
* We return the value of <code>PrinterName</code> here. * We return the value of <code>PrinterName</code> here.
* @see javax.print.PrintService#getName() * @see javax.print.PrintService#getName()
@ -506,7 +507,7 @@ public class IppPrintService implements PrintService
{ {
// SUN does not provide any service factory for // SUN does not provide any service factory for
// print services (tested on linux/windows) // print services (tested on linux/windows)
// for the moment we do the same - just return null // for the moment we do the same - just return null
// later on we could provide at least the about UI dialog // later on we could provide at least the about UI dialog
return null; return null;
@ -515,11 +516,12 @@ public class IppPrintService implements PrintService
/** /**
* @see javax.print.PrintService#getSupportedAttributeCategories() * @see javax.print.PrintService#getSupportedAttributeCategories()
*/ */
public Class[] getSupportedAttributeCategories() public Class<?>[] getSupportedAttributeCategories()
{ {
Set categories = new HashSet(); Set<Class<? extends Attribute>> categories =
new HashSet<Class<? extends Attribute>>();
// Should only be job template attributes as of section 4.2
// Should only be job template attributes as of section 4.2
if (printerAttr.containsKey(JobPrioritySupported.class)) if (printerAttr.containsKey(JobPrioritySupported.class))
categories.add(JobPriority.class); categories.add(JobPriority.class);
if (printerAttr.containsKey(JobHoldUntilSupported.class)) if (printerAttr.containsKey(JobHoldUntilSupported.class))
@ -527,14 +529,14 @@ public class IppPrintService implements PrintService
if (printerAttr.containsKey(JobSheetsSupported.class)) if (printerAttr.containsKey(JobSheetsSupported.class))
categories.add(JobSheets.class); categories.add(JobSheets.class);
if (printerAttr.containsKey(MultipleDocumentHandlingSupported.class)) if (printerAttr.containsKey(MultipleDocumentHandlingSupported.class))
categories.add(MultipleDocumentHandling.class); categories.add(MultipleDocumentHandling.class);
if (printerAttr.containsKey(CopiesSupported.class)) if (printerAttr.containsKey(CopiesSupported.class))
categories.add(Copies.class); categories.add(Copies.class);
if (printerAttr.containsKey(FinishingsSupported.class)) if (printerAttr.containsKey(FinishingsSupported.class))
{ {
// if only none finishing is supported - it does not count as supported // if only none finishing is supported - it does not count as supported
Set set = getPrinterAttributeSet(FinishingsSupported.class); Set<FinishingsSupported> set = getPrinterAttributeSet(FinishingsSupported.class);
if (! (set.size() == 1 && set.contains(FinishingsSupported.NONE))) if (! (set.size() == 1 && set.contains(FinishingsSupported.NONE)))
categories.add(Finishings.class); categories.add(Finishings.class);
} }
if (printerAttr.containsKey(PageRangesSupported.class)) if (printerAttr.containsKey(PageRangesSupported.class))
@ -551,11 +553,11 @@ public class IppPrintService implements PrintService
categories.add(PrinterResolution.class); categories.add(PrinterResolution.class);
if (printerAttr.containsKey(PrintQualitySupported.class)) if (printerAttr.containsKey(PrintQualitySupported.class))
categories.add(PrintQuality.class); categories.add(PrintQuality.class);
// Chromaticity, Destination, MediaPrintableArea, // Chromaticity, Destination, MediaPrintableArea,
// SheetCollate, PresentationDirection - not IPP attributes // SheetCollate, PresentationDirection - not IPP attributes
// attributes outside section 4.2 // attributes outside section 4.2
if (printerAttr.containsKey(CompressionSupported.class)) if (printerAttr.containsKey(CompressionSupported.class))
categories.add(Compression.class); categories.add(Compression.class);
if (printerAttr.containsKey(JobImpressionsSupported.class)) if (printerAttr.containsKey(JobImpressionsSupported.class))
@ -564,13 +566,13 @@ public class IppPrintService implements PrintService
categories.add(JobKOctets.class); categories.add(JobKOctets.class);
if (printerAttr.containsKey(JobMediaSheetsSupported.class)) if (printerAttr.containsKey(JobMediaSheetsSupported.class))
categories.add(JobMediaSheets.class); categories.add(JobMediaSheets.class);
// always supported as required by IPP specification // always supported as required by IPP specification
categories.add(Fidelity.class); categories.add(Fidelity.class);
categories.add(JobName.class); categories.add(JobName.class);
categories.add(RequestingUserName.class); categories.add(RequestingUserName.class);
return (Class[]) categories.toArray(new Class[categories.size()]); return categories.toArray(new Class[categories.size()]);
} }
/** /**
@ -578,12 +580,12 @@ public class IppPrintService implements PrintService
* attribute values totally different may override this methods. Subclass only in * attribute values totally different may override this methods. Subclass only in
* need of handling the response differently may override the method * need of handling the response differently may override the method
* <code>handleSupportedAttributeValuesResponse(IppResponse, Class)</code> only. * <code>handleSupportedAttributeValuesResponse(IppResponse, Class)</code> only.
* *
* @see PrintService#getSupportedAttributeValues(Class, DocFlavor, AttributeSet) * @see PrintService#getSupportedAttributeValues(Class, DocFlavor, AttributeSet)
* @see #handleSupportedAttributeValuesResponse(IppResponse, Class) * @see #handleSupportedAttributeValuesResponse(IppResponse, Class)
*/ */
public Object getSupportedAttributeValues(Class category, DocFlavor flavor, public Object getSupportedAttributeValues(Class<? extends Attribute> category,
AttributeSet attributes) DocFlavor flavor, AttributeSet attributes)
{ {
// We currently ignore the attribute set - there is nothing in the IPP // We currently ignore the attribute set - there is nothing in the IPP
// specification which would come closer to what we do here. // specification which would come closer to what we do here.
@ -620,7 +622,7 @@ public class IppPrintService implements PrintService
request.setOperationAttributeDefaults(); request.setOperationAttributeDefaults();
request.addOperationAttribute(new RequestedAttributes(categoryName)); request.addOperationAttribute(new RequestedAttributes(categoryName));
request.addOperationAttribute(printerUri); request.addOperationAttribute(printerUri);
if (flavor != null) if (flavor != null)
{ {
DocumentFormat f = DocumentFormat.createDocumentFormat(flavor); DocumentFormat f = DocumentFormat.createDocumentFormat(flavor);
@ -628,7 +630,7 @@ public class IppPrintService implements PrintService
} }
response = request.send(); response = request.send();
int status = response.getStatusCode(); int status = response.getStatusCode();
if (! (status == IppStatusCode.SUCCESSFUL_OK if (! (status == IppStatusCode.SUCCESSFUL_OK
|| status == IppStatusCode.SUCCESSFUL_OK_IGNORED_OR_SUBSTITUED_ATTRIBUTES || status == IppStatusCode.SUCCESSFUL_OK_IGNORED_OR_SUBSTITUED_ATTRIBUTES
@ -647,41 +649,42 @@ public class IppPrintService implements PrintService
// method cannot throw exception - just log // method cannot throw exception - just log
logger.log(Component.IPP, "IPPException", e); logger.log(Component.IPP, "IPPException", e);
} }
return handleSupportedAttributeValuesResponse(response, category); return handleSupportedAttributeValuesResponse(response, category);
} }
/** /**
* Called to handle the supported attribute values response for the given * Called to handle the supported attribute values response for the given
* category. This might be overridden by subclasses with different requirements * category. This might be overridden by subclasses with different requirements
* for parsing/handling the response from the GetPrinterAttributes. * for parsing/handling the response from the GetPrinterAttributes.
* *
* @param response the response of the GetPrinterAttributes IPP request * @param response the response of the GetPrinterAttributes IPP request
* @param category the category for which the supported values are requested * @param category the category for which the supported values are requested
* @return A object indicating the supported values for the given attribute * @return A object indicating the supported values for the given attribute
* category, or <code>null</code> if this print service doesn't support the * category, or <code>null</code> if this print service doesn't support the
* given attribute category at all. * given attribute category at all.
* *
* @see #getSupportedAttributeValues(Class, DocFlavor, AttributeSet) * @see #getSupportedAttributeValues(Class, DocFlavor, AttributeSet)
*/ */
protected Object handleSupportedAttributeValuesResponse(IppResponse response, protected Object handleSupportedAttributeValuesResponse(IppResponse response,
Class category) Class<? extends Attribute> category)
{ {
List printerAtts = response.getPrinterAttributes(); List<Map<Class<? extends Attribute>, Set<Attribute>>> printerAtts =
response.getPrinterAttributes();
// only one will be returned // only one will be returned
Map printerAttribute = (Map) printerAtts.get(0); Map<Class<? extends Attribute>, Set<Attribute>> printerAttribute = printerAtts.get(0);
Class suppCategory = IppUtilities.getSupportedCategory(category); Class<? extends Attribute> suppCategory = IppUtilities.getSupportedCategory(category);
Set attr = (Set) printerAttribute.get(suppCategory); Set<Attribute> attr = printerAttribute.get(suppCategory);
// We sometime assume its a single instance with arbritrary value just indicating // We sometime assume its a single instance with arbritrary value just indicating
// support or an array which is returned. This is because I sometimes just choosed // support or an array which is returned. This is because I sometimes just choosed
// what sounds right to me - as I have yet to find a printer which supports every // what sounds right to me - as I have yet to find a printer which supports every
// special category in the SUN implementation to see what they return :-) // special category in the SUN implementation to see what they return :-)
// Map whats in the JSP API // Map whats in the JSP API
if (suppCategory.equals(JobPrioritySupported.class)) if (suppCategory.equals(JobPrioritySupported.class))
return (JobPrioritySupported) attr.toArray(new JobPrioritySupported[1])[0]; return (JobPrioritySupported) attr.iterator().next();
if (suppCategory.equals(JobHoldUntilSupported.class)) if (suppCategory.equals(JobHoldUntilSupported.class))
return new JobHoldUntil(new Date()); return new JobHoldUntil(new Date());
if (suppCategory.equals(JobSheetsSupported.class)) if (suppCategory.equals(JobSheetsSupported.class))
@ -689,11 +692,11 @@ public class IppPrintService implements PrintService
if (suppCategory.equals(MultipleDocumentHandlingSupported.class)) if (suppCategory.equals(MultipleDocumentHandlingSupported.class))
return MultipleDocumentHandlingSupported.getAssociatedAttributeArray(attr); return MultipleDocumentHandlingSupported.getAssociatedAttributeArray(attr);
if (suppCategory.equals(CopiesSupported.class)) if (suppCategory.equals(CopiesSupported.class))
return (CopiesSupported) attr.toArray(new CopiesSupported[1])[0]; return (CopiesSupported) attr.iterator().next();
if (suppCategory.equals(FinishingsSupported.class)) if (suppCategory.equals(FinishingsSupported.class))
return FinishingsSupported.getAssociatedAttributeArray(attr); return FinishingsSupported.getAssociatedAttributeArray(attr);
if (suppCategory.equals(PageRangesSupported.class)) if (suppCategory.equals(PageRangesSupported.class))
return new PageRanges[] { new PageRanges(1, Integer.MAX_VALUE) }; return new PageRanges[] { new PageRanges(1, Integer.MAX_VALUE) };
if (suppCategory.equals(OrientationRequestedSupported.class)) if (suppCategory.equals(OrientationRequestedSupported.class))
return OrientationRequestedSupported.getAssociatedAttributeArray(attr); return OrientationRequestedSupported.getAssociatedAttributeArray(attr);
if (suppCategory.equals(MediaSupported.class)) if (suppCategory.equals(MediaSupported.class))
@ -707,36 +710,34 @@ public class IppPrintService implements PrintService
// Special handling as it might also be in range of integers // Special handling as it might also be in range of integers
if (suppCategory.equals(NumberUpSupported.class)) if (suppCategory.equals(NumberUpSupported.class))
{ {
NumberUpSupported[] tmp = (NumberUpSupported[])
attr.toArray(new NumberUpSupported[attr.size()]);
if (attr.size() == 1) // number-up maybe in rangeofintegers if (attr.size() == 1) // number-up maybe in rangeofintegers
return tmp[0]; return attr.iterator().next();
int[][] members = new int[attr.size()][2]; int[][] members = new int[attr.size()][2];
Iterator<Attribute> it = attr.iterator();
for (int j = 0; j < attr.size(); j++) for (int j = 0; j < attr.size(); j++)
{ {
int value = tmp[j].getMembers()[0][0]; int value = ((NumberUpSupported) it.next()).getMembers()[0][0];
members[j] = new int[] { value, value }; members[j] = new int[] { value, value };
} }
NumberUpSupported supported = new NumberUpSupported(members); NumberUpSupported supported = new NumberUpSupported(members);
return supported; return supported;
} }
return null; return null;
} }
/** /**
* @see javax.print.PrintService#getSupportedDocFlavors() * @see javax.print.PrintService#getSupportedDocFlavors()
*/ */
public DocFlavor[] getSupportedDocFlavors() public DocFlavor[] getSupportedDocFlavors()
{ {
return (DocFlavor[]) flavors.toArray(new DocFlavor[flavors.size()]); return flavors.toArray(new DocFlavor[flavors.size()]);
} }
/** /**
* This is done by a validate-job operation and actually implemented in * This is done by a validate-job operation and actually implemented in
* this generic IPP reference implementation. Subclasses which does * this generic IPP reference implementation. Subclasses which does
* not correctly support Validate-Job operation might want to override this. * not correctly support Validate-Job operation might want to override this.
* *
@ -744,7 +745,7 @@ public class IppPrintService implements PrintService
*/ */
public AttributeSet getUnsupportedAttributes(DocFlavor flavor, public AttributeSet getUnsupportedAttributes(DocFlavor flavor,
AttributeSet attributes) AttributeSet attributes)
{ {
if (flavor != null && !isDocFlavorSupported(flavor)) if (flavor != null && !isDocFlavorSupported(flavor))
throw new IllegalArgumentException("flavor is not supported"); throw new IllegalArgumentException("flavor is not supported");
@ -757,21 +758,21 @@ public class IppPrintService implements PrintService
request.setOperationAttributeDefaults(); request.setOperationAttributeDefaults();
request.addOperationAttribute(printerUri); request.addOperationAttribute(printerUri);
request.addOperationAttribute(Fidelity.FIDELITY_TRUE); request.addOperationAttribute(Fidelity.FIDELITY_TRUE);
if (attributes != null && attributes.size() > 0) if (attributes != null && attributes.size() > 0)
{ {
request.addAndFilterJobOperationAttributes(attributes); request.addAndFilterJobOperationAttributes(attributes);
request.addAndFilterJobTemplateAttributes(attributes); request.addAndFilterJobTemplateAttributes(attributes);
} }
if (flavor != null) if (flavor != null)
{ {
DocumentFormat f = DocumentFormat.createDocumentFormat(flavor); DocumentFormat f = DocumentFormat.createDocumentFormat(flavor);
request.addOperationAttribute(f); request.addOperationAttribute(f);
} }
response = request.send(); response = request.send();
int status = response.getStatusCode(); int status = response.getStatusCode();
if (! (status == IppStatusCode.SUCCESSFUL_OK if (! (status == IppStatusCode.SUCCESSFUL_OK
|| status == IppStatusCode.SUCCESSFUL_OK_IGNORED_OR_SUBSTITUED_ATTRIBUTES || status == IppStatusCode.SUCCESSFUL_OK_IGNORED_OR_SUBSTITUED_ATTRIBUTES
@ -791,41 +792,39 @@ public class IppPrintService implements PrintService
logger.log(Component.IPP, "IPPException", e); logger.log(Component.IPP, "IPPException", e);
} }
// Validate Jobs returns only Unsupported and Operation // Validate Jobs returns only Unsupported and Operation
List unsupportedMaps = response.getUnsupportedAttributes(); List<Map<Class<? extends Attribute>, Set<Attribute>>> unsupportedMaps =
response.getUnsupportedAttributes();
if (unsupportedMaps.size() == 0) if (unsupportedMaps.size() == 0)
return null; return null;
Map unsupportedAttr = (Map) unsupportedMaps.get(0); Map<Class<? extends Attribute>, Set<Attribute>> unsupportedAttr = unsupportedMaps.get(0);
if (unsupportedAttr.size() == 0) if (unsupportedAttr.size() == 0)
return null; return null;
// Convert the return map with unsupported attributes // Convert the return map with unsupported attributes
// into an AttribueSet instance // into an AttribueSet instance
HashAttributeSet set = new HashAttributeSet(); HashAttributeSet set = new HashAttributeSet();
Iterator it = unsupportedAttr.values().iterator(); for (Set<Attribute> unsupported : unsupportedAttr.values())
while (it.hasNext())
{ {
Set unsupported = (Set) it.next(); for (Attribute att : unsupported)
Iterator it2 = unsupported.iterator(); set.add(att);
while (it2.hasNext())
set.add((Attribute) it2.next());
} }
return set; return set;
} }
/** /**
* @see PrintService#isAttributeCategorySupported(Class) * @see PrintService#isAttributeCategorySupported(Class)
*/ */
public boolean isAttributeCategorySupported(Class category) public boolean isAttributeCategorySupported(Class<? extends Attribute> category)
{ {
if (category == null) if (category == null)
throw new NullPointerException("category may not be null"); throw new NullPointerException("category may not be null");
if (! Attribute.class.isAssignableFrom(category)) if (! Attribute.class.isAssignableFrom(category))
throw new IllegalArgumentException("category must be of type Attribute"); throw new IllegalArgumentException("category must be of type Attribute");
return Arrays.asList(getSupportedAttributeCategories()).contains(category); return Arrays.asList(getSupportedAttributeCategories()).contains(category);
} }
@ -835,28 +834,28 @@ public class IppPrintService implements PrintService
public boolean isAttributeValueSupported(Attribute attrval, DocFlavor flavor, public boolean isAttributeValueSupported(Attribute attrval, DocFlavor flavor,
AttributeSet attributes) AttributeSet attributes)
{ {
// just redirect to getSupportedAttributeValues // just redirect to getSupportedAttributeValues
Object values = getSupportedAttributeValues(attrval.getCategory(), Object values = getSupportedAttributeValues(attrval.getCategory(),
flavor, attributes); flavor, attributes);
// null means none supported // null means none supported
if (values == null) if (values == null)
return false; return false;
// object may be an array // object may be an array
if (values.getClass().isArray()) if (values.getClass().isArray())
return Arrays.asList((Object[]) values).contains(attrval); return Arrays.asList((Object[]) values).contains(attrval);
// may be a single instance of the category (value is irrelevant) // may be a single instance of the category (value is irrelevant)
if (values.getClass().equals(attrval.getCategory())) if (values.getClass().equals(attrval.getCategory()))
return true; return true;
// a single instance of another class to give the bounds // a single instance of another class to give the bounds
// copies // copies
if (values.getClass().equals(CopiesSupported.class)) if (values.getClass().equals(CopiesSupported.class))
return ((CopiesSupported) values).contains((IntegerSyntax) attrval); return ((CopiesSupported) values).contains((IntegerSyntax) attrval);
// number up // number up
if (values.getClass().equals(NumberUpSupported.class)) if (values.getClass().equals(NumberUpSupported.class))
return ((NumberUpSupported) values).contains((IntegerSyntax) attrval); return ((NumberUpSupported) values).contains((IntegerSyntax) attrval);
// job priority // job priority
if (values.getClass().equals(JobPrioritySupported.class)) if (values.getClass().equals(JobPrioritySupported.class))
{ {
@ -865,15 +864,15 @@ public class IppPrintService implements PrintService
if (priority.getValue() < maxSupported.getValue()) if (priority.getValue() < maxSupported.getValue())
return true; return true;
} }
// I am unsure if these might also show up - not yet found a printer where // I am unsure if these might also show up - not yet found a printer where
// Suns implementation supports them: // Suns implementation supports them:
// JobImpressionsSupported, JobKOctetsSupported, JobMediaSheetsSupported // JobImpressionsSupported, JobKOctetsSupported, JobMediaSheetsSupported
return false; return false;
} }
/** /**
* @see javax.print.PrintService#isDocFlavorSupported(DocFlavor) * @see javax.print.PrintService#isDocFlavorSupported(DocFlavor)
*/ */
@ -881,11 +880,11 @@ public class IppPrintService implements PrintService
{ {
if (flavor == null) if (flavor == null)
throw new NullPointerException("DocFlavor may not be null."); throw new NullPointerException("DocFlavor may not be null.");
return flavors.contains(flavor); return flavors.contains(flavor);
} }
/** /**
* @see PrintService#addPrintServiceAttributeListener(PrintServiceAttributeListener) * @see PrintService#addPrintServiceAttributeListener(PrintServiceAttributeListener)
*/ */
@ -894,7 +893,7 @@ public class IppPrintService implements PrintService
{ {
printServiceAttributeListener.add(listener); printServiceAttributeListener.add(listener);
} }
/** /**
* @see PrintService#removePrintServiceAttributeListener(PrintServiceAttributeListener) * @see PrintService#removePrintServiceAttributeListener(PrintServiceAttributeListener)
*/ */
@ -903,7 +902,7 @@ public class IppPrintService implements PrintService
{ {
printServiceAttributeListener.remove(listener); printServiceAttributeListener.remove(listener);
} }
/** /**
* Returns "IppPrinter: " + <code>getName()</code> * Returns "IppPrinter: " + <code>getName()</code>
* @return The string representation. * @return The string representation.
@ -911,15 +910,15 @@ public class IppPrintService implements PrintService
public String toString() public String toString()
{ {
return "IppPrinter: " + getName(); return "IppPrinter: " + getName();
} }
/** /**
* Returns the printer-uri of this print service. * Returns the printer-uri of this print service.
* *
* @return The printer-uri attribute. * @return The printer-uri attribute.
*/ */
public PrinterURI getPrinterURI() public PrinterURI getPrinterURI()
{ {
return printerUri; return printerUri;
} }
} }

View File

@ -1,4 +1,4 @@
/* IppRequest.java -- /* IppRequest.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -112,37 +112,37 @@ import javax.print.attribute.standard.Sides;
* <li>data - q bytes - optional</li> * <li>data - q bytes - optional</li>
* </ul> * </ul>
* </p> * </p>
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public class IppRequest public class IppRequest
{ {
/** /**
* The printer-poll timeout. * The printer-poll timeout.
*/ */
private static final int timeout = 1000; private static final int timeout = 1000;
/** /**
* Helper class used to write the attributes of a request * Helper class used to write the attributes of a request
* into the supplied data output stream in the correct way. * into the supplied data output stream in the correct way.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
class RequestWriter class RequestWriter
{ {
private DataOutputStream out; private DataOutputStream out;
/** /**
* Creates a RequestWriter. * Creates a RequestWriter.
* *
* @param stream the stream to write to. * @param stream the stream to write to.
*/ */
RequestWriter(DataOutputStream stream) RequestWriter(DataOutputStream stream)
{ {
out = stream; out = stream;
} }
/** /**
* Writes an attribute in IntegerSyntax into the stream. * Writes an attribute in IntegerSyntax into the stream.
* @param attribute the attribute * @param attribute the attribute
@ -218,7 +218,7 @@ public class IppRequest
out.write(name.getBytes()); out.write(name.getBytes());
} }
else else
out.writeShort(0x0000); // only name-length out.writeShort(0x0000); // only name-length
out.writeShort(8); // range is 8 bytes out.writeShort(8); // range is 8 bytes
out.writeInt(ranges[i][0]); out.writeInt(ranges[i][0]);
@ -283,7 +283,7 @@ public class IppRequest
} }
out.writeByte(directionFromUTC); out.writeByte(directionFromUTC);
out.writeByte(offsetInMillis / 3600000); // hours out.writeByte(offsetInMillis / 3600000); // hours
out.writeByte((offsetInMillis % 3600000) / 60000); // minutes out.writeByte((offsetInMillis % 3600000) / 60000); // minutes
} }
@ -295,7 +295,7 @@ public class IppRequest
* of NAME value-tag in IPP this method checks for these attributes and * of NAME value-tag in IPP this method checks for these attributes and
* writes them as NAME_WITHOUT_LANGUAGE value-tag into the stream. * writes them as NAME_WITHOUT_LANGUAGE value-tag into the stream.
* </p> * </p>
* *
* @param attribute the attribute * @param attribute the attribute
* @param out the stream to write to * @param out the stream to write to
* @throws IOException if thrown by the stream * @throws IOException if thrown by the stream
@ -314,11 +314,11 @@ public class IppRequest
out.writeByte(IppValueTag.MIME_MEDIA_TYPE); out.writeByte(IppValueTag.MIME_MEDIA_TYPE);
else else
out.writeByte(IppValueTag.TEXT_WITHOUT_LANGUAGE); out.writeByte(IppValueTag.TEXT_WITHOUT_LANGUAGE);
out.writeShort(name.length()); out.writeShort(name.length());
out.write(name.getBytes()); out.write(name.getBytes());
out.writeShort(attribute.getValue().length()); out.writeShort(attribute.getValue().length());
out.write(attribute.getValue().getBytes()); out.write(attribute.getValue().getBytes());
} }
/** /**
@ -347,8 +347,8 @@ public class IppRequest
* @throws IOException if thrown by the stream * @throws IOException if thrown by the stream
*/ */
private void write(CharsetSyntax attribute) throws IOException private void write(CharsetSyntax attribute) throws IOException
{ {
String name = ((Attribute) attribute).getName(); String name = ((Attribute) attribute).getName();
out.writeByte(IppValueTag.CHARSET); out.writeByte(IppValueTag.CHARSET);
out.writeShort(name.length()); out.writeShort(name.length());
out.write(name.getBytes()); out.write(name.getBytes());
@ -371,7 +371,7 @@ public class IppRequest
out.writeShort(attribute.getValue().length()); out.writeShort(attribute.getValue().length());
out.write(attribute.getValue().getBytes()); out.write(attribute.getValue().getBytes());
} }
/** /**
* Writes an attribute in RequestedAttributes into the stream. * Writes an attribute in RequestedAttributes into the stream.
* @param attribute the attribute * @param attribute the attribute
@ -380,32 +380,32 @@ public class IppRequest
*/ */
private void write(RequestedAttributes attribute) throws IOException private void write(RequestedAttributes attribute) throws IOException
{ {
List values = attribute.getValues(); String[] values = attribute.getValues();
String name = ((Attribute) attribute).getName(); String name = ((Attribute) attribute).getName();
out.writeByte(IppValueTag.KEYWORD); out.writeByte(IppValueTag.KEYWORD);
out.writeShort(name.length()); out.writeShort(name.length());
out.write(name.getBytes()); out.write(name.getBytes());
out.writeShort(((String) values.get(0)).length()); out.writeShort(values[0].length());
out.write(((String) values.get(0)).getBytes()); out.write(values[0].getBytes());
for (int i=1; i < values.size(); i++) for (int i=1; i < values.length; i++)
{ {
out.writeByte(IppValueTag.KEYWORD); out.writeByte(IppValueTag.KEYWORD);
out.writeShort(0x0000); // length for additional value out.writeShort(0x0000); // length for additional value
out.writeShort(((String) values.get(i)).length()); out.writeShort(values[i].length());
out.write(((String) values.get(i)).getBytes()); out.write(values[i].getBytes());
} }
} }
/** /**
* Writes the given operation attribute group of the given map instance * Writes the given operation attribute group of the given map instance
* (key=group, values=set of attributes) into the supplied data * (key=group, values=set of attributes) into the supplied data
* output stream. * output stream.
* *
* @param attributes the set with the attributes. * @param attributes the set with the attributes.
* *
* @throws IOException if thrown by the used DataOutputStream. * @throws IOException if thrown by the used DataOutputStream.
* @throws IppException if unknown attributes occur. * @throws IppException if unknown attributes occur.
*/ */
@ -413,23 +413,23 @@ public class IppRequest
throws IOException, IppException throws IOException, IppException
{ {
out.write(IppDelimiterTag.OPERATION_ATTRIBUTES_TAG); out.write(IppDelimiterTag.OPERATION_ATTRIBUTES_TAG);
// its essential to write these two in this order and as first ones // its essential to write these two in this order and as first ones
Attribute att = attributes.get(AttributesCharset.class); Attribute att = attributes.get(AttributesCharset.class);
write((CharsetSyntax) att); write((CharsetSyntax) att);
logger.log(Component.IPP, "Attribute: Name: <" logger.log(Component.IPP, "Attribute: Name: <"
+ att.getCategory().getName() + "> Value: <" + att.toString() + ">"); + att.getCategory().getName() + "> Value: <" + att.toString() + ">");
attributes.remove(AttributesCharset.class); attributes.remove(AttributesCharset.class);
att = attributes.get(AttributesNaturalLanguage.class); att = attributes.get(AttributesNaturalLanguage.class);
write((NaturalLanguageSyntax) att); write((NaturalLanguageSyntax) att);
attributes.remove(AttributesNaturalLanguage.class); attributes.remove(AttributesNaturalLanguage.class);
logger.log(Component.IPP, "Attribute: Name: <" logger.log(Component.IPP, "Attribute: Name: <"
+ att.getCategory().getName() + "> Value: <" + att.toString() + ">"); + att.getCategory().getName() + "> Value: <" + att.toString() + ">");
// furthermore its essential to now write out the target attribute // furthermore its essential to now write out the target attribute
PrinterURI printerUri = (PrinterURI) attributes.get(PrinterURI.class); PrinterURI printerUri = (PrinterURI) attributes.get(PrinterURI.class);
JobUri jobUri = (JobUri) attributes.get(JobUri.class); JobUri jobUri = (JobUri) attributes.get(JobUri.class);
@ -470,26 +470,26 @@ public class IppRequest
.getName() + "> Value: <" + jobUri.toString() + ">"); .getName() + "> Value: <" + jobUri.toString() + ">");
} }
else if (reqAttrs != null) else if (reqAttrs != null)
{ {
write(reqAttrs); write(reqAttrs);
attributes.remove(RequestedAttributes.class); attributes.remove(RequestedAttributes.class);
logger.log(Component.IPP, "RequestedAttributes: <" + reqAttrs + ">"); logger.log(Component.IPP, "RequestedAttributes: <" + reqAttrs + ">");
} }
else else
{ {
throw new IppException("Unknown target operation attribute combination."); throw new IppException("Unknown target operation attribute combination.");
} }
writeAttributes(attributes); writeAttributes(attributes);
} }
/** /**
* Writes the given attribute groups of the given map instance * Writes the given attribute groups of the given map instance
* (key=group, values=set of attributes) into the supplied data * (key=group, values=set of attributes) into the supplied data
* output stream. * output stream.
* *
* @param attributes the set with the attributes. * @param attributes the set with the attributes.
* *
* @throws IOException if thrown by the used DataOutputStream. * @throws IOException if thrown by the used DataOutputStream.
* @throws IppException if unknown attributes occur. * @throws IppException if unknown attributes occur.
*/ */
@ -500,9 +500,9 @@ public class IppRequest
for (int i = 0; i < attributeArray.length; i++) for (int i = 0; i < attributeArray.length; i++)
{ {
logger.log(Component.IPP, "Attribute: Name: <" + attributeArray[i] logger.log(Component.IPP, "Attribute: Name: <" + attributeArray[i]
.getCategory().getName() + "> Value: <" .getCategory().getName() + "> Value: <"
+ attributeArray[i].toString() + ">"); + attributeArray[i].toString() + ">");
if (attributeArray[i] instanceof IntegerSyntax) if (attributeArray[i] instanceof IntegerSyntax)
write((IntegerSyntax) attributeArray[i]); write((IntegerSyntax) attributeArray[i]);
else if (attributeArray[i] instanceof TextSyntax) else if (attributeArray[i] instanceof TextSyntax)
@ -551,8 +551,8 @@ public class IppRequest
/** The operation type of this request. */ /** The operation type of this request. */
private short operation_id; private short operation_id;
/** /**
* The request id of this request. This is * The request id of this request. This is
* assigned automatically by the constructor. * assigned automatically by the constructor.
*/ */
private final int request_id; private final int request_id;
@ -564,48 +564,48 @@ public class IppRequest
private AttributeSet jobAttributes; private AttributeSet jobAttributes;
private Object data; private Object data;
private URI requestUri; private URI requestUri;
/** The underlying connection - IPP is http based */ /** The underlying connection - IPP is http based */
private HttpURLConnection connection; private HttpURLConnection connection;
/** /**
* Creates an IPPRequest instance. * Creates an IPPRequest instance.
* *
* @param uri the URI of the request * @param uri the URI of the request
* @param user the user if any * @param user the user if any
* @param password the password of the supplied user * @param password the password of the supplied user
*/ */
public IppRequest(URI uri, String user, String password) public IppRequest(URI uri, String user, String password)
{ {
request_id = incrementRequestIdCounter(); request_id = incrementRequestIdCounter();
requestUri = uri; requestUri = uri;
try try
{ {
URL url = new URL("http", URL url = new URL("http",
user == null user == null
? uri.getHost() : user + ":" ? uri.getHost() : user + ":"
+ password + "@" + uri.getHost(), + password + "@" + uri.getHost(),
uri.getPort(), uri.getPath()); uri.getPort(), uri.getPath());
connection = (HttpURLConnection) url.openConnection(); connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST"); connection.setRequestMethod("POST");
connection.setDoOutput(true); connection.setDoOutput(true);
connection.setRequestProperty("Content-type", "application/ipp"); connection.setRequestProperty("Content-type", "application/ipp");
connection.setRequestProperty("Accept", "text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2"); connection.setRequestProperty("Accept", "text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2");
} }
catch (IOException e) catch (IOException e)
{ {
// MalformedURLException - uri is already checked // MalformedURLException - uri is already checked
// ProtocolException - POST is correct method type // ProtocolException - POST is correct method type
// IOException -HTTPURLConnection constructor actually // IOException -HTTPURLConnection constructor actually
// does never throw this exception. // does never throw this exception.
logger.log(Component.IPP, "Unexpected IOException", e); logger.log(Component.IPP, "Unexpected IOException", e);
} }
logger.log(Component.IPP, "[IppConnection] Host: " + uri.getHost() logger.log(Component.IPP, "[IppConnection] Host: " + uri.getHost()
+ " Port: " + uri.getPort() + " Path: " + " Port: " + uri.getPort() + " Path: "
+ uri.getPath()); + uri.getPath());
@ -614,7 +614,7 @@ public class IppRequest
/** /**
* Synchronized method to be called by the constructor * Synchronized method to be called by the constructor
* to assign a unique request id to this request. * to assign a unique request id to this request.
* *
* @return The unique request id. * @return The unique request id.
*/ */
private synchronized int incrementRequestIdCounter() private synchronized int incrementRequestIdCounter()
@ -624,7 +624,7 @@ public class IppRequest
/** /**
* Returns the id of this request. * Returns the id of this request.
* *
* @return The request ID. * @return The request ID.
*/ */
public int getRequestID() public int getRequestID()
@ -632,11 +632,11 @@ public class IppRequest
return request_id; return request_id;
} }
/** /**
* Sets the data of the request. The data used in this * Sets the data of the request. The data used in this
* request will be the one of the supplied inputstream * request will be the one of the supplied inputstream
* instead of the alternative byte array possibility. * instead of the alternative byte array possibility.
* *
* @param stream the input stream to use for the data. * @param stream the input stream to use for the data.
*/ */
public void setData(InputStream stream) public void setData(InputStream stream)
@ -644,11 +644,11 @@ public class IppRequest
data = stream; data = stream;
} }
/** /**
* Sets the data of the request. The data used in this * Sets the data of the request. The data used in this
* request will be the one of the supplied byte[] * request will be the one of the supplied byte[]
* instead of the alternative input stream possibility. * instead of the alternative input stream possibility.
* *
* @param bytes the byte[] to use for the data. * @param bytes the byte[] to use for the data.
*/ */
public void setData(byte[] bytes) public void setData(byte[] bytes)
@ -658,7 +658,7 @@ public class IppRequest
/** /**
* Sets the operation id for this request. * Sets the operation id for this request.
* *
* @param id the operation id. * @param id the operation id.
*/ */
public void setOperationID(short id) public void setOperationID(short id)
@ -668,7 +668,7 @@ public class IppRequest
/** /**
* Adds the default values for the operation * Adds the default values for the operation
* attributes "attributes-charset" and * attributes "attributes-charset" and
* "attributes-natural-language" * "attributes-natural-language"
*/ */
public void setOperationAttributeDefaults() public void setOperationAttributeDefaults()
@ -679,64 +679,64 @@ public class IppRequest
operationAttributes.add(AttributesCharset.UTF8); operationAttributes.add(AttributesCharset.UTF8);
operationAttributes.add(AttributesNaturalLanguage.EN); operationAttributes.add(AttributesNaturalLanguage.EN);
} }
/** /**
* Add the job attribute of this request to the given * Add the job attribute of this request to the given
* attribute set. * attribute set.
* *
* @param attribute the job attribute. * @param attribute the job attribute.
*/ */
public void addJobAttribute(Attribute attribute) public void addJobAttribute(Attribute attribute)
{ {
if (jobAttributes == null) if (jobAttributes == null)
jobAttributes = new HashAttributeSet(); jobAttributes = new HashAttributeSet();
jobAttributes.add(attribute); jobAttributes.add(attribute);
} }
/** /**
* Sets the printer attribute of this request to the given * Sets the printer attribute of this request to the given
* attribute set. * attribute set.
* *
* @param attribute the printer attribute. * @param attribute the printer attribute.
*/ */
public void addPrinterAttributes(Attribute attribute) public void addPrinterAttributes(Attribute attribute)
{ {
if (printerAttributes == null) if (printerAttributes == null)
printerAttributes = new HashAttributeSet(); printerAttributes = new HashAttributeSet();
printerAttributes.add(attribute); printerAttributes.add(attribute);
} }
/** /**
* Adds the given attribute to the operation attributes set. * Adds the given attribute to the operation attributes set.
* *
* @param attribute the operation attribute to add. * @param attribute the operation attribute to add.
*/ */
public void addOperationAttribute(Attribute attribute) public void addOperationAttribute(Attribute attribute)
{ {
if (operationAttributes == null) if (operationAttributes == null)
operationAttributes = new HashAttributeSet(); operationAttributes = new HashAttributeSet();
operationAttributes.add(attribute); operationAttributes.add(attribute);
} }
/** /**
* Filters from the given attribute set the job operation out * Filters from the given attribute set the job operation out
* and adds them to the operation attributes set. * and adds them to the operation attributes set.
* *
* @param set the attributes to filter, may not be <code>null</code>. * @param set the attributes to filter, may not be <code>null</code>.
*/ */
public void addAndFilterJobOperationAttributes(AttributeSet set) public void addAndFilterJobOperationAttributes(AttributeSet set)
{ {
if (operationAttributes == null) if (operationAttributes == null)
operationAttributes = new HashAttributeSet(); operationAttributes = new HashAttributeSet();
// document-natural-language - not defined in JPS attributes // document-natural-language - not defined in JPS attributes
// document-format - specified outside, special treatment // document-format - specified outside, special treatment
Attribute[] tmp = set.toArray(); Attribute[] tmp = set.toArray();
for (int i = 0; i < tmp.length; i++) for (int i = 0; i < tmp.length; i++)
{ {
if (tmp[i].getCategory().equals(JobName.class) if (tmp[i].getCategory().equals(JobName.class)
|| tmp[i].getCategory().equals(Fidelity.class) || tmp[i].getCategory().equals(Fidelity.class)
|| tmp[i].getCategory().equals(JobImpressions.class) || tmp[i].getCategory().equals(JobImpressions.class)
@ -745,27 +745,27 @@ public class IppRequest
|| tmp[i].getCategory().equals(Compression.class) || tmp[i].getCategory().equals(Compression.class)
|| tmp[i].getCategory().equals(DocumentName.class) || tmp[i].getCategory().equals(DocumentName.class)
|| tmp[i].getCategory().equals(RequestingUserName.class)) || tmp[i].getCategory().equals(RequestingUserName.class))
operationAttributes.add(tmp[i]); operationAttributes.add(tmp[i]);
} }
} }
/** /**
* Filters from the given attribute set the job template attributes * Filters from the given attribute set the job template attributes
* out and adds them to the job attributes set. * out and adds them to the job attributes set.
* *
* @param set the attributes to filter, may not be <code>null</code>. * @param set the attributes to filter, may not be <code>null</code>.
*/ */
public void addAndFilterJobTemplateAttributes(AttributeSet set) public void addAndFilterJobTemplateAttributes(AttributeSet set)
{ {
if (jobAttributes == null) if (jobAttributes == null)
jobAttributes = new HashAttributeSet(); jobAttributes = new HashAttributeSet();
// document-natural-language - not defined in JPS attributes // document-natural-language - not defined in JPS attributes
// document-format - specified outside, special treatment // document-format - specified outside, special treatment
Attribute[] tmp = set.toArray(); Attribute[] tmp = set.toArray();
for (int i = 0; i < tmp.length; i++) for (int i = 0; i < tmp.length; i++)
{ {
if (tmp[i].getCategory().equals(JobPriority.class) if (tmp[i].getCategory().equals(JobPriority.class)
|| tmp[i].getCategory().equals(JobHoldUntil.class) || tmp[i].getCategory().equals(JobHoldUntil.class)
|| tmp[i].getCategory().equals(JobSheets.class) || tmp[i].getCategory().equals(JobSheets.class)
@ -780,67 +780,67 @@ public class IppRequest
|| tmp[i].getCategory().equals(PrintQuality.class) || tmp[i].getCategory().equals(PrintQuality.class)
|| tmp[i].getCategory().equals(SheetCollate.class) || tmp[i].getCategory().equals(SheetCollate.class)
|| tmp[i].getCategory().equals(Sides.class)) || tmp[i].getCategory().equals(Sides.class))
jobAttributes.add(tmp[i]); jobAttributes.add(tmp[i]);
} }
} }
/** /**
* Does some validation of the supplied parameters and then * Does some validation of the supplied parameters and then
* sends the request to the ipp server or service. * sends the request to the ipp server or service.
* *
* @return The response if any. * @return The response if any.
* *
* @throws IllegalStateException if request is already sent * @throws IllegalStateException if request is already sent
* @throws IppException if connection or request failed. * @throws IppException if connection or request failed.
* @throws IOException if writing of the header, attributes or footer fails. * @throws IOException if writing of the header, attributes or footer fails.
*/ */
public IppResponse send() throws IppException, IOException public IppResponse send() throws IppException, IOException
{ {
if (alreadySent) if (alreadySent)
throw new IllegalStateException("Request is already sent"); throw new IllegalStateException("Request is already sent");
alreadySent = true; alreadySent = true;
OutputStream stream = connection.getOutputStream(); OutputStream stream = connection.getOutputStream();
DataOutputStream out = new DataOutputStream(stream); DataOutputStream out = new DataOutputStream(stream);
// the header 8 bytes long // the header 8 bytes long
out.writeShort(VERSION); out.writeShort(VERSION);
out.writeShort(operation_id); out.writeShort(operation_id);
out.writeInt(request_id); out.writeInt(request_id);
logger.log(Component.IPP, "OperationID: " + Integer.toHexString(operation_id) logger.log(Component.IPP, "OperationID: " + Integer.toHexString(operation_id)
+ " RequestID: " + request_id); + " RequestID: " + request_id);
// Pass stuff the the attribute writer which knows how to // Pass stuff the the attribute writer which knows how to
// write the attributes in correct order // write the attributes in correct order
logger.log(Component.IPP, "Operation Attributes"); logger.log(Component.IPP, "Operation Attributes");
RequestWriter writer = new RequestWriter(out); RequestWriter writer = new RequestWriter(out);
writer.writeOperationAttributes(operationAttributes); writer.writeOperationAttributes(operationAttributes);
if (jobAttributes != null) if (jobAttributes != null)
{ {
logger.log(Component.IPP, "Job Attributes"); logger.log(Component.IPP, "Job Attributes");
out.write(IppDelimiterTag.JOB_ATTRIBUTES_TAG); out.write(IppDelimiterTag.JOB_ATTRIBUTES_TAG);
writer.writeAttributes(jobAttributes); writer.writeAttributes(jobAttributes);
} }
if (printerAttributes != null) if (printerAttributes != null)
{ {
logger.log(Component.IPP, "Printer Attributes"); logger.log(Component.IPP, "Printer Attributes");
out.write(IppDelimiterTag.PRINTER_ATTRIBUTES_TAG); out.write(IppDelimiterTag.PRINTER_ATTRIBUTES_TAG);
writer.writeAttributes(printerAttributes); writer.writeAttributes(printerAttributes);
} }
// write the delimiter to the data // write the delimiter to the data
out.write(IppDelimiterTag.END_OF_ATTRIBUTES_TAG); out.write(IppDelimiterTag.END_OF_ATTRIBUTES_TAG);
// check if data is byte[] or inputstream // check if data is byte[] or inputstream
if (data instanceof InputStream) if (data instanceof InputStream)
{ {
byte[] readbuf = new byte[2048]; byte[] readbuf = new byte[2048];
int len = 0; int len = 0;
while( (len = ((InputStream) data).read(readbuf)) > 0) while( (len = ((InputStream) data).read(readbuf)) > 0)
out.write(readbuf, 0, len); out.write(readbuf, 0, len);
} }
@ -848,27 +848,27 @@ public class IppRequest
{ {
out.write((byte[]) data); out.write((byte[]) data);
} }
out.flush(); out.flush();
stream.flush(); stream.flush();
// Set the connection timeout, for if the printer is offline. // Set the connection timeout, for if the printer is offline.
// FIXME: The print services polling should probably be done in its // FIXME: The print services polling should probably be done in its
// own thread. // own thread.
connection.setConnectTimeout( timeout ); connection.setConnectTimeout( timeout );
int responseCode = connection.getResponseCode(); int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) if (responseCode == HttpURLConnection.HTTP_OK)
{ {
IppResponse response = new IppResponse(requestUri, operation_id); IppResponse response = new IppResponse(requestUri, operation_id);
response.setResponseData(connection.getInputStream()); response.setResponseData(connection.getInputStream());
return response; return response;
} }
logger.log(Component.IPP, "HTTP-Statuscode: " + responseCode); logger.log(Component.IPP, "HTTP-Statuscode: " + responseCode);
throw new IppException("Request failed got HTTP status code " throw new IppException("Request failed got HTTP status code "
+ responseCode); + responseCode);
} }

View File

@ -1,4 +1,4 @@
/* IppResponse.java -- /* IppResponse.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -99,9 +99,9 @@ import javax.print.attribute.standard.PrinterStateReasons;
import javax.print.attribute.standard.Severity; import javax.print.attribute.standard.Severity;
/** /**
* <code>IppResponse</code> models a response received from an IPP * <code>IppResponse</code> models a response received from an IPP
* compatible server as described in RFC 2910 IPP 1.1 Encoding and Transport. * compatible server as described in RFC 2910 IPP 1.1 Encoding and Transport.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public class IppResponse public class IppResponse
@ -112,7 +112,7 @@ public class IppResponse
* response stream. It provides access to the attribute groups after parsing * response stream. It provides access to the attribute groups after parsing
* via getter methods. * via getter methods.
* <p> * <p>
* The enconding of a response is structured as follows (for an official * The enconding of a response is structured as follows (for an official
* description please have a look at the RFC document mentioned above): * description please have a look at the RFC document mentioned above):
* <ul> * <ul>
* <li>version-number - 2 bytes - required</li> * <li>version-number - 2 bytes - required</li>
@ -122,19 +122,19 @@ public class IppResponse
* <li>end-of-attributes-tag - 1 byte - required</li> * <li>end-of-attributes-tag - 1 byte - required</li>
* <li>data - q bytes - optional</li> * <li>data - q bytes - optional</li>
* </ul> * </ul>
* </p><p> * </p><p>
* Where each attribute-group (if any) is encoded as follows: * Where each attribute-group (if any) is encoded as follows:
* <ul> * <ul>
* <li>begin-attribute-group-tag - 1 byte</li> * <li>begin-attribute-group-tag - 1 byte</li>
* <li>attribute - p bytes - 0 or more</li> * <li>attribute - p bytes - 0 or more</li>
* </ul> * </ul>
* </p><p> * </p><p>
* Encoding of attributes: * Encoding of attributes:
* <ul> * <ul>
* <li>attribute-with-one-value - q bytes</li> * <li>attribute-with-one-value - q bytes</li>
* <li>additional-value - r bytes - 0 or more</li> * <li>additional-value - r bytes - 0 or more</li>
* </ul> * </ul>
* </p><p> * </p><p>
* Encoding of attribute-with-one-value: * Encoding of attribute-with-one-value:
* <ul> * <ul>
* <li>value-tag - 1 byte</li> * <li>value-tag - 1 byte</li>
@ -143,7 +143,7 @@ public class IppResponse
* <li>value-length (value is v) - 2 bytes</li> * <li>value-length (value is v) - 2 bytes</li>
* <li>value - v bytes</li> * <li>value - v bytes</li>
* </ul> * </ul>
* </p><p> * </p><p>
* Encoding of additional value: * Encoding of additional value:
* <ul> * <ul>
* <li>value-tag - 1 byte</li> * <li>value-tag - 1 byte</li>
@ -152,21 +152,21 @@ public class IppResponse
* <li>value - w bytes</li> * <li>value - w bytes</li>
* </ul> * </ul>
* </p> * </p>
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
class ResponseReader class ResponseReader
{ {
/** The IPP version defaults to 1.1 */ /** The IPP version defaults to 1.1 */
private static final short VERSION = 0x0101; private static final short VERSION = 0x0101;
/** /**
* Parses the inputstream containing the response of the IPP request. * Parses the inputstream containing the response of the IPP request.
* @param input the inputstream * @param input the inputstream
* @throws IppException if unexpected exceptions occur. * @throws IppException if unexpected exceptions occur.
* @throws IOException if IO problems with the underlying inputstream occur. * @throws IOException if IO problems with the underlying inputstream occur.
*/ */
public void parseResponse(InputStream input) public void parseResponse(InputStream input)
throws IppException, IOException throws IppException, IOException
{ {
DataInputStream stream = new DataInputStream(input); DataInputStream stream = new DataInputStream(input);
@ -179,12 +179,12 @@ public class IppResponse
throw new IppException("Version mismatch - " throw new IppException("Version mismatch - "
+ "implementation does not support other versions than IPP 1.1"); + "implementation does not support other versions than IPP 1.1");
logger.log(Component.IPP, "Statuscode: " logger.log(Component.IPP, "Statuscode: "
+ Integer.toHexString(status_code) + " Request-ID: " + request_id); + Integer.toHexString(status_code) + " Request-ID: " + request_id);
byte tag = 0; byte tag = 0;
boolean proceed = true; boolean proceed = true;
HashMap tmp; HashMap<Class<? extends Attribute>, Set<Attribute>> tmp;
// iterate over attribute-groups until end-of-attributes-tag is found // iterate over attribute-groups until end-of-attributes-tag is found
while (proceed) while (proceed)
{ {
@ -200,23 +200,23 @@ public class IppResponse
proceed = false; proceed = false;
break; break;
case IppDelimiterTag.OPERATION_ATTRIBUTES_TAG: case IppDelimiterTag.OPERATION_ATTRIBUTES_TAG:
tmp = new HashMap(); tmp = new HashMap<Class<? extends Attribute>, Set<Attribute>>();
tag = parseAttributes(tmp, stream); tag = parseAttributes(tmp, stream);
operationAttributes.add(tmp); operationAttributes.add(tmp);
break; break;
case IppDelimiterTag.JOB_ATTRIBUTES_TAG: case IppDelimiterTag.JOB_ATTRIBUTES_TAG:
tmp = new HashMap(); tmp = new HashMap<Class<? extends Attribute>, Set<Attribute>>();
tag = parseAttributes(tmp, stream); tag = parseAttributes(tmp, stream);
jobAttributes.add(tmp); jobAttributes.add(tmp);
break; break;
case IppDelimiterTag.PRINTER_ATTRIBUTES_TAG: case IppDelimiterTag.PRINTER_ATTRIBUTES_TAG:
tmp = new HashMap(); tmp = new HashMap<Class<? extends Attribute>, Set<Attribute>>();
tag = parseAttributes(tmp, stream); tag = parseAttributes(tmp, stream);
printerAttributes.add(tmp); printerAttributes.add(tmp);
break; break;
case IppDelimiterTag.UNSUPPORTED_ATTRIBUTES_TAG: case IppDelimiterTag.UNSUPPORTED_ATTRIBUTES_TAG:
System.out.println("Called"); System.out.println("Called");
tmp = new HashMap(); tmp = new HashMap<Class<? extends Attribute>, Set<Attribute>>();
tag = parseAttributes(tmp, stream); tag = parseAttributes(tmp, stream);
unsupportedAttributes.add(tmp); unsupportedAttributes.add(tmp);
break; break;
@ -247,7 +247,8 @@ public class IppResponse
* @throws IppException if unexpected exceptions occur. * @throws IppException if unexpected exceptions occur.
* @throws IOException if IO problems with the underlying inputstream occur. * @throws IOException if IO problems with the underlying inputstream occur.
*/ */
private byte parseAttributes(Map attributes, DataInputStream stream) private byte parseAttributes(Map<Class<? extends Attribute>, Set<Attribute>> attributes,
DataInputStream stream)
throws IppException, IOException throws IppException, IOException
{ {
Attribute lastAttribute = null; Attribute lastAttribute = null;
@ -294,7 +295,7 @@ public class IppResponse
// (4) The value itself // (4) The value itself
value = new byte[valueLength]; value = new byte[valueLength];
stream.read(value); stream.read(value);
// the value itself // the value itself
switch (tag) switch (tag)
@ -304,12 +305,12 @@ public class IppResponse
case IppValueTag.UNKNOWN: case IppValueTag.UNKNOWN:
// TODO implement out-of-band handling // TODO implement out-of-band handling
// We currently throw an exception to see when it occurs - not yet :-) // We currently throw an exception to see when it occurs - not yet :-)
throw new IppException( throw new IppException(
"Unexpected name value for out-of-band value tag " + tag); "Unexpected name value for out-of-band value tag " + tag);
case IppValueTag.NO_VALUE: case IppValueTag.NO_VALUE:
attribute = null; attribute = null;
break; break;
case IppValueTag.INTEGER: case IppValueTag.INTEGER:
int intValue = IppUtilities.convertToInt(value); int intValue = IppUtilities.convertToInt(value);
attribute = IppUtilities.getIntegerAttribute(name, intValue); attribute = IppUtilities.getIntegerAttribute(name, intValue);
@ -319,11 +320,11 @@ public class IppResponse
// JPS API models boolean syntax type as enums // JPS API models boolean syntax type as enums
// 0x01 = true, 0x00 = false - all are enums // 0x01 = true, 0x00 = false - all are enums
attribute = IppUtilities.getEnumAttribute(name, new Integer(value[0])); attribute = IppUtilities.getEnumAttribute(name, new Integer(value[0]));
break; break;
case IppValueTag.ENUM: case IppValueTag.ENUM:
int intVal = IppUtilities.convertToInt(value); int intVal = IppUtilities.convertToInt(value);
attribute = IppUtilities.getEnumAttribute(name, new Integer(intVal)); attribute = IppUtilities.getEnumAttribute(name, new Integer(intVal));
break; break;
case IppValueTag.OCTECTSTRING_UNSPECIFIED: case IppValueTag.OCTECTSTRING_UNSPECIFIED:
@ -347,7 +348,7 @@ public class IppResponse
int crossFeed = IppUtilities.convertToInt(value[0], value[1], value[2], value[3]); int crossFeed = IppUtilities.convertToInt(value[0], value[1], value[2], value[3]);
int feed = IppUtilities.convertToInt(value[4], value[5], value[6], value[7]); int feed = IppUtilities.convertToInt(value[4], value[5], value[6], value[7]);
int units = value[8]; int units = value[8];
if (name.equals("printer-resolution-default")) if (name.equals("printer-resolution-default"))
attribute = new PrinterResolutionDefault(crossFeed, feed, units); attribute = new PrinterResolutionDefault(crossFeed, feed, units);
else if (name.equals("printer-resolution-supported")) // may be here also else if (name.equals("printer-resolution-supported")) // may be here also
@ -362,7 +363,7 @@ public class IppResponse
attribute = new CopiesSupported(lower, upper); attribute = new CopiesSupported(lower, upper);
else if (name.equals("number-up-supported")) else if (name.equals("number-up-supported"))
attribute = new NumberUpSupported(lower, upper); attribute = new NumberUpSupported(lower, upper);
else if (name.equals("job-k-octets-supported")) else if (name.equals("job-k-octets-supported"))
attribute = new JobKOctetsSupported(lower, upper); attribute = new JobKOctetsSupported(lower, upper);
else if (name.equals("job-impressions-supported")) else if (name.equals("job-impressions-supported"))
attribute = new JobImpressionsSupported(lower, upper); attribute = new JobImpressionsSupported(lower, upper);
@ -375,19 +376,19 @@ public class IppResponse
case IppValueTag.NAME_WITH_LANGUAGE: case IppValueTag.NAME_WITH_LANGUAGE:
case IppValueTag.NAME_WITHOUT_LANGUAGE: case IppValueTag.NAME_WITHOUT_LANGUAGE:
attribute = IppUtilities.getTextAttribute(name, tag, value); attribute = IppUtilities.getTextAttribute(name, tag, value);
break; break;
case IppValueTag.KEYWORD: case IppValueTag.KEYWORD:
str = new String(value); str = new String(value);
if (name.equals("job-hold-until-supported")) // may also be name type if (name.equals("job-hold-until-supported")) // may also be name type
attribute = new JobHoldUntilSupported(str, null); attribute = new JobHoldUntilSupported(str, null);
else if (name.equals("job-hold-until-default")) else if (name.equals("job-hold-until-default"))
attribute = new JobHoldUntilDefault(str, null); attribute = new JobHoldUntilDefault(str, null);
else if (name.equals("media-supported")) else if (name.equals("media-supported"))
attribute = new MediaSupported(str, null); attribute = new MediaSupported(str, null);
else if (name.equals("media-default")) else if (name.equals("media-default"))
attribute = new MediaDefault(str, null); attribute = new MediaDefault(str, null);
else if (name.equals("job-sheets-default")) else if (name.equals("job-sheets-default"))
attribute = new JobSheetsDefault(str, null); attribute = new JobSheetsDefault(str, null);
else if (name.equals("job-sheets-supported")) else if (name.equals("job-sheets-supported"))
attribute = new JobSheetsSupported(str, null); attribute = new JobSheetsSupported(str, null);
@ -397,13 +398,13 @@ public class IppResponse
attribute = parsePrinterStateReasons(value, lastAttribute); attribute = parsePrinterStateReasons(value, lastAttribute);
else else
attribute = IppUtilities.getEnumAttribute(name, str); attribute = IppUtilities.getEnumAttribute(name, str);
// all other stuff is either an enum or needs to be mapped to an // all other stuff is either an enum or needs to be mapped to an
// UnknownAttribute instance. Enums catched here are: // UnknownAttribute instance. Enums catched here are:
// ipp-versions-supported, pdl-override-supported, compression-supported // ipp-versions-supported, pdl-override-supported, compression-supported
// uri-authentication-supported, uri-security-supported, sides-supported // uri-authentication-supported, uri-security-supported, sides-supported
// sides-default, multiple-document-handling-supported, multiple-document-handling-default // sides-default, multiple-document-handling-supported, multiple-document-handling-default
break; break;
case IppValueTag.URI: case IppValueTag.URI:
try try
@ -429,13 +430,13 @@ public class IppResponse
attribute = new PrinterDriverInstaller(uri); attribute = new PrinterDriverInstaller(uri);
else if (name.equals("printer-more-info-manufacturer")) else if (name.equals("printer-more-info-manufacturer"))
attribute = new PrinterMoreInfoManufacturer(uri); attribute = new PrinterMoreInfoManufacturer(uri);
break; break;
case IppValueTag.URI_SCHEME: case IppValueTag.URI_SCHEME:
// only one uri-scheme exists - and its an enum // only one uri-scheme exists - and its an enum
if (name.equals("reference-uri-schemes-supported")) if (name.equals("reference-uri-schemes-supported"))
attribute = IppUtilities.getEnumAttribute(name, new String(value)); attribute = IppUtilities.getEnumAttribute(name, new String(value));
break; break;
case IppValueTag.CHARSET: case IppValueTag.CHARSET:
str = new String(value); str = new String(value);
@ -445,7 +446,7 @@ public class IppResponse
attribute = new CharsetConfigured(str); attribute = new CharsetConfigured(str);
else if (name.equals("charset-supported")) // setOf else if (name.equals("charset-supported")) // setOf
attribute = new CharsetSupported(str); attribute = new CharsetSupported(str);
break; break;
case IppValueTag.NATURAL_LANGUAGE: case IppValueTag.NATURAL_LANGUAGE:
str = new String(value); str = new String(value);
@ -455,7 +456,7 @@ public class IppResponse
attribute = new NaturalLanguageConfigured(str); attribute = new NaturalLanguageConfigured(str);
else if (name.equals("generated-natural-language-supported")) // setOf else if (name.equals("generated-natural-language-supported")) // setOf
attribute = new GeneratedNaturalLanguageSupported(str); attribute = new GeneratedNaturalLanguageSupported(str);
break; break;
case IppValueTag.MIME_MEDIA_TYPE: case IppValueTag.MIME_MEDIA_TYPE:
str = new String(value); str = new String(value);
@ -465,7 +466,7 @@ public class IppResponse
attribute = new DocumentFormatSupported(str, null); attribute = new DocumentFormatSupported(str, null);
else if (name.equals("document-format")) // setOf else if (name.equals("document-format")) // setOf
attribute = new DocumentFormat(str, null); attribute = new DocumentFormat(str, null);
break; break;
default: default:
throw new IppException("Unknown tag with value " throw new IppException("Unknown tag with value "
@ -473,11 +474,11 @@ public class IppResponse
} }
if (attribute == null) if (attribute == null)
attribute = new UnknownAttribute(tag, name, value); attribute = new UnknownAttribute(tag, name, value);
addAttribute(attributes, attribute); addAttribute(attributes, attribute);
lastAttribute = attribute; lastAttribute = attribute;
logger.log(Component.IPP, "Attribute: " + name logger.log(Component.IPP, "Attribute: " + name
+ " Value: " + attribute.toString()); + " Value: " + attribute.toString());
} }
@ -492,20 +493,21 @@ public class IppResponse
* @param attribute * @param attribute
* the attribute to add * the attribute to add
*/ */
private void addAttribute(Map attributeGroup, Attribute attribute) private void addAttribute(Map<Class<? extends Attribute>, Set<Attribute>> attributeGroup,
Attribute attribute)
{ {
Class clazz = attribute.getCategory(); Class<? extends Attribute> clazz = attribute.getCategory();
Set attributeValues = (Set) attributeGroup.get(clazz); Set<Attribute> attributeValues = attributeGroup.get(clazz);
if (attributeValues == null) // first attribute of this category if (attributeValues == null) // first attribute of this category
{ {
attributeValues = new HashSet(); attributeValues = new HashSet<Attribute>();
attributeGroup.put(clazz, attributeValues); attributeGroup.put(clazz, attributeValues);
} }
attributeValues.add(attribute); attributeValues.add(attribute);
} }
/** /**
* Parses a name with or without language attribute value from the byte[] * Parses a name with or without language attribute value from the byte[]
* and returns the result as an object[]. * and returns the result as an object[].
@ -516,39 +518,39 @@ public class IppResponse
private PrinterStateReasons parsePrinterStateReasons(byte[] value, Attribute lastAttr) private PrinterStateReasons parsePrinterStateReasons(byte[] value, Attribute lastAttr)
{ {
String str = new String(value); String str = new String(value);
PrinterStateReasons attribute; PrinterStateReasons attribute;
if (lastAttr instanceof PrinterStateReasons) if (lastAttr instanceof PrinterStateReasons)
attribute = (PrinterStateReasons) lastAttr; attribute = (PrinterStateReasons) lastAttr;
else else
attribute = new PrinterStateReasons(); attribute = new PrinterStateReasons();
// special case indicating no reasons // special case indicating no reasons
if (str.equals("none")) if (str.equals("none"))
return attribute; return attribute;
Severity severity = null; Severity severity = null;
PrinterStateReason reason = null; PrinterStateReason reason = null;
if (str.endsWith(Severity.WARNING.toString())) if (str.endsWith(Severity.WARNING.toString()))
severity = Severity.WARNING; severity = Severity.WARNING;
else if (str.endsWith(Severity.REPORT.toString())) else if (str.endsWith(Severity.REPORT.toString()))
severity = Severity.REPORT; severity = Severity.REPORT;
else if (str.endsWith(Severity.ERROR.toString())) else if (str.endsWith(Severity.ERROR.toString()))
severity = Severity.ERROR; severity = Severity.ERROR;
if (severity != null) if (severity != null)
str = str.substring(0, str.lastIndexOf('-')); str = str.substring(0, str.lastIndexOf('-'));
else // we must associate a severity else // we must associate a severity
severity = Severity.REPORT; severity = Severity.REPORT;
reason = (PrinterStateReason) reason = (PrinterStateReason)
IppUtilities.getEnumAttribute("printer-state-reason", str); IppUtilities.getEnumAttribute("printer-state-reason", str);
attribute.put(reason , severity); attribute.put(reason , severity);
return attribute; return attribute;
} }
/** /**
* Parses a name with or without language attribute value from the byte[] * Parses a name with or without language attribute value from the byte[]
* and returns the result as an object[]. * and returns the result as an object[].
@ -559,24 +561,24 @@ public class IppResponse
private JobStateReasons parseJobStateReasons(byte[] value, Attribute lastAttr) private JobStateReasons parseJobStateReasons(byte[] value, Attribute lastAttr)
{ {
String str = new String(value); String str = new String(value);
JobStateReasons attribute; JobStateReasons attribute;
if (lastAttr instanceof JobStateReasons) if (lastAttr instanceof JobStateReasons)
attribute = (JobStateReasons) lastAttr; attribute = (JobStateReasons) lastAttr;
else else
attribute = new JobStateReasons(); attribute = new JobStateReasons();
// special case indicating no reasons // special case indicating no reasons
if (str.equals("none")) if (str.equals("none"))
return attribute; return attribute;
JobStateReason reason = (JobStateReason) JobStateReason reason = (JobStateReason)
IppUtilities.getEnumAttribute("job-state-reason", str); IppUtilities.getEnumAttribute("job-state-reason", str);
attribute.add(reason); attribute.add(reason);
return attribute; return attribute;
} }
/** /**
* Parses a DateTime syntax attribute and returns the constructed Date * Parses a DateTime syntax attribute and returns the constructed Date
* object. * object.
@ -597,7 +599,7 @@ public class IppResponse
* <li>10 | 11 | minutes from UTC | 0..59</li> * <li>10 | 11 | minutes from UTC | 0..59</li>
* </ul> * </ul>
* </p> * </p>
* *
* @param value the byte[] * @param value the byte[]
* @return The date object. * @return The date object.
*/ */
@ -625,28 +627,28 @@ public class IppResponse
return cal.getTime(); return cal.getTime();
} }
} }
/** /**
* Logger for tracing - enable by passing * Logger for tracing - enable by passing
* -Dgnu.classpath.debug.components=ipp to the vm. * -Dgnu.classpath.debug.components=ipp to the vm.
*/ */
static final Logger logger = SystemLogger.SYSTEM; static final Logger logger = SystemLogger.SYSTEM;
URI uri; URI uri;
short operation_id; short operation_id;
short status_code; short status_code;
int request_id; int request_id;
List operationAttributes; List<Map<Class<? extends Attribute>, Set<Attribute>>> operationAttributes;
List printerAttributes; List<Map<Class<? extends Attribute>, Set<Attribute>>> printerAttributes;
List jobAttributes; List<Map<Class<? extends Attribute>, Set<Attribute>>> jobAttributes;
List unsupportedAttributes; List<Map<Class<? extends Attribute>, Set<Attribute>>> unsupportedAttributes;
byte[] data; byte[] data;
/** /**
* Creates an <code>IppResponse</code> instance. * Creates an <code>IppResponse</code> instance.
* *
* @param uri the uri the request was directy to. * @param uri the uri the request was directy to.
* @param operation_id the operation id of the request. * @param operation_id the operation id of the request.
*/ */
@ -654,15 +656,19 @@ public class IppResponse
{ {
this.uri = uri; this.uri = uri;
this.operation_id = operation_id; this.operation_id = operation_id;
operationAttributes = new ArrayList(); operationAttributes =
jobAttributes = new ArrayList(); new ArrayList<Map<Class<? extends Attribute>, Set<Attribute>>>();
printerAttributes = new ArrayList(); jobAttributes =
unsupportedAttributes = new ArrayList(); new ArrayList<Map<Class<? extends Attribute>, Set<Attribute>>>();
printerAttributes =
new ArrayList<Map<Class<? extends Attribute>, Set<Attribute>>>();
unsupportedAttributes =
new ArrayList<Map<Class<? extends Attribute>, Set<Attribute>>>();
} }
/** /**
* Sets the data received from the request sent. * Sets the data received from the request sent.
* *
* @param input the input stream received. * @param input the input stream received.
* @throws IppException if parsing fails. * @throws IppException if parsing fails.
*/ */
@ -703,10 +709,10 @@ public class IppResponse
* Returns the set of job attributes group maps. * Returns the set of job attributes group maps.
* There may occur more than one group of type job attribute in a response * There may occur more than one group of type job attribute in a response
* because of e.g. multiple job or print service informations requested. * because of e.g. multiple job or print service informations requested.
* *
* @return The list of job attribute grou maps. * @return The list of job attribute group maps.
*/ */
public List getJobAttributes() public List<Map<Class<? extends Attribute>, Set<Attribute>>> getJobAttributes()
{ {
return jobAttributes; return jobAttributes;
} }
@ -715,10 +721,10 @@ public class IppResponse
* Returns the set of operation attributes group maps. * Returns the set of operation attributes group maps.
* There may occur more than one group of type job attribute in a response * There may occur more than one group of type job attribute in a response
* because of e.g. multiple job or print service informations requested. * because of e.g. multiple job or print service informations requested.
* *
* @return The list of operation attribute grou maps. * @return The list of operation attribute group maps.
*/ */
public List getOperationAttributes() public List<Map<Class<? extends Attribute>, Set<Attribute>>> getOperationAttributes()
{ {
return operationAttributes; return operationAttributes;
} }
@ -727,17 +733,17 @@ public class IppResponse
* Returns the set of printer attributes group maps. * Returns the set of printer attributes group maps.
* There may occur more than one group of type job attribute in a response * There may occur more than one group of type job attribute in a response
* because of e.g. multiple job or print service informations requested. * because of e.g. multiple job or print service informations requested.
* *
* @return The list of printer attribute grou maps. * @return The list of printer attribute group maps.
*/ */
public List getPrinterAttributes() public List<Map<Class<? extends Attribute>, Set<Attribute>>> getPrinterAttributes()
{ {
return printerAttributes; return printerAttributes;
} }
/** /**
* Returns the ID of the initial request. * Returns the ID of the initial request.
* *
* @return The request ID. * @return The request ID.
*/ */
public int getRequestID() public int getRequestID()
@ -748,7 +754,7 @@ public class IppResponse
/** /**
* Returns the status code of the response. * Returns the status code of the response.
* Defined in {@link IppStatusCode}. * Defined in {@link IppStatusCode}.
* *
* @return The status code. * @return The status code.
*/ */
public short getStatusCode() public short getStatusCode()
@ -760,17 +766,17 @@ public class IppResponse
* Returns the set of unsupported attributes group maps. * Returns the set of unsupported attributes group maps.
* There may occur more than one group of type job attribute in a response * There may occur more than one group of type job attribute in a response
* because of e.g. multiple job or print service informations requested. * because of e.g. multiple job or print service informations requested.
* *
* @return The list of unsupported attribute grou maps. * @return The list of unsupported attribute group maps.
*/ */
public List getUnsupportedAttributes() public List<Map<Class<? extends Attribute>, Set<Attribute>>> getUnsupportedAttributes()
{ {
return unsupportedAttributes; return unsupportedAttributes;
} }
/** /**
* Returns the data of the response. * Returns the data of the response.
* *
* @return The data as byte[]. * @return The data as byte[].
*/ */
public byte[] getData() public byte[] getData()

View File

@ -1,4 +1,4 @@
/* IppStatusCode.java -- /* IppStatusCode.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -39,20 +39,20 @@
package gnu.javax.print.ipp; package gnu.javax.print.ipp;
/** /**
* IPP Status codes as described in RFC 2911 APPENDIX B * IPP Status codes as described in RFC 2911 APPENDIX B
* (Status Codes and Suggested Status Code Messages) * (Status Codes and Suggested Status Code Messages)
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class IppStatusCode public final class IppStatusCode
{ {
/** /**
* Indicates a successful request with no attributes being * Indicates a successful request with no attributes being
* ignored or substituted. * ignored or substituted.
*/ */
public static final int SUCCESSFUL_OK = 0x0000; public static final int SUCCESSFUL_OK = 0x0000;
/** /**
* Indicates a successful request, however some of the supplied * Indicates a successful request, however some of the supplied
* attributes are ignored or substituted. * attributes are ignored or substituted.
*/ */
@ -67,7 +67,7 @@ public final class IppStatusCode
// Client Error Status Codes // Client Error Status Codes
// Indicates that the client has done something wrong in its // Indicates that the client has done something wrong in its
// requests send to the IPP server object // requests send to the IPP server object
/** Indicates a bad request e.g. malformed syntax. */ /** Indicates a bad request e.g. malformed syntax. */
public static final int CLIENT_ERROR_BAD_REQUEST = 0x0400; public static final int CLIENT_ERROR_BAD_REQUEST = 0x0400;
@ -80,9 +80,9 @@ public final class IppStatusCode
/** Indicates that the client is not authorized. */ /** Indicates that the client is not authorized. */
public static final int CLIENT_ERROR_NOT_AUTHORIZED = 0x0403; public static final int CLIENT_ERROR_NOT_AUTHORIZED = 0x0403;
/** /**
* Indicates a request which is not possible to process. * Indicates a request which is not possible to process.
* For example if the request is directed at a job already finished. * For example if the request is directed at a job already finished.
*/ */
public static final int CLIENT_ERROR_NOT_POSSIBLE = 0x0404; public static final int CLIENT_ERROR_NOT_POSSIBLE = 0x0404;
@ -106,16 +106,16 @@ public final class IppStatusCode
/** /**
* Indicates that the supplied attributes or values of attributes are not * Indicates that the supplied attributes or values of attributes are not
* supported by the printer object. Returning this code depends on the * supported by the printer object. Returning this code depends on the
* given "ipp-attribute-fidelity" operation attribute value. * given "ipp-attribute-fidelity" operation attribute value.
*/ */
public static final int CLIENT_ERROR_ATTRIBUTES_OR_VALUES_NOT_SUPPORTED public static final int CLIENT_ERROR_ATTRIBUTES_OR_VALUES_NOT_SUPPORTED
= 0x040B; = 0x040B;
/** /**
* Indicates the the URI scheme in a supplied print-uri or send-uri attribute * Indicates the the URI scheme in a supplied print-uri or send-uri attribute
* is not supported. * is not supported.
*/ */
public static final int CLIENT_ERROR_URI_SCHEME_NOT_SUPPORTED = 0x040C; public static final int CLIENT_ERROR_URI_SCHEME_NOT_SUPPORTED = 0x040C;
/** Indicates that a supplied attributes-charset is not supported. */ /** Indicates that a supplied attributes-charset is not supported. */
@ -127,8 +127,8 @@ public final class IppStatusCode
/** Indicates that the specified algorithm is not supported. */ /** Indicates that the specified algorithm is not supported. */
public static final int CLIENT_ERROR_COMPRESSION_NOT_SUPPORTED = 0x040F; public static final int CLIENT_ERROR_COMPRESSION_NOT_SUPPORTED = 0x040F;
/** /**
* Indicates that the document cannot be decompressed with the client * Indicates that the document cannot be decompressed with the client
* compression algorithm specified by the client. * compression algorithm specified by the client.
*/ */
public static final int CLIENT_ERROR_COMPRESSION_ERROR = 0x0410; public static final int CLIENT_ERROR_COMPRESSION_ERROR = 0x0410;
@ -136,13 +136,13 @@ public final class IppStatusCode
/** Indicates an error in the document format of the document. */ /** Indicates an error in the document format of the document. */
public static final int CLIENT_ERROR_DOCUMENT_FORMAT_ERROR = 0x0411; public static final int CLIENT_ERROR_DOCUMENT_FORMAT_ERROR = 0x0411;
/** /**
* Indicates that the document supplied via print-uri or send-uri cannot be * Indicates that the document supplied via print-uri or send-uri cannot be
* accessed by the printer object. * accessed by the printer object.
*/ */
public static final int CLIENT_ERROR_DOCUMENT_ACCESS_ERROR = 0x0412; public static final int CLIENT_ERROR_DOCUMENT_ACCESS_ERROR = 0x0412;
/** Indicates an internal server error. */ /** Indicates an internal server error. */
public static final int SERVER_ERROR_INTERNAL_ERROR = 0x0500; public static final int SERVER_ERROR_INTERNAL_ERROR = 0x0500;
@ -164,7 +164,7 @@ public final class IppStatusCode
/** Indicates that the server is currently not accepting jobs. */ /** Indicates that the server is currently not accepting jobs. */
public static final int SERVER_ERROR_NOT_ACCEPTING_JOBS = 0x0506; public static final int SERVER_ERROR_NOT_ACCEPTING_JOBS = 0x0506;
/** /**
* Indicates that the server is currently busy with processing. * Indicates that the server is currently busy with processing.
* Requests may be tried later again. * Requests may be tried later again.
*/ */
@ -174,11 +174,11 @@ public final class IppStatusCode
public static final int SERVER_ERROR_JOB_CANCELED = 0x0508; public static final int SERVER_ERROR_JOB_CANCELED = 0x0508;
/** Indicates that the server does not support multidocument jobs. */ /** Indicates that the server does not support multidocument jobs. */
public static final int SERVER_ERROR_MULTIPLE_DOCUMENT_JOBS_NOT_SUPPORTED public static final int SERVER_ERROR_MULTIPLE_DOCUMENT_JOBS_NOT_SUPPORTED
= 0x0509; = 0x0509;
private IppStatusCode() private IppStatusCode()
{ {
// not to be instantiated // not to be instantiated
} }

View File

@ -1,4 +1,4 @@
/* IppUtilities.java -- /* IppUtilities.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -140,28 +140,30 @@ import javax.print.attribute.standard.Sides;
* Also provides mapping from the attribute name values to * Also provides mapping from the attribute name values to
* the actual class object. Used to construct objects via reflection. * the actual class object. Used to construct objects via reflection.
* </p> * </p>
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class IppUtilities public final class IppUtilities
{ {
// These are reused in the reflection code to not instantiate an array everytime // These are reused in the reflection code to not instantiate an array everytime
private static Object[] INTEGER_ATT_VALUE = new Object[1]; private static Object[] INTEGER_ATT_VALUE = new Object[1];
private static Class[] INTEGER_CLASS_ARRAY = new Class[] {int.class}; private static Class<?>[] INTEGER_CLASS_ARRAY = new Class[] {int.class};
private static Object[] TEXT_ATT_VALUE = new Object[2]; private static Object[] TEXT_ATT_VALUE = new Object[2];
private static Class[] TEXT_CLASS_ARRAY = new Class[] {String.class, Locale.class}; private static Class<?>[] TEXT_CLASS_ARRAY = new Class[] {String.class, Locale.class};
// The map -> Attribute name to Attribute class // The map -> Attribute name to Attribute class
private static HashMap classesByName = new HashMap(); private static HashMap<String,Class<? extends Attribute>> classesByName =
new HashMap<String,Class<? extends Attribute>>();
// The map -> StandardAttribute class to SupportedAttribute category name // The map -> StandardAttribute class to SupportedAttribute category name
private static HashMap instanceByClass = new HashMap(); private static HashMap<Class<? extends Attribute>,SupportedValuesAttribute> instanceByClass =
new HashMap<Class<? extends Attribute>,SupportedValuesAttribute>();
/** /**
* All the currently needed attributes * All the currently needed attributes
*/ */
static static
{ {
// enums // enums
classesByName.put(JobState.ABORTED.getName(), JobState.class); classesByName.put(JobState.ABORTED.getName(), JobState.class);
classesByName.put(Sides.DUPLEX.getName(), Sides.class); classesByName.put(Sides.DUPLEX.getName(), Sides.class);
classesByName.put(SheetCollate.COLLATED.getName(), SheetCollate.class); classesByName.put(SheetCollate.COLLATED.getName(), SheetCollate.class);
@ -174,113 +176,113 @@ public final class IppUtilities
classesByName.put(PrintQuality.DRAFT.getName(), PrintQuality.class); classesByName.put(PrintQuality.DRAFT.getName(), PrintQuality.class);
classesByName.put(PrinterState.IDLE.getName(), PrinterState.class); classesByName.put(PrinterState.IDLE.getName(), PrinterState.class);
classesByName.put(SidesDefault.ONE_SIDED.getName(), SidesDefault.class); classesByName.put(SidesDefault.ONE_SIDED.getName(), SidesDefault.class);
classesByName.put(ReferenceUriSchemesSupported.FILE.getName(), classesByName.put(ReferenceUriSchemesSupported.FILE.getName(),
ReferenceUriSchemesSupported.class);
classesByName.put(PrinterStateReason.DOOR_OPEN.getName(),
PrinterStateReason.class);
classesByName.put(PresentationDirection.TOLEFT_TOTOP.getName(),
PresentationDirection.class);
classesByName.put(PDLOverrideSupported.ATTEMPTED.getName(),
PDLOverrideSupported.class);
classesByName.put(OrientationRequested.PORTRAIT.getName(),
OrientationRequested.class);
classesByName.put(MultipleDocumentHandling.SINGLE_DOCUMENT.getName(),
MultipleDocumentHandling.class);
classesByName.put(JobStateReason.JOB_QUEUED.getName(),
JobStateReason.class);
classesByName.put(UriAuthenticationSupported.NONE.getName(),
UriAuthenticationSupported.class);
classesByName.put(OperationsSupported.GET_JOBS.getName(),
OperationsSupported.class);
classesByName.put(UriSecuritySupported.NONE.getName(),
UriSecuritySupported.class);
classesByName.put(FinishingsSupported.NONE.getName(),
FinishingsSupported.class);
classesByName.put(FinishingsDefault.NONE.getName(),
FinishingsDefault.class);
classesByName.put(IppVersionsSupported.V_1_0.getName(),
IppVersionsSupported.class);
classesByName.put(MultipleDocumentHandlingSupported.SINGLE_DOCUMENT.getName(),
MultipleDocumentHandlingSupported.class);
classesByName.put(MultipleDocumentHandlingDefault.SINGLE_DOCUMENT.getName(),
MultipleDocumentHandlingDefault.class);
classesByName.put(CompressionSupported.NONE.getName(),
CompressionSupported.class);
classesByName.put(OrientationRequestedSupported.PORTRAIT.getName(),
OrientationRequestedSupported.class);
classesByName.put(OrientationRequestedDefault.PORTRAIT.getName(),
OrientationRequestedDefault.class);
classesByName.put(SidesSupported.ONE_SIDED.getName(),
SidesSupported.class);
classesByName.put(PrintQualityDefault.DRAFT.getName(),
PrintQualityDefault.class);
classesByName.put(PrintQualitySupported.DRAFT.getName(),
PrintQualitySupported.class);
classesByName.put(ReferenceUriSchemesSupported.FTP.getName(),
ReferenceUriSchemesSupported.class); ReferenceUriSchemesSupported.class);
classesByName.put(PrinterStateReason.DOOR_OPEN.getName(),
// the boolean types PrinterStateReason.class);
classesByName.put(ColorSupported.SUPPORTED.getName(), ColorSupported.class); classesByName.put(PresentationDirection.TOLEFT_TOTOP.getName(),
classesByName.put(PrinterIsAcceptingJobs.ACCEPTING_JOBS.getName(), PresentationDirection.class);
classesByName.put(PDLOverrideSupported.ATTEMPTED.getName(),
PDLOverrideSupported.class);
classesByName.put(OrientationRequested.PORTRAIT.getName(),
OrientationRequested.class);
classesByName.put(MultipleDocumentHandling.SINGLE_DOCUMENT.getName(),
MultipleDocumentHandling.class);
classesByName.put(JobStateReason.JOB_QUEUED.getName(),
JobStateReason.class);
classesByName.put(UriAuthenticationSupported.NONE.getName(),
UriAuthenticationSupported.class);
classesByName.put(OperationsSupported.GET_JOBS.getName(),
OperationsSupported.class);
classesByName.put(UriSecuritySupported.NONE.getName(),
UriSecuritySupported.class);
classesByName.put(FinishingsSupported.NONE.getName(),
FinishingsSupported.class);
classesByName.put(FinishingsDefault.NONE.getName(),
FinishingsDefault.class);
classesByName.put(IppVersionsSupported.V_1_0.getName(),
IppVersionsSupported.class);
classesByName.put(MultipleDocumentHandlingSupported.SINGLE_DOCUMENT.getName(),
MultipleDocumentHandlingSupported.class);
classesByName.put(MultipleDocumentHandlingDefault.SINGLE_DOCUMENT.getName(),
MultipleDocumentHandlingDefault.class);
classesByName.put(CompressionSupported.NONE.getName(),
CompressionSupported.class);
classesByName.put(OrientationRequestedSupported.PORTRAIT.getName(),
OrientationRequestedSupported.class);
classesByName.put(OrientationRequestedDefault.PORTRAIT.getName(),
OrientationRequestedDefault.class);
classesByName.put(SidesSupported.ONE_SIDED.getName(),
SidesSupported.class);
classesByName.put(PrintQualityDefault.DRAFT.getName(),
PrintQualityDefault.class);
classesByName.put(PrintQualitySupported.DRAFT.getName(),
PrintQualitySupported.class);
classesByName.put(ReferenceUriSchemesSupported.FTP.getName(),
ReferenceUriSchemesSupported.class);
// the boolean types
classesByName.put(ColorSupported.SUPPORTED.getName(), ColorSupported.class);
classesByName.put(PrinterIsAcceptingJobs.ACCEPTING_JOBS.getName(),
PrinterIsAcceptingJobs.class); PrinterIsAcceptingJobs.class);
classesByName.put(MultipleDocumentJobsSupported.SUPPORTED.getName(), classesByName.put(MultipleDocumentJobsSupported.SUPPORTED.getName(),
MultipleDocumentJobsSupported.class); MultipleDocumentJobsSupported.class);
classesByName.put(PageRangesSupported.SUPPORTED.getName(), classesByName.put(PageRangesSupported.SUPPORTED.getName(),
PageRangesSupported.class); PageRangesSupported.class);
// TextSyntax derived attributes // TextSyntax derived attributes
classesByName.put("media-default", MediaDefault.class); classesByName.put("media-default", MediaDefault.class);
classesByName.put("media-supported", MediaSupported.class); classesByName.put("media-supported", MediaSupported.class);
classesByName.put("media", MediaSizeName.class); classesByName.put("media", MediaSizeName.class);
classesByName.put("printer-location", PrinterLocation.class); classesByName.put("printer-location", PrinterLocation.class);
classesByName.put("printer-info", PrinterInfo.class); classesByName.put("printer-info", PrinterInfo.class);
classesByName.put("printer-make-and-model", PrinterMakeAndModel.class); classesByName.put("printer-make-and-model", PrinterMakeAndModel.class);
classesByName.put("printer-state-message", PrinterStateMessage.class); classesByName.put("printer-state-message", PrinterStateMessage.class);
classesByName.put("job-state-message", JobStateMessage.class); classesByName.put("job-state-message", JobStateMessage.class);
classesByName.put("job-sheets-default", JobSheetsDefault.class); classesByName.put("job-sheets-default", JobSheetsDefault.class);
classesByName.put("job-sheets-supported", JobSheetsSupported.class); classesByName.put("job-sheets-supported", JobSheetsSupported.class);
classesByName.put("job-name", JobName.class); classesByName.put("job-name", JobName.class);
classesByName.put("printer-name", PrinterName.class); classesByName.put("printer-name", PrinterName.class);
classesByName.put("status-message", StatusMessage.class); classesByName.put("status-message", StatusMessage.class);
classesByName.put("detailed-status-message", DetailedStatusMessage.class); classesByName.put("detailed-status-message", DetailedStatusMessage.class);
classesByName.put("document-access-error", DocumentAccessError.class); classesByName.put("document-access-error", DocumentAccessError.class);
classesByName.put("output-device-assigned", OutputDeviceAssigned.class); classesByName.put("output-device-assigned", OutputDeviceAssigned.class);
classesByName.put("job-hold-until-default", JobHoldUntilDefault.class); classesByName.put("job-hold-until-default", JobHoldUntilDefault.class);
classesByName.put("job-originating-user-name", classesByName.put("job-originating-user-name",
JobOriginatingUserName.class); JobOriginatingUserName.class);
classesByName.put("job-hold-until-supported", classesByName.put("job-hold-until-supported",
JobHoldUntilSupported.class); JobHoldUntilSupported.class);
classesByName.put("job-message-from-operator", classesByName.put("job-message-from-operator",
JobMessageFromOperator.class); JobMessageFromOperator.class);
classesByName.put("printer-message-from-operator", classesByName.put("printer-message-from-operator",
PrinterMessageFromOperator.class); PrinterMessageFromOperator.class);
classesByName.put("job-detailed-status-messages", classesByName.put("job-detailed-status-messages",
JobDetailedStatusMessages.class); JobDetailedStatusMessages.class);
classesByName.put("job-document-access-errors", classesByName.put("job-document-access-errors",
JobDocumentAccessErrors.class); JobDocumentAccessErrors.class);
// IntegerSyntax derived Attributes // IntegerSyntax derived Attributes
classesByName.put("copies-default", CopiesDefault.class); classesByName.put("copies-default", CopiesDefault.class);
classesByName.put("job-id", JobId.class); classesByName.put("job-id", JobId.class);
classesByName.put("job-priority-supported", JobPrioritySupported.class); classesByName.put("job-priority-supported", JobPrioritySupported.class);
classesByName.put("job-priority-default", JobPriorityDefault.class); classesByName.put("job-priority-default", JobPriorityDefault.class);
classesByName.put("number-up-supported", NumberUpSupported.class); classesByName.put("number-up-supported", NumberUpSupported.class);
classesByName.put("number-up-default", NumberUpDefault.class); classesByName.put("number-up-default", NumberUpDefault.class);
classesByName.put("queued-job-count", QueuedJobCount.class); classesByName.put("queued-job-count", QueuedJobCount.class);
classesByName.put("printer-up-time", PrinterUpTime.class); classesByName.put("printer-up-time", PrinterUpTime.class);
classesByName.put("pages-per-minute", PagesPerMinute.class); classesByName.put("pages-per-minute", PagesPerMinute.class);
classesByName.put("pages-per-minute-color", PagesPerMinuteColor.class); classesByName.put("pages-per-minute-color", PagesPerMinuteColor.class);
classesByName.put("job-k-octets-processed", JobKOctetsProcessed.class); classesByName.put("job-k-octets-processed", JobKOctetsProcessed.class);
classesByName.put("number-of-intervening-jobs", classesByName.put("number-of-intervening-jobs",
NumberOfInterveningJobs.class); NumberOfInterveningJobs.class);
classesByName.put("job-impressions-completed", classesByName.put("job-impressions-completed",
JobImpressionsCompleted.class); JobImpressionsCompleted.class);
classesByName.put("job-media-sheets-completed", classesByName.put("job-media-sheets-completed",
JobMediaSheetsCompleted.class); JobMediaSheetsCompleted.class);
classesByName.put("multiple-operation-time-out", classesByName.put("multiple-operation-time-out",
MultipleOperationTimeOut.class); MultipleOperationTimeOut.class);
// 4.2 job template attributes // 4.2 job template attributes
instanceByClass.put(JobPriority.class, new JobPrioritySupported(1)); instanceByClass.put(JobPriority.class, new JobPrioritySupported(1));
instanceByClass.put(JobHoldUntil.class, new JobHoldUntilSupported("", null)); instanceByClass.put(JobHoldUntil.class, new JobHoldUntilSupported("", null));
@ -299,7 +301,7 @@ public final class IppUtilities
// 4.4 printer attributes // 4.4 printer attributes
instanceByClass.put(Compression.class, CompressionSupported.COMPRESS); instanceByClass.put(Compression.class, CompressionSupported.COMPRESS);
} }
private IppUtilities() private IppUtilities()
{ {
// not to be instantiated // not to be instantiated
@ -308,38 +310,38 @@ public final class IppUtilities
/** /**
* Returns the implementing class object for given * Returns the implementing class object for given
* attribute name objects. * attribute name objects.
* *
* @param name the attribute name * @param name the attribute name
* @return The <code>Class</code> object. * @return The <code>Class</code> object.
*/ */
public static Class getClass(String name) public static Class<? extends Attribute> getClass(String name)
{ {
return (Class) classesByName.get(name); return classesByName.get(name);
} }
/** /**
* Returns the name of the supported attribute * Returns the name of the supported attribute
* based on the given standard attribute category. * based on the given standard attribute category.
* *
* @param clazz the standard attribute category * @param clazz the standard attribute category
* @return The name of the supported attribute category. * @return The name of the supported attribute category.
*/ */
public static String getSupportedAttrName(Class clazz) public static String getSupportedAttrName(Class<? extends Attribute> clazz)
{ {
return ((SupportedValuesAttribute) instanceByClass.get(clazz)).getName(); return instanceByClass.get(clazz).getName();
} }
/** /**
* Returns the category of the supported attribute * Returns the category of the supported attribute
* based on the given standard attribute category. * based on the given standard attribute category.
* *
* @param clazz the standard attribute category * @param clazz the standard attribute category
* @return The supported attribute category. * @return The supported attribute category.
*/ */
public static Class getSupportedCategory(Class clazz) public static Class<? extends Attribute> getSupportedCategory(Class<? extends Attribute> clazz)
{ {
return ((SupportedValuesAttribute) instanceByClass.get(clazz)).getCategory(); return instanceByClass.get(clazz).getCategory();
} }
/** /**
* Helper method to convert to an int. * Helper method to convert to an int.
@ -351,7 +353,7 @@ public final class IppUtilities
return (((b[0] & 0xff) << 24) | ((b[1] & 0xff) << 16) return (((b[0] & 0xff) << 24) | ((b[1] & 0xff) << 16)
| ((b[2] & 0xff) << 8) | (b[3] & 0xff)); | ((b[2] & 0xff) << 8) | (b[3] & 0xff));
} }
/** /**
* Helper method to convert to an int. * Helper method to convert to an int.
* @param b1 the 1th byte * @param b1 the 1th byte
@ -376,22 +378,22 @@ public final class IppUtilities
{ {
return (short) ((b1 << 8) | (b2 & 0xff)); return (short) ((b1 << 8) | (b2 & 0xff));
} }
/** /**
* Instantiates an <code>EnumSyntax</code> based attribute with the given IPP * Instantiates an <code>EnumSyntax</code> based attribute with the given IPP
* name and the given value (Enums maybe int or String based). * name and the given value (Enums maybe int or String based).
* *
* @param name the attribute name of the subclass. * @param name the attribute name of the subclass.
* @param value the integer value of the specific enum. * @param value the integer value of the specific enum.
* @return The Attribute (a subclass of EnumSyntax) * @return The Attribute (a subclass of EnumSyntax)
*/ */
public static Attribute getEnumAttribute(String name, Object value) public static Attribute getEnumAttribute(String name, Object value)
{ {
Class attrClass = getClass(name); Class<?> attrClass = getClass(name);
// There might be unknown enums we have no mapped class for // There might be unknown enums we have no mapped class for
if (attrClass == null) if (attrClass == null)
return null; return null;
try try
{ {
@ -423,33 +425,33 @@ public final class IppUtilities
{ {
// should not happen, all fields are public // should not happen, all fields are public
} }
return null; return null;
} }
/** /**
* Instantiates an <code>IntegerSyntax</code> based attribute with the * Instantiates an <code>IntegerSyntax</code> based attribute with the
* given IPP name for the given int value. * given IPP name for the given int value.
* *
* @param name the attribute name of the subclass. * @param name the attribute name of the subclass.
* @param value the integer value * @param value the integer value
* @return The Attribute (a subclass of IntegerSyntax) * @return The Attribute (a subclass of IntegerSyntax)
*/ */
public static Attribute getIntegerAttribute(String name, int value) public static Attribute getIntegerAttribute(String name, int value)
{ {
Class attrClass = getClass(name); Class<?> attrClass = getClass(name);
// There might be unknown attributes we have no mapped class for // There might be unknown attributes we have no mapped class for
if (attrClass == null) if (attrClass == null)
return null; return null;
try try
{ {
INTEGER_ATT_VALUE[0] = new Integer(value); INTEGER_ATT_VALUE[0] = Integer.valueOf(value);
Constructor c = attrClass.getDeclaredConstructor(INTEGER_CLASS_ARRAY); Constructor<?> c = attrClass.getDeclaredConstructor(INTEGER_CLASS_ARRAY);
return (Attribute) c.newInstance(INTEGER_ATT_VALUE); return (Attribute) c.newInstance(INTEGER_ATT_VALUE);
} }
catch (SecurityException e) catch (SecurityException e)
{ {
@ -471,21 +473,21 @@ public final class IppUtilities
{ {
// should not happen, all fields are public // should not happen, all fields are public
} }
return null; return null;
} }
/** /**
* Instantiates an <code>TextSyntax</code> based attribute with the given * Instantiates an <code>TextSyntax</code> based attribute with the given
* IPP name for the given text value (will be decoded). * IPP name for the given text value (will be decoded).
* *
* @param name the attribute name of the subclass. * @param name the attribute name of the subclass.
* @param tag the tag defined in {@link IppValueTag} * @param tag the tag defined in {@link IppValueTag}
* @param value the byte[] value to be decoded based on the tag value. * @param value the byte[] value to be decoded based on the tag value.
* @return The Attribute (a subclass of TextSyntax) * @return The Attribute (a subclass of TextSyntax)
*/ */
public static Attribute getTextAttribute(String name, byte tag, byte[] value) public static Attribute getTextAttribute(String name, byte tag, byte[] value)
{ {
// without language tag is rather easy - default locale // without language tag is rather easy - default locale
if (tag == IppValueTag.NAME_WITHOUT_LANGUAGE if (tag == IppValueTag.NAME_WITHOUT_LANGUAGE
|| tag == IppValueTag.TEXT_WITHOUT_LANGUAGE) || tag == IppValueTag.TEXT_WITHOUT_LANGUAGE)
@ -504,7 +506,7 @@ public final class IppUtilities
String language = new String(tmp); String language = new String(tmp);
String text = new String(tmp2); String text = new String(tmp2);
Locale locale = null; Locale locale = null;
if (language.length() > 2) if (language.length() > 2)
locale = new Locale(language.substring(0, 2), language.substring(3)); locale = new Locale(language.substring(0, 2), language.substring(3));
else else
@ -512,18 +514,18 @@ public final class IppUtilities
TEXT_ATT_VALUE[0] = text; TEXT_ATT_VALUE[0] = text;
TEXT_ATT_VALUE[1] = locale; TEXT_ATT_VALUE[1] = locale;
} }
Class attrClass = getClass(name); Class<?> attrClass = getClass(name);
// There might be unknown attributes we have no mapped class for // There might be unknown attributes we have no mapped class for
if (attrClass == null) if (attrClass == null)
return null; return null;
try try
{ {
Constructor c = attrClass.getDeclaredConstructor(TEXT_CLASS_ARRAY); Constructor<?> c = attrClass.getDeclaredConstructor(TEXT_CLASS_ARRAY);
return (Attribute) c.newInstance(TEXT_ATT_VALUE); return (Attribute) c.newInstance(TEXT_ATT_VALUE);
} }
catch (SecurityException e) catch (SecurityException e)
{ {
@ -545,7 +547,7 @@ public final class IppUtilities
{ {
// should not happen, all fields are public // should not happen, all fields are public
} }
return null; return null;
} }
} }

View File

@ -1,4 +1,4 @@
/* IppValueTag.java -- /* IppValueTag.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -44,96 +44,96 @@ package gnu.javax.print.ipp;
* Attributes are always of a special type syntax (e.g. boolean or * Attributes are always of a special type syntax (e.g. boolean or
* interger attribute). These value types are specified by the tag * interger attribute). These value types are specified by the tag
* constants provided in this class. Beside the syntax types some * constants provided in this class. Beside the syntax types some
* out of band values for reporting requested attributes as * out of band values for reporting requested attributes as
* unsupported, unknown etc. back to the client. * unsupported, unknown etc. back to the client.
* </p> * </p>
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class IppValueTag public final class IppValueTag
{ {
/** Out of band value for unsupported attributes. */ /** Out of band value for unsupported attributes. */
public static final byte UNSUPPORTED = 0x10; public static final byte UNSUPPORTED = 0x10;
// 0x11 reserved for 'default' for definition in a future // 0x11 reserved for 'default' for definition in a future
// IETF standards track document // IETF standards track document
/** Out of band value for unknown attributes. */ /** Out of band value for unknown attributes. */
public static final byte UNKNOWN = 0x12; public static final byte UNKNOWN = 0x12;
/** Out of band value for attribute without a value. */ /** Out of band value for attribute without a value. */
public static final byte NO_VALUE = 0x13; public static final byte NO_VALUE = 0x13;
// 0x14-0x1F reserved for "out-of-band" values in future IETF // 0x14-0x1F reserved for "out-of-band" values in future IETF
// standards track documents. // standards track documents.
// 0x20 reserved for definition in a future IETF // 0x20 reserved for definition in a future IETF
// standards track document // standards track document
/** Indicates a value of syntax type integer. */ /** Indicates a value of syntax type integer. */
public static final byte INTEGER = 0x21; public static final byte INTEGER = 0x21;
/** Indicates a value of syntax type boolean. */ /** Indicates a value of syntax type boolean. */
public static final byte BOOLEAN = 0x22; public static final byte BOOLEAN = 0x22;
/** Indicates a value of syntax type enum (enumeration). */ /** Indicates a value of syntax type enum (enumeration). */
public static final byte ENUM = 0x23; public static final byte ENUM = 0x23;
// 0x24-0x2F reserved for integer types for definition in // 0x24-0x2F reserved for integer types for definition in
// future IETF standards track documents // future IETF standards track documents
/** Indicates a value of syntax type octect string. */ /** Indicates a value of syntax type octect string. */
public static final byte OCTECTSTRING_UNSPECIFIED = 0x30; public static final byte OCTECTSTRING_UNSPECIFIED = 0x30;
/** Indicates a value of syntax type datetime. */ /** Indicates a value of syntax type datetime. */
public static final byte DATETIME = 0x31; public static final byte DATETIME = 0x31;
/** Indicates a value of syntax type resolution. */ /** Indicates a value of syntax type resolution. */
public static final byte RESOLUTION = 0x32; public static final byte RESOLUTION = 0x32;
/** Indicates a value of syntax type range of integers. */ /** Indicates a value of syntax type range of integers. */
public static final byte RANGEOFINTEGER = 0x33; public static final byte RANGEOFINTEGER = 0x33;
// 0x34 reserved for definition in a future IETF // 0x34 reserved for definition in a future IETF
// standards track document // standards track document
/** Indicates a value of syntax type text with language. */ /** Indicates a value of syntax type text with language. */
public static final byte TEXT_WITH_LANGUAGE = 0x35; public static final byte TEXT_WITH_LANGUAGE = 0x35;
/** Indicates a value of syntax type name with language. */ /** Indicates a value of syntax type name with language. */
public static final byte NAME_WITH_LANGUAGE = 0x36; public static final byte NAME_WITH_LANGUAGE = 0x36;
// 0x37-0x3F reserved for octetString type definitions in // 0x37-0x3F reserved for octetString type definitions in
// future IETF standards track documents // future IETF standards track documents
// 0x40 reserved for definition in a future IETF // 0x40 reserved for definition in a future IETF
// standards track document // standards track document
/** Indicates a value of syntax type text without language. */ /** Indicates a value of syntax type text without language. */
public static final byte TEXT_WITHOUT_LANGUAGE = 0x41; public static final byte TEXT_WITHOUT_LANGUAGE = 0x41;
/** Indicates a value of syntax type name without language. */ /** Indicates a value of syntax type name without language. */
public static final byte NAME_WITHOUT_LANGUAGE = 0x42; public static final byte NAME_WITHOUT_LANGUAGE = 0x42;
// 0x43 reserved for definition in a future IETF // 0x43 reserved for definition in a future IETF
// standards track document // standards track document
/** Indicates a value of syntax type keyword. */ /** Indicates a value of syntax type keyword. */
public static final byte KEYWORD = 0x44; public static final byte KEYWORD = 0x44;
/** Indicates a value of syntax type URI. */ /** Indicates a value of syntax type URI. */
public static final byte URI = 0x45; public static final byte URI = 0x45;
/** Indicates a value of syntax type URI scheme. */ /** Indicates a value of syntax type URI scheme. */
public static final byte URI_SCHEME = 0x46; public static final byte URI_SCHEME = 0x46;
/** Indicates a value of syntax type charset. */ /** Indicates a value of syntax type charset. */
public static final byte CHARSET = 0x47; public static final byte CHARSET = 0x47;
/** Indicates a value of syntax type language. */ /** Indicates a value of syntax type language. */
public static final byte NATURAL_LANGUAGE =0x48; public static final byte NATURAL_LANGUAGE =0x48;
/** Indicates a value of syntax type mime media. */ /** Indicates a value of syntax type mime media. */
public static final byte MIME_MEDIA_TYPE = 0x49; public static final byte MIME_MEDIA_TYPE = 0x49;
@ -145,15 +145,15 @@ public final class IppValueTag
{ {
// not to be instantiated; // not to be instantiated;
} }
/** /**
* Tests if given value corresponds to a * Tests if given value corresponds to a
* value tag value. * value tag value.
* *
* @param value the value to test for * @param value the value to test for
* @return <code>true</code> if, <code>false</code> otherwise. * @return <code>true</code> if, <code>false</code> otherwise.
*/ */
public static boolean isValueTag(byte value) public static boolean isValueTag(byte value)
{ {
if(value == 0x10 || value == 0x12 || value == 0x13 if(value == 0x10 || value == 0x12 || value == 0x13
|| value == 0x21 || value == 0x22 || value == 0x23 || value == 0x21 || value == 0x22 || value == 0x23
@ -163,8 +163,8 @@ public final class IppValueTag
|| value == 0x45 || value == 0x46 || value == 0x47 || value == 0x45 || value == 0x46 || value == 0x47
|| value == 0x48 || value == 0x49 ) || value == 0x48 || value == 0x49 )
return true; return true;
return false; return false;
} }
} }

View File

@ -45,18 +45,18 @@ import javax.print.PrintException;
import javax.print.attribute.PrintRequestAttributeSet; import javax.print.attribute.PrintRequestAttributeSet;
/** /**
* Implementation of the MultiDocPrintJob interface. Implementation * Implementation of the MultiDocPrintJob interface. Implementation
* is specific to the <code>IppPrintService</code> implementation. * is specific to the <code>IppPrintService</code> implementation.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public class MultiDocPrintJobImpl extends DocPrintJobImpl public class MultiDocPrintJobImpl extends DocPrintJobImpl
implements MultiDocPrintJob implements MultiDocPrintJob
{ {
/** /**
* Constructor forwarding arguments to the super constructor. * Constructor forwarding arguments to the super constructor.
* *
* @param service the print service instance. * @param service the print service instance.
* @param user the user of this print service. * @param user the user of this print service.
* @param passwd the password of the user. * @param passwd the password of the user.

View File

@ -1,4 +1,4 @@
/* CharsetSyntax.java -- /* CharsetSyntax.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -41,7 +41,7 @@ package gnu.javax.print.ipp.attribute;
import java.io.Serializable; import java.io.Serializable;
/** /**
* <code>CharsetSyntax</code> is the abstract base class of all attribute * <code>CharsetSyntax</code> is the abstract base class of all attribute
* classes which provide a charset (US-ASCII) string as value. * classes which provide a charset (US-ASCII) string as value.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
@ -62,7 +62,7 @@ public abstract class CharsetSyntax implements Cloneable, Serializable
{ {
if (value == null) if (value == null)
throw new NullPointerException("value may not be null"); throw new NullPointerException("value may not be null");
this.value = value; this.value = value;
} }
@ -98,14 +98,14 @@ public abstract class CharsetSyntax implements Cloneable, Serializable
if (! (obj instanceof CharsetSyntax)) if (! (obj instanceof CharsetSyntax))
return false; return false;
CharsetSyntax tmp = (CharsetSyntax) obj; CharsetSyntax tmp = (CharsetSyntax) obj;
return value.equals(tmp.getValue()); return value.equals(tmp.getValue());
} }
/** /**
* Returns a string representing the object. The returned * Returns a string representing the object. The returned
* string is the underlying text value of this object. * string is the underlying text value of this object.
* *
* @return The string representation. * @return The string representation.
*/ */
public String toString() public String toString()

View File

@ -1,4 +1,4 @@
/* DefaultValueAttribute.java -- /* DefaultValueAttribute.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -41,18 +41,18 @@ package gnu.javax.print.ipp.attribute;
import javax.print.attribute.Attribute; import javax.print.attribute.Attribute;
/** /**
* Marker interface for all attribute classes describing attributes * Marker interface for all attribute classes describing attributes
* providing default values. Often there exist a sequence of an * providing default values. Often there exist a sequence of an
* attribute name like: Name - &gt; Name-default -&gt; Name-supported. * attribute name like: Name - &gt; Name-default -&gt; Name-supported.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public interface DefaultValueAttribute extends Attribute public interface DefaultValueAttribute extends Attribute
{ {
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this SupportedValuesAttribute enum. * of this SupportedValuesAttribute enum.
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public Attribute getAssociatedAttribute(); public Attribute getAssociatedAttribute();

View File

@ -1,4 +1,4 @@
/* DetailedStatusMessage.java -- /* DetailedStatusMessage.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -45,12 +45,12 @@ import javax.print.attribute.TextSyntax;
/** /**
* DetailedStatusMessage attribute as described in RFC 2911 section * DetailedStatusMessage attribute as described in RFC 2911 section
* 3.1.6 Operation Response Status Codes and Status Message * 3.1.6 Operation Response Status Codes and Status Message
* provides a short description of the status of the operation. * provides a short description of the status of the operation.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class DetailedStatusMessage extends TextSyntax public final class DetailedStatusMessage extends TextSyntax
implements Attribute implements Attribute
{ {
@ -74,7 +74,7 @@ public final class DetailedStatusMessage extends TextSyntax
* *
* @return The class <code>DetailedStatusMessage</code> itself. * @return The class <code>DetailedStatusMessage</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return DetailedStatusMessage.class; return DetailedStatusMessage.class;
} }

View File

@ -1,4 +1,4 @@
/* DocumentAccessError.java -- /* DocumentAccessError.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -45,12 +45,12 @@ import javax.print.attribute.TextSyntax;
/** /**
* DocumentAccessError attribute as described in RFC 2911 section * DocumentAccessError attribute as described in RFC 2911 section
* 3.1.6 Operation Response Status Codes and Status Message * 3.1.6 Operation Response Status Codes and Status Message
* provides additional information for document access errors. * provides additional information for document access errors.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class DocumentAccessError extends TextSyntax public final class DocumentAccessError extends TextSyntax
implements Attribute implements Attribute
{ {
@ -74,7 +74,7 @@ public final class DocumentAccessError extends TextSyntax
* *
* @return The class <code>DocumentAccessError</code> itself. * @return The class <code>DocumentAccessError</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return DocumentAccessError.class; return DocumentAccessError.class;
} }

View File

@ -1,4 +1,4 @@
/* NaturalLanguageSyntax.java -- /* NaturalLanguageSyntax.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -41,13 +41,13 @@ package gnu.javax.print.ipp.attribute;
import java.io.Serializable; import java.io.Serializable;
/** /**
* <code>NaturalLanguageSyntax</code> is the abstract base class of all * <code>NaturalLanguageSyntax</code> is the abstract base class of all
* attribute classes which provide a natural language (US-ASCII) * attribute classes which provide a natural language (US-ASCII)
* string as value. * string as value.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public abstract class NaturalLanguageSyntax public abstract class NaturalLanguageSyntax
implements Cloneable, Serializable implements Cloneable, Serializable
{ {
private final String value; private final String value;
@ -64,7 +64,7 @@ public abstract class NaturalLanguageSyntax
{ {
if (value == null) if (value == null)
throw new NullPointerException("value may not be null"); throw new NullPointerException("value may not be null");
this.value = value; this.value = value;
} }
@ -100,14 +100,14 @@ public abstract class NaturalLanguageSyntax
if (! (obj instanceof NaturalLanguageSyntax)) if (! (obj instanceof NaturalLanguageSyntax))
return false; return false;
NaturalLanguageSyntax tmp = (NaturalLanguageSyntax) obj; NaturalLanguageSyntax tmp = (NaturalLanguageSyntax) obj;
return value.equals(tmp.getValue()); return value.equals(tmp.getValue());
} }
/** /**
* Returns a string representing the object. The returned * Returns a string representing the object. The returned
* string is the underlying text value of this object. * string is the underlying text value of this object.
* *
* @return The string representation. * @return The string representation.
*/ */
public String toString() public String toString()

View File

@ -1,4 +1,4 @@
/* RequestedAttributes.java -- /* RequestedAttributes.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -48,15 +48,15 @@ import javax.print.attribute.Attribute;
/** /**
* <code>RequestedAttributes</code> specifies the requested * <code>RequestedAttributes</code> specifies the requested
* attributes in an IPP request operation. * attributes in an IPP request operation.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class RequestedAttributes implements Attribute public final class RequestedAttributes implements Attribute
{ {
private ArrayList attributes; private ArrayList<String> attributes;
/** /**
* Creates a <code>RequestedAttributes</code> object with * Creates a <code>RequestedAttributes</code> object with
* the initial value. * the initial value.
* *
* @param value the string for the ipp name * @param value the string for the ipp name
@ -67,29 +67,29 @@ public final class RequestedAttributes implements Attribute
{ {
if (value == null) if (value == null)
throw new NullPointerException(); throw new NullPointerException();
attributes = new ArrayList(); attributes = new ArrayList<String>();
attributes.add(value); attributes.add(value);
} }
/** /**
* Adds the IPP name value to the set. * Adds the IPP name value to the set.
* *
* @param value the string for the ipp name * @param value the string for the ipp name
*/ */
public void addValue(String value) public void addValue(String value)
{ {
attributes.add(value); attributes.add(value);
} }
/** /**
* Returns the values. * Returns the values.
* *
* @return The values as list. * @return The values as list.
*/ */
public List getValues() public String[] getValues()
{ {
return attributes; return attributes.toArray(new String[attributes.size()]);
} }
/** /**
@ -97,7 +97,7 @@ public final class RequestedAttributes implements Attribute
* *
* @return The class <code>DocumentFormat</code> itself. * @return The class <code>DocumentFormat</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return RequestedAttributes.class; return RequestedAttributes.class;
} }
@ -120,13 +120,13 @@ public final class RequestedAttributes implements Attribute
public String toString() public String toString()
{ {
CPStringBuilder b = new CPStringBuilder(); CPStringBuilder b = new CPStringBuilder();
if (attributes.size() > 0) if (attributes.size() > 0)
b.append(attributes.get(0)); b.append(attributes.get(0));
for (int i=1; i < attributes.size(); i++) for (int i=1; i < attributes.size(); i++)
b.append(", " + attributes.get(i)); b.append(", " + attributes.get(i));
return b.toString(); return b.toString();
} }
} }

View File

@ -1,4 +1,4 @@
/* StatusMessage.java -- /* StatusMessage.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -45,9 +45,9 @@ import javax.print.attribute.TextSyntax;
/** /**
* StatusMessage attribute as described in RFC 2911 section * StatusMessage attribute as described in RFC 2911 section
* 3.1.6 Operation Response Status Codes and Status Message * 3.1.6 Operation Response Status Codes and Status Message
* provides a short description of the status of the operation. * provides a short description of the status of the operation.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class StatusMessage extends TextSyntax implements Attribute public final class StatusMessage extends TextSyntax implements Attribute
@ -73,7 +73,7 @@ public final class StatusMessage extends TextSyntax implements Attribute
* *
* @return The class <code>StatusMessage</code> itself. * @return The class <code>StatusMessage</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return StatusMessage.class; return StatusMessage.class;
} }

View File

@ -1,4 +1,4 @@
/* UnknownAttribute.java -- /* UnknownAttribute.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -49,7 +49,7 @@ import javax.print.attribute.Attribute;
/** /**
* UnknownAttribute holds all the parsed Attribute information. * UnknownAttribute holds all the parsed Attribute information.
* It provides methods to get the value-tag, name and value. * It provides methods to get the value-tag, name and value.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class UnknownAttribute implements Attribute public final class UnknownAttribute implements Attribute
@ -61,7 +61,7 @@ public final class UnknownAttribute implements Attribute
/** /**
* Creates a <code>UnknownAttribute</code> object with the given values. * Creates a <code>UnknownAttribute</code> object with the given values.
* *
* @param tag the value tag * @param tag the value tag
* @param name the attribute name * @param name the attribute name
* @param value the byte[] with the value * @param value the byte[] with the value
*/ */
@ -77,7 +77,7 @@ public final class UnknownAttribute implements Attribute
* *
* @return The class <code>UnknownAttribute</code> itself. * @return The class <code>UnknownAttribute</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return UnknownAttribute.class; return UnknownAttribute.class;
} }
@ -91,18 +91,18 @@ public final class UnknownAttribute implements Attribute
{ {
return name; return name;
} }
/** /**
* Returns the value tag * Returns the value tag
* @return The tag. * @return The tag.
* *
* @see gnu.javax.print.ipp.IppValueTag * @see gnu.javax.print.ipp.IppValueTag
*/ */
public byte getValueTag() public byte getValueTag()
{ {
return tag; return tag;
} }
/** /**
* Returns the name of the attribute. * Returns the name of the attribute.
* @return The name. * @return The name.
@ -111,7 +111,7 @@ public final class UnknownAttribute implements Attribute
{ {
return name; return name;
} }
/** /**
* Returns the attribute value origin byte array. * Returns the attribute value origin byte array.
* @return The value. * @return The value.
@ -120,7 +120,7 @@ public final class UnknownAttribute implements Attribute
{ {
return value; return value;
} }
/** /**
* Returns the attribute value decoded as String. * Returns the attribute value decoded as String.
* @return The value as String. * @return The value as String.
@ -129,7 +129,7 @@ public final class UnknownAttribute implements Attribute
{ {
return new String(value); return new String(value);
} }
/** /**
* Returns the attribute value decoded as int. * Returns the attribute value decoded as int.
* @return The value as int. * @return The value as int.
@ -138,7 +138,7 @@ public final class UnknownAttribute implements Attribute
{ {
return IppUtilities.convertToInt(value); return IppUtilities.convertToInt(value);
} }
/** /**
* Returns the attribute value decoded as an URI. * Returns the attribute value decoded as an URI.
* @return The value as URI. * @return The value as URI.
@ -159,7 +159,7 @@ public final class UnknownAttribute implements Attribute
* Provides a string representation for some default * Provides a string representation for some default
* tag types (e.g. int, rangeofinteger, string, uri). * tag types (e.g. int, rangeofinteger, string, uri).
* For other more complex types "No conversion found." * For other more complex types "No conversion found."
* is returned. * is returned.
*/ */
public String toString() public String toString()
{ {
@ -168,9 +168,9 @@ public final class UnknownAttribute implements Attribute
case IppValueTag.INTEGER: case IppValueTag.INTEGER:
return "" + getAttributeValueAsInt(); return "" + getAttributeValueAsInt();
case IppValueTag.RANGEOFINTEGER: case IppValueTag.RANGEOFINTEGER:
int lower = IppUtilities.convertToInt(value[0], value[1], int lower = IppUtilities.convertToInt(value[0], value[1],
value[2], value[3]); value[2], value[3]);
int upper = IppUtilities.convertToInt(value[4], value[5], int upper = IppUtilities.convertToInt(value[4], value[5],
value[6], value[7]); value[6], value[7]);
return lower + "-" + upper; return lower + "-" + upper;
case IppValueTag.URI: case IppValueTag.URI:
@ -186,5 +186,5 @@ public final class UnknownAttribute implements Attribute
default: default:
return "No conversion found."; return "No conversion found.";
} }
} }
} }

View File

@ -1,4 +1,4 @@
/* CopiesDefault.java -- /* CopiesDefault.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -46,13 +46,13 @@ import javax.print.attribute.standard.Copies;
/** /**
* <code>CopiesDefault</code> provides the default value * <code>CopiesDefault</code> provides the default value
* for the copies attribute. * for the copies attribute.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class CopiesDefault extends IntegerSyntax public final class CopiesDefault extends IntegerSyntax
implements DefaultValueAttribute implements DefaultValueAttribute
{ {
/** /**
* Creates a <code>CopiesDefault</code> object. * Creates a <code>CopiesDefault</code> object.
* *
@ -67,13 +67,13 @@ public final class CopiesDefault extends IntegerSyntax
if (value < 1) if (value < 1)
throw new IllegalArgumentException("value may not be less than 1"); throw new IllegalArgumentException("value may not be less than 1");
} }
/** /**
* Tests if the given object is equal to this object. * Tests if the given object is equal to this object.
* *
* @param obj the object to test * @param obj the object to test
* *
* @return <code>true</code> if both objects are equal, * @return <code>true</code> if both objects are equal,
* <code>false</code> otherwise. * <code>false</code> otherwise.
*/ */
public boolean equals(Object obj) public boolean equals(Object obj)
@ -89,7 +89,7 @@ public final class CopiesDefault extends IntegerSyntax
* *
* @return The class <code>CopiesDefault</code> itself. * @return The class <code>CopiesDefault</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return CopiesDefault.class; return CopiesDefault.class;
} }
@ -103,15 +103,15 @@ public final class CopiesDefault extends IntegerSyntax
{ {
return "copies-default"; return "copies-default";
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this DefaultValuesAttribute enum. * of this DefaultValuesAttribute enum.
* <p>May return null if no value exists in JPS API.</p> * <p>May return null if no value exists in JPS API.</p>
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public Attribute getAssociatedAttribute() public Attribute getAssociatedAttribute()
{ {
return new Copies(getValue()); return new Copies(getValue());
} }

View File

@ -1,4 +1,4 @@
/* DocumentFormatDefault.java -- /* DocumentFormatDefault.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -49,16 +49,16 @@ import javax.print.attribute.TextSyntax;
/** /**
* <code>DocumentFormatDefault</code> specifies the default document * <code>DocumentFormatDefault</code> specifies the default document
* format of a printer. * format of a printer.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
* *
*/ */
public final class DocumentFormatDefault extends TextSyntax public final class DocumentFormatDefault extends TextSyntax
implements DefaultValueAttribute implements DefaultValueAttribute
{ {
/** /**
* Creates a <code>DocumentFormatDefault</code> object with the * Creates a <code>DocumentFormatDefault</code> object with the
* given value and locale. * given value and locale.
* *
* @param value the value for this syntax * @param value the value for this syntax
@ -77,7 +77,7 @@ public final class DocumentFormatDefault extends TextSyntax
* *
* @return The class <code>DocumentFormatDefault</code> itself. * @return The class <code>DocumentFormatDefault</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return DocumentFormatDefault.class; return DocumentFormatDefault.class;
} }
@ -95,12 +95,12 @@ public final class DocumentFormatDefault extends TextSyntax
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this DefaultValuesAttribute enum. * of this DefaultValuesAttribute enum.
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public Attribute getAssociatedAttribute() public Attribute getAssociatedAttribute()
{ {
return new DocumentFormat(getValue(), getLocale()); return new DocumentFormat(getValue(), getLocale());
} }
} }

View File

@ -48,7 +48,7 @@ import javax.print.attribute.EnumSyntax;
/** /**
* The <code>FinishingsDefault</code> attribute provides the supported * The <code>FinishingsDefault</code> attribute provides the supported
* values for finishings of a job. * values for finishings of a job.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class FinishingsDefault extends EnumSyntax public final class FinishingsDefault extends EnumSyntax
@ -57,108 +57,108 @@ public final class FinishingsDefault extends EnumSyntax
/** No finishing. */ /** No finishing. */
public static final FinishingsDefault NONE = new FinishingsDefault(3); public static final FinishingsDefault NONE = new FinishingsDefault(3);
/** Staple the document(s) */ /** Staple the document(s) */
public static final FinishingsDefault STAPLE = new FinishingsDefault(4); public static final FinishingsDefault STAPLE = new FinishingsDefault(4);
/** Cover a document */ /** Cover a document */
public static final FinishingsDefault COVER = new FinishingsDefault(6); public static final FinishingsDefault COVER = new FinishingsDefault(6);
/** /**
* This value indicates that a binding is to be applied to the document. * This value indicates that a binding is to be applied to the document.
* The type and placement of the binding is site-defined. * The type and placement of the binding is site-defined.
*/ */
public static final FinishingsDefault BIND = new FinishingsDefault(7); public static final FinishingsDefault BIND = new FinishingsDefault(7);
/** /**
* Bind the document(s) with one or more staples (wire stitches) * Bind the document(s) with one or more staples (wire stitches)
* along the middle fold. * along the middle fold.
*/ */
public static final FinishingsDefault SADDLE_STITCH = new FinishingsDefault(8); public static final FinishingsDefault SADDLE_STITCH = new FinishingsDefault(8);
/** /**
* Bind the document(s) with one or more staples (wire stitches) * Bind the document(s) with one or more staples (wire stitches)
* along one edge. * along one edge.
*/ */
public static final FinishingsDefault EDGE_STITCH = new FinishingsDefault(9); public static final FinishingsDefault EDGE_STITCH = new FinishingsDefault(9);
/** /**
* Bind the document(s) with one or more staples in the top left * Bind the document(s) with one or more staples in the top left
* corner. * corner.
*/ */
public static final FinishingsDefault STAPLE_TOP_LEFT = new FinishingsDefault(20); public static final FinishingsDefault STAPLE_TOP_LEFT = new FinishingsDefault(20);
/** /**
* Bind the document(s) with one or more staples in the bottom * Bind the document(s) with one or more staples in the bottom
* left corner. * left corner.
*/ */
public static final FinishingsDefault STAPLE_BOTTOM_LEFT = new FinishingsDefault(21); public static final FinishingsDefault STAPLE_BOTTOM_LEFT = new FinishingsDefault(21);
/** /**
* Bind the document(s) with one or more staples in the top right corner. * Bind the document(s) with one or more staples in the top right corner.
*/ */
public static final FinishingsDefault STAPLE_TOP_RIGHT = new FinishingsDefault(22); public static final FinishingsDefault STAPLE_TOP_RIGHT = new FinishingsDefault(22);
/** /**
* Bind the document(s) with one or more staples in the bottom right corner. * Bind the document(s) with one or more staples in the bottom right corner.
*/ */
public static final FinishingsDefault STAPLE_BOTTOM_RIGHT = new FinishingsDefault(23); public static final FinishingsDefault STAPLE_BOTTOM_RIGHT = new FinishingsDefault(23);
/** /**
* Bind the document(s) with one or more staples (wire stitches) * Bind the document(s) with one or more staples (wire stitches)
* along the left edge. * along the left edge.
*/ */
public static final FinishingsDefault EDGE_STITCH_LEFT = new FinishingsDefault(24); public static final FinishingsDefault EDGE_STITCH_LEFT = new FinishingsDefault(24);
/** /**
* Bind the document(s) with one or more staples (wire stitches) along * Bind the document(s) with one or more staples (wire stitches) along
* the top edge. * the top edge.
*/ */
public static final FinishingsDefault EDGE_STITCH_TOP = new FinishingsDefault(25); public static final FinishingsDefault EDGE_STITCH_TOP = new FinishingsDefault(25);
/** /**
* Bind the document(s) with one or more staples (wire stitches) along * Bind the document(s) with one or more staples (wire stitches) along
* the right edge. * the right edge.
*/ */
public static final FinishingsDefault EDGE_STITCH_RIGHT = new FinishingsDefault(26); public static final FinishingsDefault EDGE_STITCH_RIGHT = new FinishingsDefault(26);
/** /**
* Bind the document(s) with one or more staples (wire stitches) along * Bind the document(s) with one or more staples (wire stitches) along
* the bottom edge. * the bottom edge.
*/ */
public static final FinishingsDefault EDGE_STITCH_BOTTOM = new FinishingsDefault(27); public static final FinishingsDefault EDGE_STITCH_BOTTOM = new FinishingsDefault(27);
/** /**
* Bind the document(s) with two staples (wire stitches) along the * Bind the document(s) with two staples (wire stitches) along the
* left edge assuming a portrait document. * left edge assuming a portrait document.
*/ */
public static final FinishingsDefault STAPLE_DUAL_LEFT = new FinishingsDefault(28); public static final FinishingsDefault STAPLE_DUAL_LEFT = new FinishingsDefault(28);
/** /**
* Bind the document(s) with two staples (wire stitches) along the * Bind the document(s) with two staples (wire stitches) along the
* top edge assuming a portrait document. * top edge assuming a portrait document.
*/ */
public static final FinishingsDefault STAPLE_DUAL_TOP = new FinishingsDefault(29); public static final FinishingsDefault STAPLE_DUAL_TOP = new FinishingsDefault(29);
/** /**
* Bind the document(s) with two staples (wire stitches) along the * Bind the document(s) with two staples (wire stitches) along the
* right edge assuming a portrait document. * right edge assuming a portrait document.
*/ */
public static final FinishingsDefault STAPLE_DUAL_RIGHT = new FinishingsDefault(30); public static final FinishingsDefault STAPLE_DUAL_RIGHT = new FinishingsDefault(30);
/** /**
* Bind the document(s) with two staples (wire stitches) along the * Bind the document(s) with two staples (wire stitches) along the
* bottom edge assuming a portrait document. * bottom edge assuming a portrait document.
*/ */
public static final FinishingsDefault STAPLE_DUAL_BOTTOM = new FinishingsDefault(31); public static final FinishingsDefault STAPLE_DUAL_BOTTOM = new FinishingsDefault(31);
private static final String[] stringTable = { "none", "staple", null, private static final String[] stringTable = { "none", "staple", null,
"cover", "bind", "saddle-stitch", "cover", "bind", "saddle-stitch",
"edge-stitch", null, null, null, "edge-stitch", null, null, null,
null, null, null, null, null, null, null, null, null, null,
null, null, "staple-top-left", null, null, "staple-top-left",
"staple-bottom-left", "staple-bottom-left",
"staple-top-right", "staple-top-right",
"staple-bottom-right", "staple-bottom-right",
"edge-stitch-left", "edge-stitch-left",
"edge-stitch-top", "edge-stitch-top",
@ -168,14 +168,14 @@ public final class FinishingsDefault extends EnumSyntax
"staple-dual-top", "staple-dual-top",
"staple-dual-right", "staple-dual-right",
"staple-dual-bottom" }; "staple-dual-bottom" };
private static final FinishingsDefault[] enumValueTable = { NONE, STAPLE, null, private static final FinishingsDefault[] enumValueTable = { NONE, STAPLE, null,
COVER, BIND, COVER, BIND,
SADDLE_STITCH, SADDLE_STITCH,
EDGE_STITCH, null, EDGE_STITCH, null,
null, null, null, null, null, null,
null, null, null, null, null, null,
null, null, null, null, null, null,
STAPLE_TOP_LEFT, STAPLE_TOP_LEFT,
STAPLE_BOTTOM_LEFT, STAPLE_BOTTOM_LEFT,
STAPLE_TOP_RIGHT, STAPLE_TOP_RIGHT,
@ -188,10 +188,10 @@ public final class FinishingsDefault extends EnumSyntax
STAPLE_DUAL_TOP, STAPLE_DUAL_TOP,
STAPLE_DUAL_RIGHT, STAPLE_DUAL_RIGHT,
STAPLE_DUAL_BOTTOM }; STAPLE_DUAL_BOTTOM };
/** /**
* Constructs a <code>FinishingsDefault</code> object. * Constructs a <code>FinishingsDefault</code> object.
* *
* @param value the value * @param value the value
*/ */
protected FinishingsDefault(int value) protected FinishingsDefault(int value)
@ -204,7 +204,7 @@ public final class FinishingsDefault extends EnumSyntax
* *
* @return the class <code>FinishingsDefault</code> itself * @return the class <code>FinishingsDefault</code> itself
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return FinishingsDefault.class; return FinishingsDefault.class;
} }
@ -218,7 +218,7 @@ public final class FinishingsDefault extends EnumSyntax
{ {
return "finishings-default"; return "finishings-default";
} }
/** /**
* Returns a table with the enumeration values represented as strings * Returns a table with the enumeration values represented as strings
* for this object. * for this object.
@ -249,14 +249,14 @@ public final class FinishingsDefault extends EnumSyntax
{ {
return 3; return 3;
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this DefaultValuesAttribute enum. * of this DefaultValuesAttribute enum.
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public Attribute getAssociatedAttribute() public Attribute getAssociatedAttribute()
{ {
return IppUtilities.getEnumAttribute("finishings", new Integer(getValue())); return IppUtilities.getEnumAttribute("finishings", new Integer(getValue()));
} }

View File

@ -1,4 +1,4 @@
/* JobHoldUntilDefault.java -- /* JobHoldUntilDefault.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -50,57 +50,57 @@ import javax.print.attribute.standard.JobHoldUntil;
/** /**
* JobHoldUntilDefault attribute provides the default value * JobHoldUntilDefault attribute provides the default value
* for the attribute type job-hold-until. * for the attribute type job-hold-until.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class JobHoldUntilDefault extends TextSyntax public final class JobHoldUntilDefault extends TextSyntax
implements DefaultValueAttribute implements DefaultValueAttribute
{ {
// a keyword/name based attribute in IPP // a keyword/name based attribute in IPP
// can be extended by administrators // can be extended by administrators
// standard values are predefined // standard values are predefined
/** Job should be printed immediately. */ /** Job should be printed immediately. */
public static final JobHoldUntilDefault NO_HOLD = public static final JobHoldUntilDefault NO_HOLD =
new JobHoldUntilDefault("no-hold", null); new JobHoldUntilDefault("no-hold", null);
/** Job should be hold indefinitely. */ /** Job should be hold indefinitely. */
public static final JobHoldUntilDefault INDEFINITE = public static final JobHoldUntilDefault INDEFINITE =
new JobHoldUntilDefault("indefinite", null); new JobHoldUntilDefault("indefinite", null);
/** Job should be processed during the day. */ /** Job should be processed during the day. */
public static final JobHoldUntilDefault DAY_TIME = public static final JobHoldUntilDefault DAY_TIME =
new JobHoldUntilDefault("day-time", null); new JobHoldUntilDefault("day-time", null);
/** Job should be processed in the evening. */ /** Job should be processed in the evening. */
public static final JobHoldUntilDefault EVENING = public static final JobHoldUntilDefault EVENING =
new JobHoldUntilDefault("evening", null); new JobHoldUntilDefault("evening", null);
/** Job should be processed during night. */ /** Job should be processed during night. */
public static final JobHoldUntilDefault NIGHT = public static final JobHoldUntilDefault NIGHT =
new JobHoldUntilDefault("night", null); new JobHoldUntilDefault("night", null);
/** Job should be processed during the weekend. */ /** Job should be processed during the weekend. */
public static final JobHoldUntilDefault WEEKEND = public static final JobHoldUntilDefault WEEKEND =
new JobHoldUntilDefault("weekend", null); new JobHoldUntilDefault("weekend", null);
/**
* Job should be processed as second-shift
* (after close of business).
*/
public static final JobHoldUntilDefault SECOND_SHIFT =
new JobHoldUntilDefault("second-shift", null);
/**
* Job should be processed as third-shift
* (after midnight).
*/
public static final JobHoldUntilDefault THIRD_SHIFT =
new JobHoldUntilDefault("third-shift", null);
/** /**
* Creates a <code>JobHoldUntilDefault</code> object with the * Job should be processed as second-shift
* (after close of business).
*/
public static final JobHoldUntilDefault SECOND_SHIFT =
new JobHoldUntilDefault("second-shift", null);
/**
* Job should be processed as third-shift
* (after midnight).
*/
public static final JobHoldUntilDefault THIRD_SHIFT =
new JobHoldUntilDefault("third-shift", null);
/**
* Creates a <code>JobHoldUntilDefault</code> object with the
* given value and locale. * given value and locale.
* *
* @param value the value for this syntax * @param value the value for this syntax
@ -119,7 +119,7 @@ public final class JobHoldUntilDefault extends TextSyntax
* *
* @return The class <code>JobHoldUntilDefault</code> itself. * @return The class <code>JobHoldUntilDefault</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return JobHoldUntilDefault.class; return JobHoldUntilDefault.class;
} }
@ -133,14 +133,14 @@ public final class JobHoldUntilDefault extends TextSyntax
{ {
return "job-hold-until-default"; return "job-hold-until-default";
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this DefaultValuesAttribute enum. * of this DefaultValuesAttribute enum.
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public Attribute getAssociatedAttribute() public Attribute getAssociatedAttribute()
{ {
// FIXME Same Mapping problem as in IppPrintService // FIXME Same Mapping problem as in IppPrintService
return new JobHoldUntil(new Date()); return new JobHoldUntil(new Date());

View File

@ -1,4 +1,4 @@
/* JobPriorityDefault.java -- /* JobPriorityDefault.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -47,13 +47,13 @@ import javax.print.attribute.standard.JobPriority;
/** /**
* JobPriorityDefault attribute provides the default value of * JobPriorityDefault attribute provides the default value of
* the printer object for the job-priority attribute. * the printer object for the job-priority attribute.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class JobPriorityDefault extends IntegerSyntax public final class JobPriorityDefault extends IntegerSyntax
implements DefaultValueAttribute implements DefaultValueAttribute
{ {
/** /**
* Creates a <code>JobPriorityDefault</code> object. * Creates a <code>JobPriorityDefault</code> object.
* *
@ -74,7 +74,7 @@ public final class JobPriorityDefault extends IntegerSyntax
* *
* @param obj the object to test * @param obj the object to test
* *
* @return <code>true</code> if both objects are equal, * @return <code>true</code> if both objects are equal,
* <code>false</code> otherwise. * <code>false</code> otherwise.
*/ */
public boolean equals(Object obj) public boolean equals(Object obj)
@ -90,7 +90,7 @@ public final class JobPriorityDefault extends IntegerSyntax
* *
* @return The class <code>JobPriorityDefault</code> itself. * @return The class <code>JobPriorityDefault</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return JobPriorityDefault.class; return JobPriorityDefault.class;
} }
@ -104,14 +104,14 @@ public final class JobPriorityDefault extends IntegerSyntax
{ {
return "job-priority-default"; return "job-priority-default";
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this DefaultValuesAttribute enum. * of this DefaultValuesAttribute enum.
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public Attribute getAssociatedAttribute() public Attribute getAssociatedAttribute()
{ {
return new JobPriority(getValue()); return new JobPriority(getValue());
} }

View File

@ -1,4 +1,4 @@
/* JobSheetsDefault.java -- /* JobSheetsDefault.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -49,26 +49,26 @@ import javax.print.attribute.standard.JobSheets;
/** /**
* JobSheetsDefault attribute provides the default value of * JobSheetsDefault attribute provides the default value of
* the printer object for the job-sheets attribute. * the printer object for the job-sheets attribute.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class JobSheetsDefault extends TextSyntax public final class JobSheetsDefault extends TextSyntax
implements DefaultValueAttribute implements DefaultValueAttribute
{ {
//a keyword/name based attribute in IPP //a keyword/name based attribute in IPP
// can be extended by administrators // can be extended by administrators
// standard values are predefined // standard values are predefined
/** No job sheet is the default */ /** No job sheet is the default */
public static final JobSheetsDefault NONE = public static final JobSheetsDefault NONE =
new JobSheetsDefault("none", Locale.getDefault()); new JobSheetsDefault("none", Locale.getDefault());
/** A job sheet is the default */ /** A job sheet is the default */
public static final JobSheetsDefault STANDARD = public static final JobSheetsDefault STANDARD =
new JobSheetsDefault("standard", Locale.getDefault()); new JobSheetsDefault("standard", Locale.getDefault());
/** /**
* Creates a <code>JobSheetsDefault</code> object with the * Creates a <code>JobSheetsDefault</code> object with the
* given value and locale. * given value and locale.
* *
* @param value the value for this syntax * @param value the value for this syntax
@ -81,13 +81,13 @@ public final class JobSheetsDefault extends TextSyntax
{ {
super(value, locale); super(value, locale);
} }
/** /**
* Returns category of this class. * Returns category of this class.
* *
* @return The class <code>JobSheetsDefault</code> itself. * @return The class <code>JobSheetsDefault</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return JobSheetsDefault.class; return JobSheetsDefault.class;
} }
@ -101,21 +101,21 @@ public final class JobSheetsDefault extends TextSyntax
{ {
return "job-sheets-default"; return "job-sheets-default";
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this DefaultValuesAttribute enum. * of this DefaultValuesAttribute enum.
* <p>May return null if no value exists in JPS API.</p> * <p>May return null if no value exists in JPS API.</p>
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public Attribute getAssociatedAttribute() public Attribute getAssociatedAttribute()
{ {
if (this.equals(JobSheetsDefault.NONE)) if (this.equals(JobSheetsDefault.NONE))
return JobSheets.NONE; return JobSheets.NONE;
if (this.equals(JobSheetsDefault.STANDARD)) if (this.equals(JobSheetsDefault.STANDARD))
return JobSheets.STANDARD; return JobSheets.STANDARD;
return null; return null;
} }

View File

@ -1,4 +1,4 @@
/* MediaDefault.java -- /* MediaDefault.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -49,15 +49,15 @@ import javax.print.attribute.TextSyntax;
/** /**
* MediaDefault attribute provides the default value of * MediaDefault attribute provides the default value of
* the printer object for the media attribute. * the printer object for the media attribute.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class MediaDefault extends TextSyntax public final class MediaDefault extends TextSyntax
implements DefaultValueAttribute implements DefaultValueAttribute
{ {
/** /**
* Creates a <code>MediaDefault</code> object with the * Creates a <code>MediaDefault</code> object with the
* given value and locale. * given value and locale.
* *
* @param value the value for this syntax * @param value the value for this syntax
@ -70,13 +70,13 @@ public final class MediaDefault extends TextSyntax
{ {
super(value, locale); super(value, locale);
} }
/** /**
* Returns category of this class. * Returns category of this class.
* *
* @return The class <code>MediaDefault</code> itself. * @return The class <code>MediaDefault</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return MediaDefault.class; return MediaDefault.class;
} }
@ -90,14 +90,14 @@ public final class MediaDefault extends TextSyntax
{ {
return "media-default"; return "media-default";
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this DefaultValuesAttribute enum. * of this DefaultValuesAttribute enum.
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public Attribute getAssociatedAttribute() public Attribute getAssociatedAttribute()
{ {
return IppUtilities.getEnumAttribute("media" , getValue()); return IppUtilities.getEnumAttribute("media" , getValue());
} }

View File

@ -47,49 +47,49 @@ import javax.print.attribute.EnumSyntax;
/** /**
* <code>MultipleDocumentHandlingDefault</code> provides the * <code>MultipleDocumentHandlingDefault</code> provides the
* default value for the MultipleDocumentHandling attribute. * default value for the MultipleDocumentHandling attribute.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class MultipleDocumentHandlingDefault extends EnumSyntax public final class MultipleDocumentHandlingDefault extends EnumSyntax
implements DefaultValueAttribute implements DefaultValueAttribute
{ {
//a keyword based attribute in IPP - int values just starting at 0 //a keyword based attribute in IPP - int values just starting at 0
/** /**
* Supports only multiple documents treated as a single document. This * Supports only multiple documents treated as a single document. This
* applies to attributes which specify treatment of multiple document jobs. * applies to attributes which specify treatment of multiple document jobs.
*/ */
public static final MultipleDocumentHandlingDefault SINGLE_DOCUMENT = public static final MultipleDocumentHandlingDefault SINGLE_DOCUMENT =
new MultipleDocumentHandlingDefault(0); new MultipleDocumentHandlingDefault(0);
/** Supports multiple documents as uncollated copies */ /** Supports multiple documents as uncollated copies */
public static final MultipleDocumentHandlingDefault SEPARATE_DOCUMENTS_UNCOLLATED_COPIES = public static final MultipleDocumentHandlingDefault SEPARATE_DOCUMENTS_UNCOLLATED_COPIES =
new MultipleDocumentHandlingDefault(1); new MultipleDocumentHandlingDefault(1);
/** Supports multiple documents as collated copies */ /** Supports multiple documents as collated copies */
public static final MultipleDocumentHandlingDefault SEPARATE_DOCUMENTS_COLLATED_COPIES = public static final MultipleDocumentHandlingDefault SEPARATE_DOCUMENTS_COLLATED_COPIES =
new MultipleDocumentHandlingDefault(2); new MultipleDocumentHandlingDefault(2);
/** /**
* Supports multiple documents where every single document starts * Supports multiple documents where every single document starts
* with a new sheet. * with a new sheet.
*/ */
public static final MultipleDocumentHandlingDefault SINGLE_DOCUMENT_NEW_SHEET = public static final MultipleDocumentHandlingDefault SINGLE_DOCUMENT_NEW_SHEET =
new MultipleDocumentHandlingDefault(3); new MultipleDocumentHandlingDefault(3);
private static final String[] stringTable = { "single-document", private static final String[] stringTable = { "single-document",
"separate-documents-uncollated-copies", "separate-documents-uncollated-copies",
"separate-documents-collated-copies", "separate-documents-collated-copies",
"single-document-new-sheet" }; "single-document-new-sheet" };
private static final MultipleDocumentHandlingDefault[] enumValueTable = private static final MultipleDocumentHandlingDefault[] enumValueTable =
{ SINGLE_DOCUMENT, SEPARATE_DOCUMENTS_UNCOLLATED_COPIES, { SINGLE_DOCUMENT, SEPARATE_DOCUMENTS_UNCOLLATED_COPIES,
SEPARATE_DOCUMENTS_COLLATED_COPIES, SINGLE_DOCUMENT_NEW_SHEET}; SEPARATE_DOCUMENTS_COLLATED_COPIES, SINGLE_DOCUMENT_NEW_SHEET};
/** /**
* Constructs a <code>MultipleDocumentHandlingDefault</code> object. * Constructs a <code>MultipleDocumentHandlingDefault</code> object.
* *
* @param value the enum value * @param value the enum value
*/ */
protected MultipleDocumentHandlingDefault(int value) protected MultipleDocumentHandlingDefault(int value)
@ -102,7 +102,7 @@ public final class MultipleDocumentHandlingDefault extends EnumSyntax
* *
* @return The class <code>MultipleDocumentHandlingDefault</code> itself. * @return The class <code>MultipleDocumentHandlingDefault</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return MultipleDocumentHandlingDefault.class; return MultipleDocumentHandlingDefault.class;
} }
@ -116,7 +116,7 @@ public final class MultipleDocumentHandlingDefault extends EnumSyntax
{ {
return "multiple-document-handling-default"; return "multiple-document-handling-default";
} }
/** /**
* Returns a table with the enumeration values represented as strings * Returns a table with the enumeration values represented as strings
* for this object. * for this object.
@ -137,16 +137,16 @@ public final class MultipleDocumentHandlingDefault extends EnumSyntax
{ {
return enumValueTable; return enumValueTable;
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this DefaultValuesAttribute enum. * of this DefaultValuesAttribute enum.
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public Attribute getAssociatedAttribute() public Attribute getAssociatedAttribute()
{ {
return IppUtilities.getEnumAttribute("multiple-document-handling", return IppUtilities.getEnumAttribute("multiple-document-handling",
new Integer(getValue())); new Integer(getValue()));
} }
} }

View File

@ -1,4 +1,4 @@
/* NumberUpDefault.java -- /* NumberUpDefault.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -46,13 +46,13 @@ import javax.print.attribute.standard.NumberUp;
/** /**
* NumberUpDefault attribute provides the default value of * NumberUpDefault attribute provides the default value of
* the numper up attribute. * the numper up attribute.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class NumberUpDefault extends IntegerSyntax public final class NumberUpDefault extends IntegerSyntax
implements DefaultValueAttribute implements DefaultValueAttribute
{ {
/** /**
* Creates a <code>NumberUpDefault</code> object. * Creates a <code>NumberUpDefault</code> object.
* *
@ -63,13 +63,13 @@ public final class NumberUpDefault extends IntegerSyntax
{ {
super(value); super(value);
} }
/** /**
* Tests if the given object is equal to this object. * Tests if the given object is equal to this object.
* *
* @param obj the object to test * @param obj the object to test
* *
* @return <code>true</code> if both objects are equal, * @return <code>true</code> if both objects are equal,
* <code>false</code> otherwise. * <code>false</code> otherwise.
*/ */
public boolean equals(Object obj) public boolean equals(Object obj)
@ -85,7 +85,7 @@ public final class NumberUpDefault extends IntegerSyntax
* *
* @return The class <code>NumberUpDefault</code> itself. * @return The class <code>NumberUpDefault</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return NumberUpDefault.class; return NumberUpDefault.class;
} }
@ -99,15 +99,15 @@ public final class NumberUpDefault extends IntegerSyntax
{ {
return "number-up-default"; return "number-up-default";
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this DefaultValuesAttribute enum. * of this DefaultValuesAttribute enum.
* <p>May return null if no value exists in JPS API.</p> * <p>May return null if no value exists in JPS API.</p>
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public Attribute getAssociatedAttribute() public Attribute getAssociatedAttribute()
{ {
return new NumberUp(getValue()); return new NumberUp(getValue());
} }

View File

@ -45,27 +45,27 @@ import javax.print.attribute.EnumSyntax;
/** /**
* The <code>OrientationRequestedDefault</code> attribute provides * The <code>OrientationRequestedDefault</code> attribute provides
* the default value for the job attribute orientation-requested. * the default value for the job attribute orientation-requested.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class OrientationRequestedDefault extends EnumSyntax public final class OrientationRequestedDefault extends EnumSyntax
implements DefaultValueAttribute implements DefaultValueAttribute
{ {
/** Orientation as portrait. */ /** Orientation as portrait. */
public static final OrientationRequestedDefault PORTRAIT = public static final OrientationRequestedDefault PORTRAIT =
new OrientationRequestedDefault(3); new OrientationRequestedDefault(3);
/** Orientation as landscape. */ /** Orientation as landscape. */
public static final OrientationRequestedDefault LANDSCAPE = public static final OrientationRequestedDefault LANDSCAPE =
new OrientationRequestedDefault(4); new OrientationRequestedDefault(4);
/** Orientation as reversed landscape. */ /** Orientation as reversed landscape. */
public static final OrientationRequestedDefault REVERSE_LANDSCAPE = public static final OrientationRequestedDefault REVERSE_LANDSCAPE =
new OrientationRequestedDefault(5); new OrientationRequestedDefault(5);
/** Orientation as reversed portrait. */ /** Orientation as reversed portrait. */
public static final OrientationRequestedDefault REVERSE_PORTRAIT = public static final OrientationRequestedDefault REVERSE_PORTRAIT =
new OrientationRequestedDefault(6); new OrientationRequestedDefault(6);
@ -74,14 +74,14 @@ public final class OrientationRequestedDefault extends EnumSyntax
private static final String[] stringTable = { "portrait", "landscape", private static final String[] stringTable = { "portrait", "landscape",
"reverse-landscape", "reverse-landscape",
"reverse-portrait" }; "reverse-portrait" };
private static final OrientationRequestedDefault[] private static final OrientationRequestedDefault[]
enumValueTable = { PORTRAIT, LANDSCAPE, enumValueTable = { PORTRAIT, LANDSCAPE,
REVERSE_LANDSCAPE, REVERSE_PORTRAIT }; REVERSE_LANDSCAPE, REVERSE_PORTRAIT };
/** /**
* Constructs a <code>OrientationRequestedDefault</code> object. * Constructs a <code>OrientationRequestedDefault</code> object.
* *
* @param value the value * @param value the value
*/ */
protected OrientationRequestedDefault(int value) protected OrientationRequestedDefault(int value)
@ -94,7 +94,7 @@ public final class OrientationRequestedDefault extends EnumSyntax
* *
* @return The class <code>OrientationRequestedDefault</code> itself. * @return The class <code>OrientationRequestedDefault</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return OrientationRequestedDefault.class; return OrientationRequestedDefault.class;
} }
@ -108,7 +108,7 @@ public final class OrientationRequestedDefault extends EnumSyntax
{ {
return "orientation-requested-default"; return "orientation-requested-default";
} }
/** /**
* Returns a table with the enumeration values represented as strings * Returns a table with the enumeration values represented as strings
* for this object. * for this object.
@ -129,7 +129,7 @@ public final class OrientationRequestedDefault extends EnumSyntax
{ {
return enumValueTable; return enumValueTable;
} }
/** /**
* Returns the lowest used value by the enumerations of this class. * Returns the lowest used value by the enumerations of this class.
* . * .
@ -139,16 +139,16 @@ public final class OrientationRequestedDefault extends EnumSyntax
{ {
return 3; return 3;
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this DefaultValuesAttribute enum. * of this DefaultValuesAttribute enum.
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public Attribute getAssociatedAttribute() public Attribute getAssociatedAttribute()
{ {
return IppUtilities.getEnumAttribute("orientation-requested", return IppUtilities.getEnumAttribute("orientation-requested",
new Integer(getValue())); new Integer(getValue()));
} }
} }

View File

@ -47,7 +47,7 @@ import javax.print.attribute.EnumSyntax;
/** /**
* <code>PrintQualityDefault</code> provides the * <code>PrintQualityDefault</code> provides the
* default value for the print-quality attribute. * default value for the print-quality attribute.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class PrintQualityDefault extends EnumSyntax public final class PrintQualityDefault extends EnumSyntax
@ -55,20 +55,20 @@ public final class PrintQualityDefault extends EnumSyntax
{ {
/** Draft quality of the printer. */ /** Draft quality of the printer. */
public static final PrintQualityDefault DRAFT = new PrintQualityDefault(3); public static final PrintQualityDefault DRAFT = new PrintQualityDefault(3);
/** Normal quality of the printer. */ /** Normal quality of the printer. */
public static final PrintQualityDefault NORMAL = new PrintQualityDefault(4); public static final PrintQualityDefault NORMAL = new PrintQualityDefault(4);
/** High quality of the printer. */ /** High quality of the printer. */
public static final PrintQualityDefault HIGH = new PrintQualityDefault(5); public static final PrintQualityDefault HIGH = new PrintQualityDefault(5);
private static final String[] stringTable = { "draft", "normal", "high" }; private static final String[] stringTable = { "draft", "normal", "high" };
private static final PrintQualityDefault[] enumValueTable = { DRAFT, NORMAL, HIGH }; private static final PrintQualityDefault[] enumValueTable = { DRAFT, NORMAL, HIGH };
/** /**
* Constructs a <code>PrintQualityDefault</code> object. * Constructs a <code>PrintQualityDefault</code> object.
* *
* @param value the value of the enum * @param value the value of the enum
*/ */
protected PrintQualityDefault(int value) protected PrintQualityDefault(int value)
@ -81,7 +81,7 @@ public final class PrintQualityDefault extends EnumSyntax
* *
* @return The class <code>PrintQualityDefault</code> itself. * @return The class <code>PrintQualityDefault</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return PrintQualityDefault.class; return PrintQualityDefault.class;
} }
@ -95,7 +95,7 @@ public final class PrintQualityDefault extends EnumSyntax
{ {
return "print-quality-default"; return "print-quality-default";
} }
/** /**
* Returns a table with the enumeration values represented as strings * Returns a table with the enumeration values represented as strings
* for this object. * for this object.
@ -116,7 +116,7 @@ public final class PrintQualityDefault extends EnumSyntax
{ {
return enumValueTable; return enumValueTable;
} }
/** /**
* Returns the lowest used value by the enumerations of this class. * Returns the lowest used value by the enumerations of this class.
* . * .
@ -126,14 +126,14 @@ public final class PrintQualityDefault extends EnumSyntax
{ {
return 3; return 3;
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this DefaultValuesAttribute enum. * of this DefaultValuesAttribute enum.
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public Attribute getAssociatedAttribute() public Attribute getAssociatedAttribute()
{ {
return IppUtilities.getEnumAttribute( return IppUtilities.getEnumAttribute(
"print-quality", new Integer(getValue())); "print-quality", new Integer(getValue()));

View File

@ -45,15 +45,15 @@ import javax.print.attribute.standard.PrinterResolution;
/** /**
* The <code>PrinterResolutionDefault</code> attribute provides * The <code>PrinterResolutionDefault</code> attribute provides
* the default value for the job attribute printer-resolution. * the default value for the job attribute printer-resolution.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class PrinterResolutionDefault extends ResolutionSyntax public final class PrinterResolutionDefault extends ResolutionSyntax
implements DefaultValueAttribute implements DefaultValueAttribute
{ {
/** /**
* Creates a <code>ResolutionSyntax</code> object with the given arguments. * Creates a <code>ResolutionSyntax</code> object with the given arguments.
* *
@ -68,20 +68,20 @@ public final class PrinterResolutionDefault extends ResolutionSyntax
{ {
super(crossFeedResolution, feedResolution, units); super(crossFeedResolution, feedResolution, units);
} }
/** /**
* Tests if the given object is equal to this object. * Tests if the given object is equal to this object.
* *
* @param obj the object to test * @param obj the object to test
* *
* @return <code>true</code> if both objects are equal, * @return <code>true</code> if both objects are equal,
* <code>false</code> otherwise. * <code>false</code> otherwise.
*/ */
public boolean equals(Object obj) public boolean equals(Object obj)
{ {
if(! (obj instanceof PrinterResolutionDefault)) if(! (obj instanceof PrinterResolutionDefault))
return false; return false;
return super.equals(obj); return super.equals(obj);
} }
@ -90,7 +90,7 @@ public final class PrinterResolutionDefault extends ResolutionSyntax
* *
* @return The class <code>PrinterResolutionDefault</code> itself. * @return The class <code>PrinterResolutionDefault</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return PrinterResolutionDefault.class; return PrinterResolutionDefault.class;
} }
@ -104,16 +104,16 @@ public final class PrinterResolutionDefault extends ResolutionSyntax
{ {
return "printer-resolution-default"; return "printer-resolution-default";
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this DefaultValuesAttribute enum. * of this DefaultValuesAttribute enum.
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public Attribute getAssociatedAttribute() public Attribute getAssociatedAttribute()
{ {
return new PrinterResolution(getCrossFeedResolutionDphi(), return new PrinterResolution(getCrossFeedResolutionDphi(),
getFeedResolutionDphi(), 1); getFeedResolutionDphi(), 1);
} }
} }

View File

@ -47,45 +47,45 @@ import javax.print.attribute.EnumSyntax;
/** /**
* <code>SidesDefault</code> provides the * <code>SidesDefault</code> provides the
* default for the sides attribute. * default for the sides attribute.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class SidesDefault extends EnumSyntax public final class SidesDefault extends EnumSyntax
implements DefaultValueAttribute implements DefaultValueAttribute
{ {
/** Specifies that each page should be printed on one sheet. */ /** Specifies that each page should be printed on one sheet. */
public static final SidesDefault ONE_SIDED = new SidesDefault(0); public static final SidesDefault ONE_SIDED = new SidesDefault(0);
/** /**
* Specifies that two following pages should be printed on the * Specifies that two following pages should be printed on the
* front and back of one sheet for binding on the long edge. * front and back of one sheet for binding on the long edge.
*/ */
public static final SidesDefault TWO_SIDED_LONG_EDGE = public static final SidesDefault TWO_SIDED_LONG_EDGE =
new SidesDefault(1); new SidesDefault(1);
/** /**
* Specifies that two following pages should be printed on the * Specifies that two following pages should be printed on the
* front and back of one sheet for binding on the short edge. * front and back of one sheet for binding on the short edge.
*/ */
public static final SidesDefault TWO_SIDED_SHORT_EDGE = public static final SidesDefault TWO_SIDED_SHORT_EDGE =
new SidesDefault(2); new SidesDefault(2);
/** An alias constant for "two sided long edge". */ /** An alias constant for "two sided long edge". */
public static final SidesDefault DUPLEX = new SidesDefault(1); public static final SidesDefault DUPLEX = new SidesDefault(1);
/** An alias constant for "two sided short edge". */ /** An alias constant for "two sided short edge". */
public static final SidesDefault TUMBLE = new SidesDefault(2); public static final SidesDefault TUMBLE = new SidesDefault(2);
private static final String[] stringTable = { "one-sided", private static final String[] stringTable = { "one-sided",
"two-sided-long-edge", "two-sided-long-edge",
"two-sided-short-edge" }; "two-sided-short-edge" };
private static final SidesDefault[] enumValueTable = { ONE_SIDED, private static final SidesDefault[] enumValueTable = { ONE_SIDED,
TWO_SIDED_LONG_EDGE, TWO_SIDED_LONG_EDGE,
TWO_SIDED_SHORT_EDGE }; TWO_SIDED_SHORT_EDGE };
/** /**
* Creates a <code>SidesDefault</code> object. * Creates a <code>SidesDefault</code> object.
* *
@ -101,7 +101,7 @@ public final class SidesDefault extends EnumSyntax
* *
* @return The class <code>SidesDefault</code> itself. * @return The class <code>SidesDefault</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return SidesDefault.class; return SidesDefault.class;
} }
@ -115,7 +115,7 @@ public final class SidesDefault extends EnumSyntax
{ {
return "sides-default"; return "sides-default";
} }
/** /**
* Returns a table with the enumeration values represented as strings * Returns a table with the enumeration values represented as strings
* for this object. * for this object.
@ -136,14 +136,14 @@ public final class SidesDefault extends EnumSyntax
{ {
return enumValueTable; return enumValueTable;
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this DefaultValuesAttribute enum. * of this DefaultValuesAttribute enum.
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public Attribute getAssociatedAttribute() public Attribute getAssociatedAttribute()
{ {
return IppUtilities.getEnumAttribute("sides", new Integer(getValue())); return IppUtilities.getEnumAttribute("sides", new Integer(getValue()));
} }

View File

@ -46,24 +46,24 @@ import javax.print.attribute.Attribute;
* AttributesCharset attribute as described in RFC 2911 chapter * AttributesCharset attribute as described in RFC 2911 chapter
* 3.1.4 Character Set and Natural Language Operation Attributes. * 3.1.4 Character Set and Natural Language Operation Attributes.
* <p> * <p>
* This operation attribute identifies the charset used by any text * This operation attribute identifies the charset used by any text
* and name attribute supplied by the client in the request. This * and name attribute supplied by the client in the request. This
* charset must be used by the printer object in the response.<br> * charset must be used by the printer object in the response.<br>
* All clients and IPP objects must support the 'utf-8' charset. * All clients and IPP objects must support the 'utf-8' charset.
* </p> * </p>
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class AttributesCharset extends CharsetSyntax public final class AttributesCharset extends CharsetSyntax
implements Attribute implements Attribute
{ {
/** Defines a default UTF-8 charset instance */ /** Defines a default UTF-8 charset instance */
public static final AttributesCharset UTF8 = new AttributesCharset("utf-8"); public static final AttributesCharset UTF8 = new AttributesCharset("utf-8");
/** /**
* Creates a <code>AttributesCharset</code> object. * Creates a <code>AttributesCharset</code> object.
* *
* @param value the charset string value. * @param value the charset string value.
*/ */
public AttributesCharset(String value) public AttributesCharset(String value)
@ -76,7 +76,7 @@ public final class AttributesCharset extends CharsetSyntax
* *
* @return The class <code>AttributesCharset</code> itself. * @return The class <code>AttributesCharset</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return AttributesCharset.class; return AttributesCharset.class;
} }

View File

@ -1,4 +1,4 @@
/* AttributesNaturalLanguage.java -- /* AttributesNaturalLanguage.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -49,23 +49,23 @@ import javax.print.attribute.Attribute;
* <p> * <p>
* This operation attribute identifies the natural language used * This operation attribute identifies the natural language used
* by any text and name attribute supplied by the client in the request. * by any text and name attribute supplied by the client in the request.
* The printer object should use this natural language for the response * The printer object should use this natural language for the response
* to this request. * to this request.
* </p> * </p>
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class AttributesNaturalLanguage extends NaturalLanguageSyntax public final class AttributesNaturalLanguage extends NaturalLanguageSyntax
implements Attribute implements Attribute
{ {
/** Defines the default language EN */ /** Defines the default language EN */
public static final AttributesNaturalLanguage EN = public static final AttributesNaturalLanguage EN =
new AttributesNaturalLanguage("en"); new AttributesNaturalLanguage("en");
/** /**
* Creates a <code>AttributesNaturalLanguage</code> object. * Creates a <code>AttributesNaturalLanguage</code> object.
* *
* @param value the language string value. * @param value the language string value.
*/ */
public AttributesNaturalLanguage(String value) public AttributesNaturalLanguage(String value)
@ -78,7 +78,7 @@ public final class AttributesNaturalLanguage extends NaturalLanguageSyntax
* *
* @return The class <code>AttributesNaturalLanguage</code> itself. * @return The class <code>AttributesNaturalLanguage</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return AttributesNaturalLanguage.class; return AttributesNaturalLanguage.class;
} }

View File

@ -1,4 +1,4 @@
/* JobDetailedStatusMessages.java -- /* JobDetailedStatusMessages.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -46,10 +46,10 @@ import javax.print.attribute.TextSyntax;
/** /**
* JobDetailedStatusMessages provides additional detailed and * JobDetailedStatusMessages provides additional detailed and
* technical job informations. * technical job informations.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class JobDetailedStatusMessages public final class JobDetailedStatusMessages
extends TextSyntax implements Attribute extends TextSyntax implements Attribute
{ {
@ -73,7 +73,7 @@ public final class JobDetailedStatusMessages
* *
* @return The class <code>JobDetailedStatusMessages</code> itself. * @return The class <code>JobDetailedStatusMessages</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return JobDetailedStatusMessages.class; return JobDetailedStatusMessages.class;
} }

View File

@ -1,4 +1,4 @@
/* JobDocumentAccessErrors.java -- /* JobDocumentAccessErrors.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -47,10 +47,10 @@ import javax.print.attribute.TextSyntax;
* JobDocumentAccessErrors provides additional information * JobDocumentAccessErrors provides additional information
* for each access error for print-uri or document-uri jobs. * for each access error for print-uri or document-uri jobs.
* technical job informations. * technical job informations.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class JobDocumentAccessErrors public final class JobDocumentAccessErrors
extends TextSyntax implements Attribute extends TextSyntax implements Attribute
{ {
@ -74,7 +74,7 @@ public final class JobDocumentAccessErrors
* *
* @return The class <code>JobDocumentAccessErrors</code> itself. * @return The class <code>JobDocumentAccessErrors</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return JobDocumentAccessErrors.class; return JobDocumentAccessErrors.class;
} }

View File

@ -1,4 +1,4 @@
/* JobId.java -- /* JobId.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -44,7 +44,7 @@ import javax.print.attribute.IntegerSyntax;
/** /**
* The <code>JobId</code> attribute contains the ID of a * The <code>JobId</code> attribute contains the ID of a
* print job created or currently being processed. * print job created or currently being processed.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class JobId extends IntegerSyntax implements Attribute public final class JobId extends IntegerSyntax implements Attribute
@ -59,7 +59,7 @@ public final class JobId extends IntegerSyntax implements Attribute
public JobId(int value) public JobId(int value)
{ {
super(value); super(value);
if (value < 1) if (value < 1)
throw new IllegalArgumentException("job-id may not be less than 1"); throw new IllegalArgumentException("job-id may not be less than 1");
} }
@ -69,7 +69,7 @@ public final class JobId extends IntegerSyntax implements Attribute
* *
* @return The class <code>JobId</code> itself. * @return The class <code>JobId</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return JobId.class; return JobId.class;
} }

View File

@ -1,4 +1,4 @@
/* JobMoreInfo.java -- /* JobMoreInfo.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -47,7 +47,7 @@ import javax.print.attribute.URISyntax;
* JobMoreInfo attribute as described in RFC 2911 section * JobMoreInfo attribute as described in RFC 2911 section
* 4.3.4 contains the URI where more information about a job * 4.3.4 contains the URI where more information about a job
* (e.g. through a HTML page) can be found. * (e.g. through a HTML page) can be found.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class JobMoreInfo extends URISyntax implements Attribute public final class JobMoreInfo extends URISyntax implements Attribute
@ -69,7 +69,7 @@ public final class JobMoreInfo extends URISyntax implements Attribute
* *
* @return The class <code>JobMoreInfo</code> itself. * @return The class <code>JobMoreInfo</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return JobMoreInfo.class; return JobMoreInfo.class;
} }

View File

@ -1,4 +1,4 @@
/* JobPrinterUri.java -- /* JobPrinterUri.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -47,7 +47,7 @@ import javax.print.attribute.URISyntax;
* JobPrinterUri attribute as described in RFC 2911 section * JobPrinterUri attribute as described in RFC 2911 section
* 4.3.3 contains the URI of the printer which created and * 4.3.3 contains the URI of the printer which created and
* processes a job. * processes a job.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class JobPrinterUri extends URISyntax implements Attribute public final class JobPrinterUri extends URISyntax implements Attribute
@ -69,7 +69,7 @@ public final class JobPrinterUri extends URISyntax implements Attribute
* *
* @return The class <code>JobPrinterUri</code> itself. * @return The class <code>JobPrinterUri</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return JobPrinterUri.class; return JobPrinterUri.class;
} }

View File

@ -1,4 +1,4 @@
/* JobStateMessage.java -- /* JobStateMessage.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -46,10 +46,10 @@ import javax.print.attribute.TextSyntax;
/** /**
* JobStateMessage attribute describes information about the * JobStateMessage attribute describes information about the
* job-state and job-state-reasons in human readable form. * job-state and job-state-reasons in human readable form.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class JobStateMessage public final class JobStateMessage
extends TextSyntax implements Attribute extends TextSyntax implements Attribute
{ {
@ -73,7 +73,7 @@ public final class JobStateMessage
* *
* @return The class <code>JobStateMessage</code> itself. * @return The class <code>JobStateMessage</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return JobStateMessage.class; return JobStateMessage.class;
} }

View File

@ -1,4 +1,4 @@
/* JobUri.java -- /* JobUri.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -47,7 +47,7 @@ import javax.print.attribute.URISyntax;
* JobUri attribute as described in RFC 2911 section * JobUri attribute as described in RFC 2911 section
* 4.3.1 contains the URI for a job generated by the printer * 4.3.1 contains the URI for a job generated by the printer
* after a create request. * after a create request.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class JobUri extends URISyntax implements Attribute public final class JobUri extends URISyntax implements Attribute
@ -69,7 +69,7 @@ public final class JobUri extends URISyntax implements Attribute
* *
* @return The class <code>JobUri</code> itself. * @return The class <code>JobUri</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return JobUri.class; return JobUri.class;
} }

View File

@ -1,4 +1,4 @@
/* CharsetConfigured.java -- /* CharsetConfigured.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -46,16 +46,16 @@ import javax.print.attribute.Attribute;
* CharsetConfigured attribute as described in RFC 2911 section * CharsetConfigured attribute as described in RFC 2911 section
* 4.4.17 provides the charset which is configured by the * 4.4.17 provides the charset which is configured by the
* server to be used in the name and text syntax attribute types. * server to be used in the name and text syntax attribute types.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class CharsetConfigured extends CharsetSyntax public final class CharsetConfigured extends CharsetSyntax
implements Attribute implements Attribute
{ {
/** /**
* Creates a <code>CharsetConfigured</code> object. * Creates a <code>CharsetConfigured</code> object.
* *
* @param value the charset string value. * @param value the charset string value.
*/ */
public CharsetConfigured(String value) public CharsetConfigured(String value)
@ -68,7 +68,7 @@ public final class CharsetConfigured extends CharsetSyntax
* *
* @return The class <code>CharsetConfigured</code> itself. * @return The class <code>CharsetConfigured</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return CharsetConfigured.class; return CharsetConfigured.class;
} }

View File

@ -1,4 +1,4 @@
/* DocumentFormat.java -- /* DocumentFormat.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -41,21 +41,22 @@ package gnu.javax.print.ipp.attribute.printer;
import java.util.Locale; import java.util.Locale;
import javax.print.DocFlavor; import javax.print.DocFlavor;
import javax.print.attribute.Attribute;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
import javax.print.attribute.TextSyntax; import javax.print.attribute.TextSyntax;
/** /**
* <code>DocumentFormatSupported</code> specifies the supported document * <code>DocumentFormatSupported</code> specifies the supported document
* formats of a printer. Printer are supplying a set of this attribute. * formats of a printer. Printer are supplying a set of this attribute.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class DocumentFormat extends TextSyntax public final class DocumentFormat extends TextSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
/** /**
* Creates a <code>DocumentFormat</code> object with the * Creates a <code>DocumentFormat</code> object with the
* given value and locale. * given value and locale.
* *
* @param value the value for this syntax * @param value the value for this syntax
@ -68,12 +69,12 @@ public final class DocumentFormat extends TextSyntax
{ {
super(value, locale); super(value, locale);
} }
/** /**
* Constructs a document format object for the given flavor. * Constructs a document format object for the given flavor.
* The constructor reworkes the mimetype of the given flavor * The constructor reworkes the mimetype of the given flavor
* to remove the quoted charset parameter if present. * to remove the quoted charset parameter if present.
* *
* @param flavor the flavor with the mimetype * @param flavor the flavor with the mimetype
* @return The created document format. * @return The created document format.
*/ */
@ -83,7 +84,7 @@ public final class DocumentFormat extends TextSyntax
String mimetype = flavor.getMediaType() + "/" + flavor.getMediaSubtype(); String mimetype = flavor.getMediaType() + "/" + flavor.getMediaSubtype();
if (charset != null) if (charset != null)
mimetype += "; charset=" + charset; mimetype += "; charset=" + charset;
return new DocumentFormat(mimetype, null); return new DocumentFormat(mimetype, null);
} }
@ -92,7 +93,7 @@ public final class DocumentFormat extends TextSyntax
* *
* @return The class <code>DocumentFormat</code> itself. * @return The class <code>DocumentFormat</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return DocumentFormat.class; return DocumentFormat.class;
} }

View File

@ -1,4 +1,4 @@
/* MultipleOperationTimeOut.java -- /* MultipleOperationTimeOut.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -46,10 +46,10 @@ import javax.print.attribute.IntegerSyntax;
* 4.4.31 provides the minimum time ins second a printer object waits * 4.4.31 provides the minimum time ins second a printer object waits
* before time out and recovery. The printer object waits e.g. for * before time out and recovery. The printer object waits e.g. for
* additional SendDocument or SendUri operations. * additional SendDocument or SendUri operations.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class MultipleOperationTimeOut extends IntegerSyntax public final class MultipleOperationTimeOut extends IntegerSyntax
implements Attribute implements Attribute
{ {
@ -68,7 +68,7 @@ public final class MultipleOperationTimeOut extends IntegerSyntax
* *
* @return The class <code>MultipleOperationTimeOut</code> itself. * @return The class <code>MultipleOperationTimeOut</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return MultipleOperationTimeOut.class; return MultipleOperationTimeOut.class;
} }

View File

@ -1,4 +1,4 @@
/* NaturalLanguageConfigured.java -- /* NaturalLanguageConfigured.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -43,19 +43,19 @@ import gnu.javax.print.ipp.attribute.NaturalLanguageSyntax;
import javax.print.attribute.Attribute; import javax.print.attribute.Attribute;
/** /**
* NaturalLanguageConfigured attribute as described in RFC 2911 * NaturalLanguageConfigured attribute as described in RFC 2911
* section 4.4.19 provides the natural language which is configured * section 4.4.19 provides the natural language which is configured
* by the server to be used in the name and text syntax attribute types. * by the server to be used in the name and text syntax attribute types.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class NaturalLanguageConfigured extends NaturalLanguageSyntax public final class NaturalLanguageConfigured extends NaturalLanguageSyntax
implements Attribute implements Attribute
{ {
/** /**
* Creates a <code>NaturalLanguageConfigured</code> object. * Creates a <code>NaturalLanguageConfigured</code> object.
* *
* @param value the charset string value. * @param value the charset string value.
*/ */
public NaturalLanguageConfigured(String value) public NaturalLanguageConfigured(String value)
@ -68,7 +68,7 @@ public final class NaturalLanguageConfigured extends NaturalLanguageSyntax
* *
* @return The class <code>NaturalLanguageConfigured</code> itself. * @return The class <code>NaturalLanguageConfigured</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return NaturalLanguageConfigured.class; return NaturalLanguageConfigured.class;
} }

View File

@ -1,4 +1,4 @@
/* PrinterCurrentTime.java -- /* PrinterCurrentTime.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -40,6 +40,7 @@ package gnu.javax.print.ipp.attribute.printer;
import java.util.Date; import java.util.Date;
import javax.print.attribute.Attribute;
import javax.print.attribute.DateTimeSyntax; import javax.print.attribute.DateTimeSyntax;
import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.PrintServiceAttribute;
@ -48,10 +49,10 @@ import javax.print.attribute.PrintServiceAttribute;
* 4.4.30 provides the current time of the print service. * 4.4.30 provides the current time of the print service.
* Its to be used by other attributes like the date-time-at-xxx * Its to be used by other attributes like the date-time-at-xxx
* attributes in the creation process. * attributes in the creation process.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class PrinterCurrentTime extends DateTimeSyntax public final class PrinterCurrentTime extends DateTimeSyntax
implements PrintServiceAttribute implements PrintServiceAttribute
{ {
@ -72,7 +73,7 @@ public final class PrinterCurrentTime extends DateTimeSyntax
* *
* @param obj the object to test * @param obj the object to test
* *
* @return <code>true</code> if both objects are equal, * @return <code>true</code> if both objects are equal,
* <code>false</code> otherwise. * <code>false</code> otherwise.
*/ */
public boolean equals(Object obj) public boolean equals(Object obj)
@ -82,13 +83,13 @@ public final class PrinterCurrentTime extends DateTimeSyntax
return super.equals(obj); return super.equals(obj);
} }
/** /**
* Returns category of this class. * Returns category of this class.
* *
* @return The class <code>PrinterCurrentTime</code> itself. * @return The class <code>PrinterCurrentTime</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return PrinterCurrentTime.class; return PrinterCurrentTime.class;
} }

View File

@ -1,4 +1,4 @@
/* PrinterDriverInstaller.java -- /* PrinterDriverInstaller.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -47,10 +47,10 @@ import javax.print.attribute.URISyntax;
* PrinterDriverInstaller attribute as described in RFC 2911 section * PrinterDriverInstaller attribute as described in RFC 2911 section
* 4.4.81 provides the URI where a printer driver installer * 4.4.81 provides the URI where a printer driver installer
* can be found. * can be found.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class PrinterDriverInstaller extends URISyntax public final class PrinterDriverInstaller extends URISyntax
implements Attribute implements Attribute
{ {
@ -70,7 +70,7 @@ public final class PrinterDriverInstaller extends URISyntax
* *
* @return The class <code>PrinterDriverInstaller</code> itself. * @return The class <code>PrinterDriverInstaller</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return PrinterDriverInstaller.class; return PrinterDriverInstaller.class;
} }

View File

@ -1,4 +1,4 @@
/* PrinterStateMessage.java -- /* PrinterStateMessage.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -40,6 +40,7 @@ package gnu.javax.print.ipp.attribute.printer;
import java.util.Locale; import java.util.Locale;
import javax.print.attribute.Attribute;
import javax.print.attribute.PrintServiceAttribute; import javax.print.attribute.PrintServiceAttribute;
import javax.print.attribute.TextSyntax; import javax.print.attribute.TextSyntax;
@ -48,15 +49,15 @@ import javax.print.attribute.TextSyntax;
* 4.4.13 provides a textual representation of the attributes * 4.4.13 provides a textual representation of the attributes
* printer-state and printer-state-reasons for consumption by * printer-state and printer-state-reasons for consumption by
* humans. * humans.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class PrinterStateMessage extends TextSyntax public final class PrinterStateMessage extends TextSyntax
implements PrintServiceAttribute implements PrintServiceAttribute
{ {
/** /**
* Creates a <code>PrinterStateMessage</code> object with the * Creates a <code>PrinterStateMessage</code> object with the
* given value and locale. * given value and locale.
* *
* @param value the value for this syntax * @param value the value for this syntax
@ -75,7 +76,7 @@ public final class PrinterStateMessage extends TextSyntax
* *
* @return The class <code>PrinterStateMessage</code> itself. * @return The class <code>PrinterStateMessage</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return PrinterStateMessage.class; return PrinterStateMessage.class;
} }

View File

@ -1,4 +1,4 @@
/* PrinterUpTime.java -- /* PrinterUpTime.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -44,12 +44,12 @@ import javax.print.attribute.IntegerSyntax;
/** /**
* PrinterUpTime attribute as described in RFC 2911 section * PrinterUpTime attribute as described in RFC 2911 section
* 4.4.29 provides the uptime of the printer object. This * 4.4.29 provides the uptime of the printer object. This
* is a value in second starting at 1 after a initialization * is a value in second starting at 1 after a initialization
* or reboot of the printer object. * or reboot of the printer object.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class PrinterUpTime extends IntegerSyntax public final class PrinterUpTime extends IntegerSyntax
implements Attribute implements Attribute
{ {
@ -68,7 +68,7 @@ public final class PrinterUpTime extends IntegerSyntax
* *
* @return The class <code>PrinterUpTime</code> itself. * @return The class <code>PrinterUpTime</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return PrinterUpTime.class; return PrinterUpTime.class;
} }

View File

@ -1,4 +1,4 @@
/* CharsetSupported.java -- /* CharsetSupported.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -40,23 +40,24 @@ package gnu.javax.print.ipp.attribute.supported;
import gnu.javax.print.ipp.attribute.CharsetSyntax; import gnu.javax.print.ipp.attribute.CharsetSyntax;
import javax.print.attribute.Attribute;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
/** /**
* CharsetSupported attribute as described in RFC 2911 section * CharsetSupported attribute as described in RFC 2911 section
* 4.4.18 provides the charset which are supported by the * 4.4.18 provides the charset which are supported by the
* IPP implementation to be used in the name and text syntax * IPP implementation to be used in the name and text syntax
* attribute types. * attribute types.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class CharsetSupported extends CharsetSyntax public final class CharsetSupported extends CharsetSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
/** /**
* Creates a <code>CharsetSupported</code> object. * Creates a <code>CharsetSupported</code> object.
* *
* @param value the charset string value. * @param value the charset string value.
*/ */
public CharsetSupported(String value) public CharsetSupported(String value)
@ -69,7 +70,7 @@ public final class CharsetSupported extends CharsetSyntax
* *
* @return The class <code>CharsetSupported</code> itself. * @return The class <code>CharsetSupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return CharsetSupported.class; return CharsetSupported.class;
} }

View File

@ -42,6 +42,7 @@ import gnu.javax.print.ipp.IppUtilities;
import java.util.Iterator; import java.util.Iterator;
import java.util.Set; import java.util.Set;
import javax.print.attribute.Attribute;
import javax.print.attribute.EnumSyntax; import javax.print.attribute.EnumSyntax;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
import javax.print.attribute.standard.Compression; import javax.print.attribute.standard.Compression;
@ -50,34 +51,34 @@ import javax.print.attribute.standard.Compression;
/** /**
* <code>CompressionSupported</code> provides the values which are * <code>CompressionSupported</code> provides the values which are
* supported for the compression attribute. * supported for the compression attribute.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class CompressionSupported extends EnumSyntax public final class CompressionSupported extends EnumSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
/** The print data is not compressed. */ /** The print data is not compressed. */
public static final CompressionSupported NONE = new CompressionSupported(0); public static final CompressionSupported NONE = new CompressionSupported(0);
/** The print data is ZIP compressed. */ /** The print data is ZIP compressed. */
public static final CompressionSupported DEFLATE = new CompressionSupported(1); public static final CompressionSupported DEFLATE = new CompressionSupported(1);
/** The print data is GNU Zip compressed. */ /** The print data is GNU Zip compressed. */
public static final CompressionSupported GZIP = new CompressionSupported(2); public static final CompressionSupported GZIP = new CompressionSupported(2);
/** The print data is UNIX compressed. */ /** The print data is UNIX compressed. */
public static final CompressionSupported COMPRESS = new CompressionSupported(3); public static final CompressionSupported COMPRESS = new CompressionSupported(3);
private static final String[] stringTable = { "none", "deflate", private static final String[] stringTable = { "none", "deflate",
"gzip", "compress" }; "gzip", "compress" };
private static final CompressionSupported[] enumValueTable = { NONE, DEFLATE, private static final CompressionSupported[] enumValueTable = { NONE, DEFLATE,
GZIP, COMPRESS }; GZIP, COMPRESS };
/** /**
* Constructs a <code>CompressionSupported</code> object. * Constructs a <code>CompressionSupported</code> object.
* *
* @param value the enum value * @param value the enum value
*/ */
protected CompressionSupported(int value) protected CompressionSupported(int value)
@ -90,7 +91,7 @@ public final class CompressionSupported extends EnumSyntax
* *
* @return The class <code>CompressionSupported</code> itself. * @return The class <code>CompressionSupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return CompressionSupported.class; return CompressionSupported.class;
} }
@ -104,7 +105,7 @@ public final class CompressionSupported extends EnumSyntax
{ {
return "compression-supported"; return "compression-supported";
} }
/** /**
* Returns a table with the enumeration values represented as strings * Returns a table with the enumeration values represented as strings
* for this object. * for this object.
@ -125,38 +126,36 @@ public final class CompressionSupported extends EnumSyntax
{ {
return enumValueTable; return enumValueTable;
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this SupportedValuesAttribute enum. * of this SupportedValuesAttribute enum.
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public Compression getAssociatedAttribute() public Compression getAssociatedAttribute()
{ {
return (Compression) IppUtilities.getEnumAttribute( return (Compression) IppUtilities.getEnumAttribute(
"compression", new Integer(getValue())); "compression", new Integer(getValue()));
} }
/** /**
* Constructs an array from a set of -supported attributes. * Constructs an array from a set of -supported attributes.
* @param set set to process * @param set set to process
* @return The constructed array. * @return The constructed array.
* *
* @see #getAssociatedAttribute() * @see #getAssociatedAttribute()
*/ */
public static Compression[] getAssociatedAttributeArray(Set set) public static Compression[]
getAssociatedAttributeArray(Set<Attribute> set)
{ {
CompressionSupported tmp; Compression[] result = new Compression[set.size()];
Compression[] result = new Compression[set.size()];
Iterator it = set.iterator();
int j = 0; int j = 0;
while (it.hasNext()) for (Attribute tmp : set)
{ {
tmp = (CompressionSupported) it.next(); result[j] = ((CompressionSupported) tmp).getAssociatedAttribute();
result[j] = tmp.getAssociatedAttribute();
j++; j++;
} }
return result; return result;
} }
} }

View File

@ -1,4 +1,4 @@
/* DocumentFormatSupported.java -- /* DocumentFormatSupported.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -40,21 +40,22 @@ package gnu.javax.print.ipp.attribute.supported;
import java.util.Locale; import java.util.Locale;
import javax.print.attribute.Attribute;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
import javax.print.attribute.TextSyntax; import javax.print.attribute.TextSyntax;
/** /**
* <code>DocumentFormatSupported</code> specifies the supported document * <code>DocumentFormatSupported</code> specifies the supported document
* formats of a printer. Printer are supplying a set of this attribute. * formats of a printer. Printer are supplying a set of this attribute.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class DocumentFormatSupported extends TextSyntax public final class DocumentFormatSupported extends TextSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
/** /**
* Creates a <code>DocumentFormatSupported</code> object with the * Creates a <code>DocumentFormatSupported</code> object with the
* given value and locale. * given value and locale.
* *
* @param value the value for this syntax * @param value the value for this syntax
@ -73,7 +74,7 @@ public final class DocumentFormatSupported extends TextSyntax
* *
* @return The class <code>DocumentFormatSupported</code> itself. * @return The class <code>DocumentFormatSupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return DocumentFormatSupported.class; return DocumentFormatSupported.class;
} }

View File

@ -43,6 +43,7 @@ import gnu.javax.print.ipp.IppUtilities;
import java.util.Iterator; import java.util.Iterator;
import java.util.Set; import java.util.Set;
import javax.print.attribute.Attribute;
import javax.print.attribute.EnumSyntax; import javax.print.attribute.EnumSyntax;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
import javax.print.attribute.standard.Finishings; import javax.print.attribute.standard.Finishings;
@ -51,7 +52,7 @@ import javax.print.attribute.standard.Finishings;
/** /**
* The <code>FinishingsSupported</code> attribute provides the supported * The <code>FinishingsSupported</code> attribute provides the supported
* values for finishings of a job. * values for finishings of a job.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class FinishingsSupported extends EnumSyntax public final class FinishingsSupported extends EnumSyntax
@ -60,122 +61,122 @@ public final class FinishingsSupported extends EnumSyntax
/** No finishing. */ /** No finishing. */
public static final FinishingsSupported NONE = new FinishingsSupported(3); public static final FinishingsSupported NONE = new FinishingsSupported(3);
/** Staple the document(s) */ /** Staple the document(s) */
public static final FinishingsSupported STAPLE = new FinishingsSupported(4); public static final FinishingsSupported STAPLE = new FinishingsSupported(4);
/** Cover a document */ /** Cover a document */
public static final FinishingsSupported COVER = new FinishingsSupported(6); public static final FinishingsSupported COVER = new FinishingsSupported(6);
/** /**
* This value indicates that a binding is to be applied to the document. * This value indicates that a binding is to be applied to the document.
* The type and placement of the binding is site-defined. * The type and placement of the binding is site-defined.
*/ */
public static final FinishingsSupported BIND = new FinishingsSupported(7); public static final FinishingsSupported BIND = new FinishingsSupported(7);
/** /**
* Bind the document(s) with one or more staples (wire stitches) * Bind the document(s) with one or more staples (wire stitches)
* along the middle fold. * along the middle fold.
*/ */
public static final FinishingsSupported SADDLE_STITCH = public static final FinishingsSupported SADDLE_STITCH =
new FinishingsSupported(8); new FinishingsSupported(8);
/** /**
* Bind the document(s) with one or more staples (wire stitches) * Bind the document(s) with one or more staples (wire stitches)
* along one edge. * along one edge.
*/ */
public static final FinishingsSupported EDGE_STITCH = public static final FinishingsSupported EDGE_STITCH =
new FinishingsSupported(9); new FinishingsSupported(9);
/** /**
* Bind the document(s) with one or more staples in the top left * Bind the document(s) with one or more staples in the top left
* corner. * corner.
*/ */
public static final FinishingsSupported STAPLE_TOP_LEFT = public static final FinishingsSupported STAPLE_TOP_LEFT =
new FinishingsSupported(20); new FinishingsSupported(20);
/** /**
* Bind the document(s) with one or more staples in the bottom * Bind the document(s) with one or more staples in the bottom
* left corner. * left corner.
*/ */
public static final FinishingsSupported STAPLE_BOTTOM_LEFT = public static final FinishingsSupported STAPLE_BOTTOM_LEFT =
new FinishingsSupported(21); new FinishingsSupported(21);
/** /**
* Bind the document(s) with one or more staples in the top right corner. * Bind the document(s) with one or more staples in the top right corner.
*/ */
public static final FinishingsSupported STAPLE_TOP_RIGHT = public static final FinishingsSupported STAPLE_TOP_RIGHT =
new FinishingsSupported(22); new FinishingsSupported(22);
/** /**
* Bind the document(s) with one or more staples in the bottom right corner. * Bind the document(s) with one or more staples in the bottom right corner.
*/ */
public static final FinishingsSupported STAPLE_BOTTOM_RIGHT = public static final FinishingsSupported STAPLE_BOTTOM_RIGHT =
new FinishingsSupported(23); new FinishingsSupported(23);
/** /**
* Bind the document(s) with one or more staples (wire stitches) * Bind the document(s) with one or more staples (wire stitches)
* along the left edge. * along the left edge.
*/ */
public static final FinishingsSupported EDGE_STITCH_LEFT = public static final FinishingsSupported EDGE_STITCH_LEFT =
new FinishingsSupported(24); new FinishingsSupported(24);
/**
* Bind the document(s) with one or more staples (wire stitches) along
* the top edge.
*/
public static final FinishingsSupported EDGE_STITCH_TOP =
new FinishingsSupported(25);
/**
* Bind the document(s) with one or more staples (wire stitches) along
* the right edge.
*/
public static final FinishingsSupported EDGE_STITCH_RIGHT =
new FinishingsSupported(26);
/** /**
* Bind the document(s) with one or more staples (wire stitches) along * Bind the document(s) with one or more staples (wire stitches) along
* the bottom edge. * the top edge.
*/ */
public static final FinishingsSupported EDGE_STITCH_BOTTOM = public static final FinishingsSupported EDGE_STITCH_TOP =
new FinishingsSupported(27); new FinishingsSupported(25);
/** /**
* Bind the document(s) with two staples (wire stitches) along the * Bind the document(s) with one or more staples (wire stitches) along
* the right edge.
*/
public static final FinishingsSupported EDGE_STITCH_RIGHT =
new FinishingsSupported(26);
/**
* Bind the document(s) with one or more staples (wire stitches) along
* the bottom edge.
*/
public static final FinishingsSupported EDGE_STITCH_BOTTOM =
new FinishingsSupported(27);
/**
* Bind the document(s) with two staples (wire stitches) along the
* left edge assuming a portrait document. * left edge assuming a portrait document.
*/ */
public static final FinishingsSupported STAPLE_DUAL_LEFT = public static final FinishingsSupported STAPLE_DUAL_LEFT =
new FinishingsSupported(28); new FinishingsSupported(28);
/** /**
* Bind the document(s) with two staples (wire stitches) along the * Bind the document(s) with two staples (wire stitches) along the
* top edge assuming a portrait document. * top edge assuming a portrait document.
*/ */
public static final FinishingsSupported STAPLE_DUAL_TOP = public static final FinishingsSupported STAPLE_DUAL_TOP =
new FinishingsSupported(29); new FinishingsSupported(29);
/** /**
* Bind the document(s) with two staples (wire stitches) along the * Bind the document(s) with two staples (wire stitches) along the
* right edge assuming a portrait document. * right edge assuming a portrait document.
*/ */
public static final FinishingsSupported STAPLE_DUAL_RIGHT = public static final FinishingsSupported STAPLE_DUAL_RIGHT =
new FinishingsSupported(30); new FinishingsSupported(30);
/** /**
* Bind the document(s) with two staples (wire stitches) along the * Bind the document(s) with two staples (wire stitches) along the
* bottom edge assuming a portrait document. * bottom edge assuming a portrait document.
*/ */
public static final FinishingsSupported STAPLE_DUAL_BOTTOM = public static final FinishingsSupported STAPLE_DUAL_BOTTOM =
new FinishingsSupported(31); new FinishingsSupported(31);
private static final String[] stringTable = { "none", "staple", null, private static final String[] stringTable = { "none", "staple", null,
"cover", "bind", "saddle-stitch", "cover", "bind", "saddle-stitch",
"edge-stitch", null, null, null, "edge-stitch", null, null, null,
null, null, null, null, null, null, null, null, null, null,
null, null, "staple-top-left", null, null, "staple-top-left",
"staple-bottom-left", "staple-bottom-left",
"staple-top-right", "staple-top-right",
"staple-bottom-right", "staple-bottom-right",
"edge-stitch-left", "edge-stitch-left",
"edge-stitch-top", "edge-stitch-top",
@ -185,14 +186,14 @@ public final class FinishingsSupported extends EnumSyntax
"staple-dual-top", "staple-dual-top",
"staple-dual-right", "staple-dual-right",
"staple-dual-bottom" }; "staple-dual-bottom" };
private static final FinishingsSupported[] enumValueTable = { NONE, STAPLE, private static final FinishingsSupported[] enumValueTable = { NONE, STAPLE,
null, COVER, BIND, null, COVER, BIND,
SADDLE_STITCH, SADDLE_STITCH,
EDGE_STITCH, null, EDGE_STITCH, null,
null, null, null, null, null, null,
null, null, null, null, null, null,
null, null, null, null, null, null,
STAPLE_TOP_LEFT, STAPLE_TOP_LEFT,
STAPLE_BOTTOM_LEFT, STAPLE_BOTTOM_LEFT,
STAPLE_TOP_RIGHT, STAPLE_TOP_RIGHT,
@ -205,10 +206,10 @@ public final class FinishingsSupported extends EnumSyntax
STAPLE_DUAL_TOP, STAPLE_DUAL_TOP,
STAPLE_DUAL_RIGHT, STAPLE_DUAL_RIGHT,
STAPLE_DUAL_BOTTOM }; STAPLE_DUAL_BOTTOM };
/** /**
* Constructs a <code>FinishingsSupported</code> object. * Constructs a <code>FinishingsSupported</code> object.
* *
* @param value the value * @param value the value
*/ */
protected FinishingsSupported(int value) protected FinishingsSupported(int value)
@ -221,7 +222,7 @@ public final class FinishingsSupported extends EnumSyntax
* *
* @return the class <code>FinishingsSupported</code> itself * @return the class <code>FinishingsSupported</code> itself
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return FinishingsSupported.class; return FinishingsSupported.class;
} }
@ -235,7 +236,7 @@ public final class FinishingsSupported extends EnumSyntax
{ {
return "finishings-supported"; return "finishings-supported";
} }
/** /**
* Returns a table with the enumeration values represented as strings * Returns a table with the enumeration values represented as strings
* for this object. * for this object.
@ -266,38 +267,36 @@ public final class FinishingsSupported extends EnumSyntax
{ {
return 3; return 3;
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this SupportedValuesAttribute enum. * of this SupportedValuesAttribute enum.
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public Finishings getAssociatedAttribute() public Finishings getAssociatedAttribute()
{ {
return (Finishings) IppUtilities.getEnumAttribute( return (Finishings) IppUtilities.getEnumAttribute(
"finishings", new Integer(getValue())); "finishings", new Integer(getValue()));
} }
/** /**
* Constructs an array from a set of -supported attributes. * Constructs an array from a set of -supported attributes.
* @param set set to process * @param set set to process
* @return The constructed array. * @return The constructed array.
* *
* @see #getAssociatedAttribute() * @see #getAssociatedAttribute()
*/ */
public static Finishings[] getAssociatedAttributeArray(Set set) public static Finishings[]
getAssociatedAttributeArray(Set<Attribute> set)
{ {
FinishingsSupported tmp; Finishings[] result = new Finishings[set.size()];
Finishings[] result = new Finishings[set.size()];
Iterator it = set.iterator();
int j = 0; int j = 0;
while (it.hasNext()) for (Attribute tmp : set)
{ {
tmp = (FinishingsSupported) it.next(); result[j] = ((FinishingsSupported) tmp).getAssociatedAttribute();
result[j] = tmp.getAssociatedAttribute();
j++; j++;
} }
return result; return result;
} }
} }

View File

@ -1,4 +1,4 @@
/* GeneratedNaturalLanguageSupported.java -- /* GeneratedNaturalLanguageSupported.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -40,24 +40,25 @@ package gnu.javax.print.ipp.attribute.supported;
import gnu.javax.print.ipp.attribute.NaturalLanguageSyntax; import gnu.javax.print.ipp.attribute.NaturalLanguageSyntax;
import javax.print.attribute.Attribute;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
/** /**
* GeneratedNaturalLanguageSupported attribute as described * GeneratedNaturalLanguageSupported attribute as described
* in RFC 2911 section 4.4.20 provides the natural languages * in RFC 2911 section 4.4.20 provides the natural languages
* which are supported by the IPP implementation to be used * which are supported by the IPP implementation to be used
* in the name and text syntax attribute types. * in the name and text syntax attribute types.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class GeneratedNaturalLanguageSupported public final class GeneratedNaturalLanguageSupported
extends NaturalLanguageSyntax extends NaturalLanguageSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
/** /**
* Creates a <code>GeneratedNaturalLanguageSupported</code> object. * Creates a <code>GeneratedNaturalLanguageSupported</code> object.
* *
* @param value the charset string value. * @param value the charset string value.
*/ */
public GeneratedNaturalLanguageSupported(String value) public GeneratedNaturalLanguageSupported(String value)
@ -70,7 +71,7 @@ public final class GeneratedNaturalLanguageSupported
* *
* @return The class <code>GeneratedNaturalLanguageSupported</code> itself. * @return The class <code>GeneratedNaturalLanguageSupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return GeneratedNaturalLanguageSupported.class; return GeneratedNaturalLanguageSupported.class;
} }

View File

@ -1,4 +1,4 @@
/* IppVersionsSupported.java -- /* IppVersionsSupported.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -38,6 +38,7 @@ exception statement from your version. */
package gnu.javax.print.ipp.attribute.supported; package gnu.javax.print.ipp.attribute.supported;
import javax.print.attribute.Attribute;
import javax.print.attribute.EnumSyntax; import javax.print.attribute.EnumSyntax;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
@ -45,31 +46,31 @@ import javax.print.attribute.SupportedValuesAttribute;
* IppVersionsSupported attribute as described in RFC 2911 section * IppVersionsSupported attribute as described in RFC 2911 section
* 4.4.14 provides the value(s) (implemented as EnumSyntax) * 4.4.14 provides the value(s) (implemented as EnumSyntax)
* of the supported IPP versions. * of the supported IPP versions.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class IppVersionsSupported extends EnumSyntax public final class IppVersionsSupported extends EnumSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
// a keyword based attribute in IPP - int values just starting at 0 // a keyword based attribute in IPP - int values just starting at 0
/** IPP version 1.0 */ /** IPP version 1.0 */
public static final IppVersionsSupported V_1_0 = public static final IppVersionsSupported V_1_0 =
new IppVersionsSupported(0); new IppVersionsSupported(0);
/** IPP version 1.1 */ /** IPP version 1.1 */
public static final IppVersionsSupported V_1_1 = public static final IppVersionsSupported V_1_1 =
new IppVersionsSupported(1); new IppVersionsSupported(1);
private static final String[] stringTable = { "1.0", "1.1" }; private static final String[] stringTable = { "1.0", "1.1" };
private static final IppVersionsSupported[] enumValueTable = { V_1_0, private static final IppVersionsSupported[] enumValueTable = { V_1_0,
V_1_1 }; V_1_1 };
/** /**
* Constructs a <code>IppVersionsSupported</code> object. * Constructs a <code>IppVersionsSupported</code> object.
* *
* @param value the enum value * @param value the enum value
*/ */
public IppVersionsSupported(int value) public IppVersionsSupported(int value)
@ -78,11 +79,11 @@ public final class IppVersionsSupported extends EnumSyntax
} }
/** /**
* Returns category of this class. * Returns the category of this class.
* *
* @return The class <code>IppVersionsSupported</code> itself. * @return The class <code>IppVersionsSupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return IppVersionsSupported.class; return IppVersionsSupported.class;
} }
@ -96,7 +97,7 @@ public final class IppVersionsSupported extends EnumSyntax
{ {
return "ipp-versions-supported"; return "ipp-versions-supported";
} }
/** /**
* Returns a table with the enumeration values represented as strings * Returns a table with the enumeration values represented as strings
* for this object. * for this object.

View File

@ -1,4 +1,4 @@
/* JobHoldUntilSupported.java -- /* JobHoldUntilSupported.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -40,63 +40,64 @@ package gnu.javax.print.ipp.attribute.supported;
import java.util.Locale; import java.util.Locale;
import javax.print.attribute.Attribute;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
import javax.print.attribute.TextSyntax; import javax.print.attribute.TextSyntax;
/** /**
* JobHoldUntilSupported attribute provides the supported * JobHoldUntilSupported attribute provides the supported
* values for the attribute type job-hold-until. * values for the attribute type job-hold-until.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class JobHoldUntilSupported extends TextSyntax public final class JobHoldUntilSupported extends TextSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
// a keyword/name based attribute in IPP // a keyword/name based attribute in IPP
// can be extended by administrators // can be extended by administrators
// standard values are predefined // standard values are predefined
/** Job should be printed immediately. */ /** Job should be printed immediately. */
public static final JobHoldUntilSupported NO_HOLD = public static final JobHoldUntilSupported NO_HOLD =
new JobHoldUntilSupported("no-hold", null); new JobHoldUntilSupported("no-hold", null);
/** Job should be hold indefinitely. */ /** Job should be hold indefinitely. */
public static final JobHoldUntilSupported INDEFINITE = public static final JobHoldUntilSupported INDEFINITE =
new JobHoldUntilSupported("indefinite", null); new JobHoldUntilSupported("indefinite", null);
/** Job should be processed during the day. */ /** Job should be processed during the day. */
public static final JobHoldUntilSupported DAY_TIME = public static final JobHoldUntilSupported DAY_TIME =
new JobHoldUntilSupported("day-time", null); new JobHoldUntilSupported("day-time", null);
/** Job should be processed in the evening. */ /** Job should be processed in the evening. */
public static final JobHoldUntilSupported EVENING = public static final JobHoldUntilSupported EVENING =
new JobHoldUntilSupported("evening", null); new JobHoldUntilSupported("evening", null);
/** Job should be processed during night. */ /** Job should be processed during night. */
public static final JobHoldUntilSupported NIGHT = public static final JobHoldUntilSupported NIGHT =
new JobHoldUntilSupported("night", null); new JobHoldUntilSupported("night", null);
/** Job should be processed during the weekend. */ /** Job should be processed during the weekend. */
public static final JobHoldUntilSupported WEEKEND = public static final JobHoldUntilSupported WEEKEND =
new JobHoldUntilSupported("weekend", null); new JobHoldUntilSupported("weekend", null);
/**
* Job should be processed as second-shift
* (after close of business).
*/
public static final JobHoldUntilSupported SECOND_SHIFT =
new JobHoldUntilSupported("second-shift", null);
/**
* Job should be processed as third-shift
* (after midnight).
*/
public static final JobHoldUntilSupported THIRD_SHIFT =
new JobHoldUntilSupported("third-shift", null);
/** /**
* Creates a <code>JobHoldUntilSupported</code> object with the * Job should be processed as second-shift
* (after close of business).
*/
public static final JobHoldUntilSupported SECOND_SHIFT =
new JobHoldUntilSupported("second-shift", null);
/**
* Job should be processed as third-shift
* (after midnight).
*/
public static final JobHoldUntilSupported THIRD_SHIFT =
new JobHoldUntilSupported("third-shift", null);
/**
* Creates a <code>JobHoldUntilSupported</code> object with the
* given value and locale. * given value and locale.
* *
* @param value the value for this syntax * @param value the value for this syntax
@ -115,7 +116,7 @@ public final class JobHoldUntilSupported extends TextSyntax
* *
* @return The class <code>JobHoldUntilSupported</code> itself. * @return The class <code>JobHoldUntilSupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return JobHoldUntilSupported.class; return JobHoldUntilSupported.class;
} }

View File

@ -1,4 +1,4 @@
/* JobSheetsSupported.java -- /* JobSheetsSupported.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -53,26 +53,26 @@ import javax.print.attribute.standard.JobSheets;
/** /**
* JobSheetsSupported attribute provides the supported values * JobSheetsSupported attribute provides the supported values
* of the job-sheets attribute. * of the job-sheets attribute.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class JobSheetsSupported extends TextSyntax public final class JobSheetsSupported extends TextSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
//a keyword/name based attribute in IPP //a keyword/name based attribute in IPP
// can be extended by administrators // can be extended by administrators
// standard values are predefined // standard values are predefined
/** No job sheet is the default */ /** No job sheet is the default */
public static final JobSheetsDefault NONE = public static final JobSheetsDefault NONE =
new JobSheetsDefault("none", Locale.getDefault()); new JobSheetsDefault("none", Locale.getDefault());
/** A job sheet is the default */ /** A job sheet is the default */
public static final JobSheetsDefault STANDARD = public static final JobSheetsDefault STANDARD =
new JobSheetsDefault("standard", Locale.getDefault()); new JobSheetsDefault("standard", Locale.getDefault());
/** /**
* Creates a <code>JobSheetsSupported</code> object with the * Creates a <code>JobSheetsSupported</code> object with the
* given value and locale. * given value and locale.
* *
* @param value the value for this syntax * @param value the value for this syntax
@ -85,13 +85,13 @@ public final class JobSheetsSupported extends TextSyntax
{ {
super(value, locale); super(value, locale);
} }
/** /**
* Returns category of this class. * Returns category of this class.
* *
* @return The class <code>JobSheetsSupported</code> itself. * @return The class <code>JobSheetsSupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return JobSheetsSupported.class; return JobSheetsSupported.class;
} }
@ -105,46 +105,44 @@ public final class JobSheetsSupported extends TextSyntax
{ {
return "job-sheets-supported"; return "job-sheets-supported";
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this SupportedValuesAttribute enum. * of this SupportedValuesAttribute enum.
* <p>May return null if no value exists in JPS API.</p> * <p>May return null if no value exists in JPS API.</p>
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public JobSheets getAssociatedAttribute() public JobSheets getAssociatedAttribute()
{ {
if (this.equals(JobSheetsDefault.NONE)) if (this.equals(JobSheetsDefault.NONE))
return JobSheets.NONE; return JobSheets.NONE;
if (this.equals(JobSheetsDefault.STANDARD)) if (this.equals(JobSheetsDefault.STANDARD))
return JobSheets.STANDARD; return JobSheets.STANDARD;
return null; return null;
} }
/** /**
* Constructs an array from a set of -supported attributes. * Constructs an array from a set of -supported attributes.
* @param set set to process * @param set set to process
* @return The constructed array. * @return The constructed array.
* *
* @see #getAssociatedAttribute() * @see #getAssociatedAttribute()
*/ */
public static JobSheets[] getAssociatedAttributeArray(Set set) public static JobSheets[]
getAssociatedAttributeArray(Set<Attribute> set)
{ {
JobSheetsSupported tmp; ArrayList<JobSheets> result = new ArrayList<JobSheets>();
ArrayList result = new ArrayList();
Iterator it = set.iterator();
int j = 0; int j = 0;
while (it.hasNext()) for (Attribute tmp : set)
{ {
tmp = (JobSheetsSupported) it.next(); JobSheets att = ((JobSheetsSupported) tmp).getAssociatedAttribute();
Attribute att = tmp.getAssociatedAttribute();
if (att != null) if (att != null)
result.add(att); result.add(att);
j++; j++;
} }
return (JobSheets[]) result.toArray(new JobSheets[result.size()]); return result.toArray(new JobSheets[result.size()]);
} }
} }

View File

@ -1,4 +1,4 @@
/* MediaSupported.java -- /* MediaSupported.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -45,6 +45,7 @@ import java.util.Iterator;
import java.util.Locale; import java.util.Locale;
import java.util.Set; import java.util.Set;
import javax.print.attribute.Attribute;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
import javax.print.attribute.TextSyntax; import javax.print.attribute.TextSyntax;
import javax.print.attribute.standard.Media; import javax.print.attribute.standard.Media;
@ -52,15 +53,15 @@ import javax.print.attribute.standard.Media;
/** /**
* MediaSupported attribute provides the keyword values * MediaSupported attribute provides the keyword values
* of the media types supported by the printer object. * of the media types supported by the printer object.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class MediaSupported extends TextSyntax public final class MediaSupported extends TextSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
/** /**
* Creates a <code>MediaSupported</code> object with the * Creates a <code>MediaSupported</code> object with the
* given value and locale. * given value and locale.
* *
* @param value the value for this syntax * @param value the value for this syntax
@ -79,7 +80,7 @@ public final class MediaSupported extends TextSyntax
* *
* @return The class <code>MediaSupported</code> itself. * @return The class <code>MediaSupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return MediaSupported.class; return MediaSupported.class;
} }
@ -93,26 +94,23 @@ public final class MediaSupported extends TextSyntax
{ {
return "media-supported"; return "media-supported";
} }
/** /**
* Constructs an array from a set of -supported attributes. * Constructs an array from a set of -supported attributes.
* @param set set to process * @param set set to process
* @return The constructed array. * @return The constructed array.
*/ */
public static Media[] getAssociatedAttributeArray(Set set) public static Media[] getAssociatedAttributeArray(Set<Attribute> set)
{ {
MediaSupported tmp;
Media tmp2; Media tmp2;
ArrayList result = new ArrayList(); ArrayList<Media> result = new ArrayList<Media>();
Iterator it = set.iterator(); for (Attribute tmp : set)
while (it.hasNext())
{ {
tmp = (MediaSupported) it.next();
tmp2 = (Media) IppUtilities.getEnumAttribute("media", tmp.toString()); tmp2 = (Media) IppUtilities.getEnumAttribute("media", tmp.toString());
if (tmp2 != null) if (tmp2 != null)
result.add(tmp2); result.add(tmp2);
} }
return (Media[]) result.toArray(new Media[result.size()]); return result.toArray(new Media[result.size()]);
} }
} }

View File

@ -42,6 +42,7 @@ import gnu.javax.print.ipp.IppUtilities;
import java.util.Iterator; import java.util.Iterator;
import java.util.Set; import java.util.Set;
import javax.print.attribute.Attribute;
import javax.print.attribute.EnumSyntax; import javax.print.attribute.EnumSyntax;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
import javax.print.attribute.standard.MultipleDocumentHandling; import javax.print.attribute.standard.MultipleDocumentHandling;
@ -50,49 +51,49 @@ import javax.print.attribute.standard.MultipleDocumentHandling;
/** /**
* <code>MultipleDocumentHandlingSupported</code> provides the * <code>MultipleDocumentHandlingSupported</code> provides the
* supported values for the MultipleDocumentHandling attribute. * supported values for the MultipleDocumentHandling attribute.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class MultipleDocumentHandlingSupported extends EnumSyntax public final class MultipleDocumentHandlingSupported extends EnumSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
//a keyword based attribute in IPP - int values just starting at 0 //a keyword based attribute in IPP - int values just starting at 0
/** /**
* Supports only multiple documents treated as a single document. This * Supports only multiple documents treated as a single document. This
* applies to attributes which specify treatment of multiple document jobs. * applies to attributes which specify treatment of multiple document jobs.
*/ */
public static final MultipleDocumentHandlingSupported SINGLE_DOCUMENT = public static final MultipleDocumentHandlingSupported SINGLE_DOCUMENT =
new MultipleDocumentHandlingSupported(0); new MultipleDocumentHandlingSupported(0);
/** Supports multiple documents as uncollated copies */ /** Supports multiple documents as uncollated copies */
public static final MultipleDocumentHandlingSupported SEPARATE_DOCUMENTS_UNCOLLATED_COPIES = public static final MultipleDocumentHandlingSupported SEPARATE_DOCUMENTS_UNCOLLATED_COPIES =
new MultipleDocumentHandlingSupported(1); new MultipleDocumentHandlingSupported(1);
/** Supports multiple documents as collated copies */ /** Supports multiple documents as collated copies */
public static final MultipleDocumentHandlingSupported SEPARATE_DOCUMENTS_COLLATED_COPIES = public static final MultipleDocumentHandlingSupported SEPARATE_DOCUMENTS_COLLATED_COPIES =
new MultipleDocumentHandlingSupported(2); new MultipleDocumentHandlingSupported(2);
/** /**
* Supports multiple documents where every single document starts * Supports multiple documents where every single document starts
* with a new sheet. * with a new sheet.
*/ */
public static final MultipleDocumentHandlingSupported SINGLE_DOCUMENT_NEW_SHEET = public static final MultipleDocumentHandlingSupported SINGLE_DOCUMENT_NEW_SHEET =
new MultipleDocumentHandlingSupported(3); new MultipleDocumentHandlingSupported(3);
private static final String[] stringTable = { "single-document", private static final String[] stringTable = { "single-document",
"separate-documents-uncollated-copies", "separate-documents-uncollated-copies",
"separate-documents-collated-copies", "separate-documents-collated-copies",
"single-document-new-sheet" }; "single-document-new-sheet" };
private static final MultipleDocumentHandlingSupported[] enumValueTable = private static final MultipleDocumentHandlingSupported[] enumValueTable =
{ SINGLE_DOCUMENT, SEPARATE_DOCUMENTS_UNCOLLATED_COPIES, { SINGLE_DOCUMENT, SEPARATE_DOCUMENTS_UNCOLLATED_COPIES,
SEPARATE_DOCUMENTS_COLLATED_COPIES, SINGLE_DOCUMENT_NEW_SHEET}; SEPARATE_DOCUMENTS_COLLATED_COPIES, SINGLE_DOCUMENT_NEW_SHEET};
/** /**
* Constructs a <code>MultipleDocumentHandlingSupported</code> object. * Constructs a <code>MultipleDocumentHandlingSupported</code> object.
* *
* @param value the enum value * @param value the enum value
*/ */
protected MultipleDocumentHandlingSupported(int value) protected MultipleDocumentHandlingSupported(int value)
@ -105,7 +106,7 @@ public final class MultipleDocumentHandlingSupported extends EnumSyntax
* *
* @return The class <code>MultipleDocumentHandlingSupported</code> itself. * @return The class <code>MultipleDocumentHandlingSupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return MultipleDocumentHandlingSupported.class; return MultipleDocumentHandlingSupported.class;
} }
@ -119,7 +120,7 @@ public final class MultipleDocumentHandlingSupported extends EnumSyntax
{ {
return "multiple-document-handling-supported"; return "multiple-document-handling-supported";
} }
/** /**
* Returns a table with the enumeration values represented as strings * Returns a table with the enumeration values represented as strings
* for this object. * for this object.
@ -140,38 +141,36 @@ public final class MultipleDocumentHandlingSupported extends EnumSyntax
{ {
return enumValueTable; return enumValueTable;
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this SupportedValuesAttribute enum. * of this SupportedValuesAttribute enum.
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public MultipleDocumentHandling getAssociatedAttribute() public MultipleDocumentHandling getAssociatedAttribute()
{ {
return (MultipleDocumentHandling) IppUtilities.getEnumAttribute( return (MultipleDocumentHandling) IppUtilities.getEnumAttribute(
"multiple-document-handling", new Integer(getValue())); "multiple-document-handling", new Integer(getValue()));
} }
/** /**
* Constructs an array from a set of -supported attributes. * Constructs an array from a set of -supported attributes.
* @param set set to process * @param set set to process
* @return The constructed array. * @return The constructed array.
* *
* @see #getAssociatedAttribute() * @see #getAssociatedAttribute()
*/ */
public static MultipleDocumentHandling[] getAssociatedAttributeArray(Set set) public static MultipleDocumentHandling[]
getAssociatedAttributeArray(Set<Attribute> set)
{ {
MultipleDocumentHandlingSupported tmp; MultipleDocumentHandling[] result = new MultipleDocumentHandling[set.size()];
MultipleDocumentHandling[] result = new MultipleDocumentHandling[set.size()];
Iterator it = set.iterator();
int j = 0; int j = 0;
while (it.hasNext()) for (Attribute tmp : set)
{ {
tmp = (MultipleDocumentHandlingSupported) it.next(); result[j] = ((MultipleDocumentHandlingSupported) tmp).getAssociatedAttribute();
result[j] = tmp.getAssociatedAttribute();
j++; j++;
} }
return result; return result;
} }
} }

View File

@ -1,4 +1,4 @@
/* MultipleDocumentJobsSupported.java -- /* MultipleDocumentJobsSupported.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -38,35 +38,36 @@ exception statement from your version. */
package gnu.javax.print.ipp.attribute.supported; package gnu.javax.print.ipp.attribute.supported;
import javax.print.attribute.Attribute;
import javax.print.attribute.EnumSyntax; import javax.print.attribute.EnumSyntax;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
/** /**
* <code>MultipleDocumentJobsSupported</code> specifies if a printer * <code>MultipleDocumentJobsSupported</code> specifies if a printer
* supported multiple documents in one job. * supported multiple documents in one job.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public class MultipleDocumentJobsSupported extends EnumSyntax public class MultipleDocumentJobsSupported extends EnumSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
/** Multiple documents per job are not supported. */ /** Multiple documents per job are not supported. */
public static final MultipleDocumentJobsSupported NOT_SUPPORTED = public static final MultipleDocumentJobsSupported NOT_SUPPORTED =
new MultipleDocumentJobsSupported(0); new MultipleDocumentJobsSupported(0);
/** Multiple documents per job are supported. */ /** Multiple documents per job are supported. */
public static final MultipleDocumentJobsSupported SUPPORTED = public static final MultipleDocumentJobsSupported SUPPORTED =
new MultipleDocumentJobsSupported(1); new MultipleDocumentJobsSupported(1);
private static final String[] stringTable = { "not-supported", "supported" }; private static final String[] stringTable = { "not-supported", "supported" };
private static final MultipleDocumentJobsSupported[] enumValueTable = private static final MultipleDocumentJobsSupported[] enumValueTable =
{ NOT_SUPPORTED, SUPPORTED }; { NOT_SUPPORTED, SUPPORTED };
/** /**
* Constructs a <code>MultipleDocumentJobsSupported</code> object. * Constructs a <code>MultipleDocumentJobsSupported</code> object.
* *
* @param value the enum value * @param value the enum value
*/ */
protected MultipleDocumentJobsSupported(int value) protected MultipleDocumentJobsSupported(int value)
@ -79,7 +80,7 @@ public class MultipleDocumentJobsSupported extends EnumSyntax
* *
* @return The class <code>MultipleDocumentJobsSupported</code> itself. * @return The class <code>MultipleDocumentJobsSupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return MultipleDocumentJobsSupported.class; return MultipleDocumentJobsSupported.class;
} }
@ -93,7 +94,7 @@ public class MultipleDocumentJobsSupported extends EnumSyntax
{ {
return "multiple-document-jobs-supported"; return "multiple-document-jobs-supported";
} }
/** /**
* Returns a table with the enumeration values represented as strings * Returns a table with the enumeration values represented as strings
* for this object. * for this object.

View File

@ -1,4 +1,4 @@
/* OperationsSupported.java -- /* OperationsSupported.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -38,6 +38,7 @@ exception statement from your version. */
package gnu.javax.print.ipp.attribute.supported; package gnu.javax.print.ipp.attribute.supported;
import javax.print.attribute.Attribute;
import javax.print.attribute.EnumSyntax; import javax.print.attribute.EnumSyntax;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
@ -45,12 +46,12 @@ import javax.print.attribute.SupportedValuesAttribute;
* <code>OperationsSupported</code> specifies the enums of the operations * <code>OperationsSupported</code> specifies the enums of the operations
* supported by a given printer or job object. The attribute is further * supported by a given printer or job object. The attribute is further
* specified in RFC 2911 section 4.4.15. * specified in RFC 2911 section 4.4.15.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class OperationsSupported extends EnumSyntax public final class OperationsSupported extends EnumSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
/* /*
* Value Operation Name * Value Operation Name
----------------- ------------------------------------- ----------------- -------------------------------------
@ -76,104 +77,104 @@ public final class OperationsSupported extends EnumSyntax
0x0013-0x3FFF reserved for future IETF standards track operations 0x0013-0x3FFF reserved for future IETF standards track operations
0x4000-0x8FFF reserved for vendor extensions 0x4000-0x8FFF reserved for vendor extensions
*/ */
// standard ipp 1.1 operations // standard ipp 1.1 operations
/** /**
* Operation to print a job in one request/response. */ * Operation to print a job in one request/response. */
public static final OperationsSupported PRINT_JOB = public static final OperationsSupported PRINT_JOB =
new OperationsSupported(0x02); new OperationsSupported(0x02);
/** Operation to print a document from an URI */ /** Operation to print a document from an URI */
public static final OperationsSupported PRINT_URI = public static final OperationsSupported PRINT_URI =
new OperationsSupported(0x03); new OperationsSupported(0x03);
/** Operation to validate a job before submission. */ /** Operation to validate a job before submission. */
public static final OperationsSupported VALIDATE_JOB = public static final OperationsSupported VALIDATE_JOB =
new OperationsSupported(0x04); new OperationsSupported(0x04);
/** /**
* Operation to create an initial job for use with multiple document per job. * Operation to create an initial job for use with multiple document per job.
*/ */
public static final OperationsSupported CREATE_JOB = public static final OperationsSupported CREATE_JOB =
new OperationsSupported(0x05); new OperationsSupported(0x05);
/** /**
* Operation to send a document to a multidoc job created via CREATE_JOB * Operation to send a document to a multidoc job created via CREATE_JOB
*/ */
public static final OperationsSupported SEND_DOCUMENT = public static final OperationsSupported SEND_DOCUMENT =
new OperationsSupported(0x06); new OperationsSupported(0x06);
/** /**
* Operation to send a document uri to a multidoc job created * Operation to send a document uri to a multidoc job created
* via CREATE_JOB. The document accessible from this URI will be printed. * via CREATE_JOB. The document accessible from this URI will be printed.
*/ */
public static final OperationsSupported SEND_URI = public static final OperationsSupported SEND_URI =
new OperationsSupported(0x07); new OperationsSupported(0x07);
/** Operation to cancel a job by its ID or name. */ /** Operation to cancel a job by its ID or name. */
public static final OperationsSupported CANCEL_JOB = public static final OperationsSupported CANCEL_JOB =
new OperationsSupported(0x08); new OperationsSupported(0x08);
/** Operation to get job attributes of a current job. */ /** Operation to get job attributes of a current job. */
public static final OperationsSupported GET_JOB_ATTRIBUTES = public static final OperationsSupported GET_JOB_ATTRIBUTES =
new OperationsSupported(0x09); new OperationsSupported(0x09);
/** Operation to pause a printer. */ /** Operation to pause a printer. */
public static final OperationsSupported PAUSE_PRINTER = public static final OperationsSupported PAUSE_PRINTER =
new OperationsSupported(0x10); new OperationsSupported(0x10);
/** Operation to get all currently queued or processed jobs. */ /** Operation to get all currently queued or processed jobs. */
public static final OperationsSupported GET_JOBS = public static final OperationsSupported GET_JOBS =
new OperationsSupported(0x0A); new OperationsSupported(0x0A);
/** Operation to get the attributes of a printer. */ /** Operation to get the attributes of a printer. */
public static final OperationsSupported GET_PRINTER_ATTRIBUTES = public static final OperationsSupported GET_PRINTER_ATTRIBUTES =
new OperationsSupported(0x0B); new OperationsSupported(0x0B);
/** Operation to put a job on hold by its ID or name. */ /** Operation to put a job on hold by its ID or name. */
public static final OperationsSupported HOLD_JOB = public static final OperationsSupported HOLD_JOB =
new OperationsSupported(0x0C); new OperationsSupported(0x0C);
/** Operation to release a job by its ID or name. */ /** Operation to release a job by its ID or name. */
public static final OperationsSupported RELEASE_JOB = public static final OperationsSupported RELEASE_JOB =
new OperationsSupported(0x0D); new OperationsSupported(0x0D);
/** Operation to restart a job by its ID or name. */ /** Operation to restart a job by its ID or name. */
public static final OperationsSupported RESTART_JOB = public static final OperationsSupported RESTART_JOB =
new OperationsSupported(0x0E); new OperationsSupported(0x0E);
/** Not yet an operation - reserved for futher use. */ /** Not yet an operation - reserved for futher use. */
public static final OperationsSupported RESERVED = public static final OperationsSupported RESERVED =
new OperationsSupported(0x0F); new OperationsSupported(0x0F);
/** Operation to resume a printer. */ /** Operation to resume a printer. */
public static final OperationsSupported RESUME_PRINTER = public static final OperationsSupported RESUME_PRINTER =
new OperationsSupported(0x11); new OperationsSupported(0x11);
/** Operation to remove all jobs from a printer regardless of state. */ /** Operation to remove all jobs from a printer regardless of state. */
public static final OperationsSupported PURGE_JOBS = public static final OperationsSupported PURGE_JOBS =
new OperationsSupported(0x12); new OperationsSupported(0x12);
private static final String[] stringTable = { "print-job", "print-uri", private static final String[] stringTable = { "print-job", "print-uri",
"validate-job", "create-job", "validate-job", "create-job",
"send-document", "send-uri", "send-document", "send-uri",
"cancel-job", "get-job-attributes", "cancel-job", "get-job-attributes",
"pause-printer", "get-jobs", "pause-printer", "get-jobs",
"get-printer-attributes", "hold-job", "get-printer-attributes", "hold-job",
"release-job", "restart-job", "reserved", "release-job", "restart-job", "reserved",
"resume-printer", "purge-job"}; "resume-printer", "purge-job"};
private static final OperationsSupported[] enumValueTable = private static final OperationsSupported[] enumValueTable =
{ PRINT_JOB, PRINT_URI, VALIDATE_JOB, CREATE_JOB, SEND_DOCUMENT, SEND_URI, { PRINT_JOB, PRINT_URI, VALIDATE_JOB, CREATE_JOB, SEND_DOCUMENT, SEND_URI,
CANCEL_JOB, GET_JOB_ATTRIBUTES, PAUSE_PRINTER, GET_JOBS, GET_PRINTER_ATTRIBUTES, CANCEL_JOB, GET_JOB_ATTRIBUTES, PAUSE_PRINTER, GET_JOBS, GET_PRINTER_ATTRIBUTES,
HOLD_JOB, RELEASE_JOB, RESTART_JOB, RESERVED, RESUME_PRINTER, PURGE_JOBS}; HOLD_JOB, RELEASE_JOB, RESTART_JOB, RESERVED, RESUME_PRINTER, PURGE_JOBS};
/** /**
* Constructs a <code>OperationsSupported</code> object. * Constructs a <code>OperationsSupported</code> object.
* *
* @param value the enum value * @param value the enum value
*/ */
protected OperationsSupported(int value) protected OperationsSupported(int value)
@ -186,7 +187,7 @@ public final class OperationsSupported extends EnumSyntax
* *
* @return The class <code>OperationsSupported</code> itself. * @return The class <code>OperationsSupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return OperationsSupported.class; return OperationsSupported.class;
} }
@ -200,7 +201,7 @@ public final class OperationsSupported extends EnumSyntax
{ {
return "operations-supported"; return "operations-supported";
} }
/** /**
* Returns a table with the enumeration values represented as strings * Returns a table with the enumeration values represented as strings
* for this object. * for this object.
@ -226,5 +227,5 @@ public final class OperationsSupported extends EnumSyntax
protected int getOffset() protected int getOffset()
{ {
return 2; return 2;
} }
} }

View File

@ -42,33 +42,34 @@ import gnu.javax.print.ipp.IppUtilities;
import java.util.Iterator; import java.util.Iterator;
import java.util.Set; import java.util.Set;
import javax.print.attribute.Attribute;
import javax.print.attribute.EnumSyntax; import javax.print.attribute.EnumSyntax;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
import javax.print.attribute.standard.OrientationRequested; import javax.print.attribute.standard.OrientationRequested;
/** /**
* The <code>OrientationRequestedSupported</code> attribute provides * The <code>OrientationRequestedSupported</code> attribute provides
* the supported values for the job attribute orientation-requested. * the supported values for the job attribute orientation-requested.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class OrientationRequestedSupported extends EnumSyntax public final class OrientationRequestedSupported extends EnumSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
/** Orientation as portrait. */ /** Orientation as portrait. */
public static final OrientationRequestedSupported PORTRAIT = public static final OrientationRequestedSupported PORTRAIT =
new OrientationRequestedSupported(3); new OrientationRequestedSupported(3);
/** Orientation as landscape. */ /** Orientation as landscape. */
public static final OrientationRequestedSupported LANDSCAPE = public static final OrientationRequestedSupported LANDSCAPE =
new OrientationRequestedSupported(4); new OrientationRequestedSupported(4);
/** Orientation as reversed landscape. */ /** Orientation as reversed landscape. */
public static final OrientationRequestedSupported REVERSE_LANDSCAPE = public static final OrientationRequestedSupported REVERSE_LANDSCAPE =
new OrientationRequestedSupported(5); new OrientationRequestedSupported(5);
/** Orientation as reversed portrait. */ /** Orientation as reversed portrait. */
public static final OrientationRequestedSupported REVERSE_PORTRAIT = public static final OrientationRequestedSupported REVERSE_PORTRAIT =
new OrientationRequestedSupported(6); new OrientationRequestedSupported(6);
@ -77,14 +78,14 @@ public final class OrientationRequestedSupported extends EnumSyntax
private static final String[] stringTable = { "portrait", "landscape", private static final String[] stringTable = { "portrait", "landscape",
"reverse-landscape", "reverse-landscape",
"reverse-portrait" }; "reverse-portrait" };
private static final OrientationRequestedSupported[] private static final OrientationRequestedSupported[]
enumValueTable = { PORTRAIT, LANDSCAPE, enumValueTable = { PORTRAIT, LANDSCAPE,
REVERSE_LANDSCAPE, REVERSE_PORTRAIT }; REVERSE_LANDSCAPE, REVERSE_PORTRAIT };
/** /**
* Constructs a <code>OrientationRequestedSupported</code> object. * Constructs a <code>OrientationRequestedSupported</code> object.
* *
* @param value the value * @param value the value
*/ */
protected OrientationRequestedSupported(int value) protected OrientationRequestedSupported(int value)
@ -97,7 +98,7 @@ public final class OrientationRequestedSupported extends EnumSyntax
* *
* @return The class <code>OrientationRequestedSupported</code> itself. * @return The class <code>OrientationRequestedSupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return OrientationRequestedSupported.class; return OrientationRequestedSupported.class;
} }
@ -111,7 +112,7 @@ public final class OrientationRequestedSupported extends EnumSyntax
{ {
return "orientation-requested-supported"; return "orientation-requested-supported";
} }
/** /**
* Returns a table with the enumeration values represented as strings * Returns a table with the enumeration values represented as strings
* for this object. * for this object.
@ -132,7 +133,7 @@ public final class OrientationRequestedSupported extends EnumSyntax
{ {
return enumValueTable; return enumValueTable;
} }
/** /**
* Returns the lowest used value by the enumerations of this class. * Returns the lowest used value by the enumerations of this class.
* . * .
@ -142,38 +143,36 @@ public final class OrientationRequestedSupported extends EnumSyntax
{ {
return 3; return 3;
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this SupportedValuesAttribute enum. * of this SupportedValuesAttribute enum.
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public OrientationRequested getAssociatedAttribute() public OrientationRequested getAssociatedAttribute()
{ {
return (OrientationRequested) IppUtilities.getEnumAttribute( return (OrientationRequested) IppUtilities.getEnumAttribute(
"orientation-requested", new Integer(getValue())); "orientation-requested", new Integer(getValue()));
} }
/** /**
* Constructs an array from a set of -supported attributes. * Constructs an array from a set of -supported attributes.
* @param set set to process * @param set set to process
* @return The constructed array. * @return The constructed array.
* *
* @see #getAssociatedAttribute() * @see #getAssociatedAttribute()
*/ */
public static OrientationRequested[] getAssociatedAttributeArray(Set set) public static OrientationRequested[]
getAssociatedAttributeArray(Set<Attribute> set)
{ {
OrientationRequestedSupported tmp; OrientationRequested[] result = new OrientationRequested[set.size()];
OrientationRequested[] result = new OrientationRequested[set.size()];
Iterator it = set.iterator();
int j = 0; int j = 0;
while (it.hasNext()) for (Attribute tmp : set)
{ {
tmp = (OrientationRequestedSupported) it.next(); result[j] = ((OrientationRequestedSupported) tmp).getAssociatedAttribute();
result[j] = tmp.getAssociatedAttribute();
j++; j++;
} }
return result; return result;
} }
} }

View File

@ -37,36 +37,36 @@ exception statement from your version. */
package gnu.javax.print.ipp.attribute.supported; package gnu.javax.print.ipp.attribute.supported;
import javax.print.attribute.Attribute;
import javax.print.attribute.EnumSyntax; import javax.print.attribute.EnumSyntax;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
/** /**
* <code>PageRangesSupported</code> is a boolean typed * <code>PageRangesSupported</code> is a boolean typed
* attribute indicating (as EnumSyntax) if page ranges * attribute indicating (as EnumSyntax) if page ranges
* are supported. * are supported.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class PageRangesSupported extends EnumSyntax public final class PageRangesSupported extends EnumSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
/** Page ranges are not supported. */ /** Page ranges are not supported. */
public static final PageRangesSupported NOT_SUPPORTED = public static final PageRangesSupported NOT_SUPPORTED =
new PageRangesSupported(0); new PageRangesSupported(0);
/** Page ranges are supported. */ /** Page ranges are supported. */
public static final PageRangesSupported SUPPORTED = public static final PageRangesSupported SUPPORTED =
new PageRangesSupported(1); new PageRangesSupported(1);
private static final String[] stringTable = { "not-supported", "supported" }; private static final String[] stringTable = { "not-supported", "supported" };
private static final PageRangesSupported[] enumValueTable = { NOT_SUPPORTED, private static final PageRangesSupported[] enumValueTable = { NOT_SUPPORTED,
SUPPORTED }; SUPPORTED };
/** /**
* Constructs a <code>PageRangesSupported</code> object. * Constructs a <code>PageRangesSupported</code> object.
* *
* @param value the enum value * @param value the enum value
*/ */
protected PageRangesSupported(int value) protected PageRangesSupported(int value)
@ -79,7 +79,7 @@ public final class PageRangesSupported extends EnumSyntax
* *
* @return The class <code>PageRangesSupported</code> itself. * @return The class <code>PageRangesSupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return PageRangesSupported.class; return PageRangesSupported.class;
} }
@ -93,7 +93,7 @@ public final class PageRangesSupported extends EnumSyntax
{ {
return "page-ranges-supported"; return "page-ranges-supported";
} }
/** /**
* Returns a table with the enumeration values represented as strings * Returns a table with the enumeration values represented as strings
* for this object. * for this object.

View File

@ -42,6 +42,7 @@ import gnu.javax.print.ipp.IppUtilities;
import java.util.Iterator; import java.util.Iterator;
import java.util.Set; import java.util.Set;
import javax.print.attribute.Attribute;
import javax.print.attribute.EnumSyntax; import javax.print.attribute.EnumSyntax;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
import javax.print.attribute.standard.PrintQuality; import javax.print.attribute.standard.PrintQuality;
@ -50,33 +51,33 @@ import javax.print.attribute.standard.PrintQuality;
/** /**
* <code>PrintQualitySupported</code> provides the * <code>PrintQualitySupported</code> provides the
* supported values for the print-quality attribute. * supported values for the print-quality attribute.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class PrintQualitySupported extends EnumSyntax public final class PrintQualitySupported extends EnumSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
/** Draft quality of the printer. */ /** Draft quality of the printer. */
public static final PrintQualitySupported DRAFT = public static final PrintQualitySupported DRAFT =
new PrintQualitySupported(3); new PrintQualitySupported(3);
/** Normal quality of the printer. */ /** Normal quality of the printer. */
public static final PrintQualitySupported NORMAL = public static final PrintQualitySupported NORMAL =
new PrintQualitySupported(4); new PrintQualitySupported(4);
/** High quality of the printer. */ /** High quality of the printer. */
public static final PrintQualitySupported HIGH = public static final PrintQualitySupported HIGH =
new PrintQualitySupported(5); new PrintQualitySupported(5);
private static final String[] stringTable = { "draft", "normal", "high" }; private static final String[] stringTable = { "draft", "normal", "high" };
private static final PrintQualitySupported[] enumValueTable = { DRAFT, private static final PrintQualitySupported[] enumValueTable = { DRAFT,
NORMAL, NORMAL,
HIGH }; HIGH };
/** /**
* Constructs a <code>PrintQualitySupported</code> object. * Constructs a <code>PrintQualitySupported</code> object.
* *
* @param value the value of the enum * @param value the value of the enum
*/ */
protected PrintQualitySupported(int value) protected PrintQualitySupported(int value)
@ -89,7 +90,7 @@ public final class PrintQualitySupported extends EnumSyntax
* *
* @return The class <code>PrintQualitySupported</code> itself. * @return The class <code>PrintQualitySupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return PrintQualitySupported.class; return PrintQualitySupported.class;
} }
@ -103,7 +104,7 @@ public final class PrintQualitySupported extends EnumSyntax
{ {
return "print-quality-supported"; return "print-quality-supported";
} }
/** /**
* Returns a table with the enumeration values represented as strings * Returns a table with the enumeration values represented as strings
* for this object. * for this object.
@ -124,7 +125,7 @@ public final class PrintQualitySupported extends EnumSyntax
{ {
return enumValueTable; return enumValueTable;
} }
/** /**
* Returns the lowest used value by the enumerations of this class. * Returns the lowest used value by the enumerations of this class.
* . * .
@ -134,38 +135,35 @@ public final class PrintQualitySupported extends EnumSyntax
{ {
return 3; return 3;
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this SupportedValuesAttribute enum. * of this SupportedValuesAttribute enum.
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public PrintQuality getAssociatedAttribute() public PrintQuality getAssociatedAttribute()
{ {
return (PrintQuality) IppUtilities.getEnumAttribute( return (PrintQuality) IppUtilities.getEnumAttribute(
"print-quality", new Integer(getValue())); "print-quality", new Integer(getValue()));
} }
/** /**
* Constructs an array from a set of -supported attributes. * Constructs an array from a set of -supported attributes.
* @param set set to process * @param set set to process
* @return The constructed array. * @return The constructed array.
* *
* @see #getAssociatedAttribute() * @see #getAssociatedAttribute()
*/ */
public static PrintQuality[] getAssociatedAttributeArray(Set set) public static PrintQuality[] getAssociatedAttributeArray(Set<Attribute> set)
{ {
PrintQualitySupported tmp; PrintQuality[] result = new PrintQuality[set.size()];
PrintQuality[] result = new PrintQuality[set.size()];
Iterator it = set.iterator();
int j = 0; int j = 0;
while (it.hasNext()) for (Attribute tmp : set)
{ {
tmp = (PrintQualitySupported) it.next(); result[j] = ((PrintQualitySupported) tmp).getAssociatedAttribute();
result[j] = tmp.getAssociatedAttribute();
j++; j++;
} }
return result; return result;
} }
} }

View File

@ -40,23 +40,24 @@ package gnu.javax.print.ipp.attribute.supported;
import java.util.Iterator; import java.util.Iterator;
import java.util.Set; import java.util.Set;
import javax.print.attribute.Attribute;
import javax.print.attribute.ResolutionSyntax; import javax.print.attribute.ResolutionSyntax;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
import javax.print.attribute.standard.PrinterResolution; import javax.print.attribute.standard.PrinterResolution;
/** /**
* The <code>PrinterResolutionSupported</code> attribute provides * The <code>PrinterResolutionSupported</code> attribute provides
* the supported values for the job attribute printer-resolution. * the supported values for the job attribute printer-resolution.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class PrinterResolutionSupported extends ResolutionSyntax public final class PrinterResolutionSupported extends ResolutionSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
/** /**
* Creates a <code>PrinterResolutionSupported</code> object with the * Creates a <code>PrinterResolutionSupported</code> object with the
* given arguments. * given arguments.
* *
* @param crossFeedResolution the cross feed resolution * @param crossFeedResolution the cross feed resolution
@ -65,25 +66,25 @@ public final class PrinterResolutionSupported extends ResolutionSyntax
* *
* @exception IllegalArgumentException if preconditions fail * @exception IllegalArgumentException if preconditions fail
*/ */
public PrinterResolutionSupported(int crossFeedResolution, public PrinterResolutionSupported(int crossFeedResolution,
int feedResolution, int units) int feedResolution, int units)
{ {
super(crossFeedResolution, feedResolution, units); super(crossFeedResolution, feedResolution, units);
} }
/** /**
* Tests if the given object is equal to this object. * Tests if the given object is equal to this object.
* *
* @param obj the object to test * @param obj the object to test
* *
* @return <code>true</code> if both objects are equal, * @return <code>true</code> if both objects are equal,
* <code>false</code> otherwise. * <code>false</code> otherwise.
*/ */
public boolean equals(Object obj) public boolean equals(Object obj)
{ {
if(! (obj instanceof PrinterResolutionSupported)) if(! (obj instanceof PrinterResolutionSupported))
return false; return false;
return super.equals(obj); return super.equals(obj);
} }
@ -92,7 +93,7 @@ public final class PrinterResolutionSupported extends ResolutionSyntax
* *
* @return The class <code>PrinterResolutionSupported</code> itself. * @return The class <code>PrinterResolutionSupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return PrinterResolutionSupported.class; return PrinterResolutionSupported.class;
} }
@ -106,38 +107,36 @@ public final class PrinterResolutionSupported extends ResolutionSyntax
{ {
return "printer-resolution-supported"; return "printer-resolution-supported";
} }
/** /**
* Returns the equally enum of the standard attribute class * Returns the equally enum of the standard attribute class
* of this SupportedValuesAttribute enum. * of this SupportedValuesAttribute enum.
* *
* @return The enum of the standard attribute class. * @return The enum of the standard attribute class.
*/ */
public PrinterResolution getAssociatedAttribute() public PrinterResolution getAssociatedAttribute()
{ {
return new PrinterResolution(getCrossFeedResolutionDphi(), return new PrinterResolution(getCrossFeedResolutionDphi(),
getFeedResolutionDphi(), 1); getFeedResolutionDphi(), 1);
} }
/** /**
* Constructs an array from a set of -supported attributes. * Constructs an array from a set of -supported attributes.
* @param set set to process * @param set set to process
* @return The constructed array. * @return The constructed array.
* *
* @see #getAssociatedAttribute() * @see #getAssociatedAttribute()
*/ */
public static PrinterResolution[] getAssociatedAttributeArray(Set set) public static PrinterResolution[]
getAssociatedAttributeArray(Set<Attribute> set)
{ {
PrinterResolutionSupported tmp; PrinterResolution[] result = new PrinterResolution[set.size()];
PrinterResolution[] result = new PrinterResolution[set.size()];
Iterator it = set.iterator();
int j = 0; int j = 0;
while (it.hasNext()) for (Attribute tmp : set)
{ {
tmp = (PrinterResolutionSupported) it.next(); result[j] = ((PrinterResolutionSupported) tmp).getAssociatedAttribute();
result[j] = tmp.getAssociatedAttribute();
j++; j++;
} }
return result; return result;
} }
} }

View File

@ -1,4 +1,4 @@
/* PrinterUriSupported.java -- /* PrinterUriSupported.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -40,6 +40,7 @@ package gnu.javax.print.ipp.attribute.supported;
import java.net.URI; import java.net.URI;
import javax.print.attribute.Attribute;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
import javax.print.attribute.URISyntax; import javax.print.attribute.URISyntax;
@ -47,10 +48,10 @@ import javax.print.attribute.URISyntax;
* PrinterUriSupported attribute as described in RFC 2911 section * PrinterUriSupported attribute as described in RFC 2911 section
* 4.4.1 contains one of the URIs the printer supported for * 4.4.1 contains one of the URIs the printer supported for
* job processing (e.g. one with authentication). * job processing (e.g. one with authentication).
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class PrinterUriSupported extends URISyntax public final class PrinterUriSupported extends URISyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
@ -70,7 +71,7 @@ public final class PrinterUriSupported extends URISyntax
* *
* @return The class <code>PrinterUriSupported</code> itself. * @return The class <code>PrinterUriSupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return PrinterUriSupported.class; return PrinterUriSupported.class;
} }

View File

@ -37,6 +37,7 @@ exception statement from your version. */
package gnu.javax.print.ipp.attribute.supported; package gnu.javax.print.ipp.attribute.supported;
import javax.print.attribute.Attribute;
import javax.print.attribute.EnumSyntax; import javax.print.attribute.EnumSyntax;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
@ -44,45 +45,45 @@ import javax.print.attribute.SupportedValuesAttribute;
/** /**
* <code>SidesSupported</code> provides the * <code>SidesSupported</code> provides the
* supported values for the sides attribute. * supported values for the sides attribute.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class SidesSupported extends EnumSyntax public final class SidesSupported extends EnumSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
/** Specifies that each page should be printed on one sheet. */ /** Specifies that each page should be printed on one sheet. */
public static final SidesSupported ONE_SIDED = new SidesSupported(0); public static final SidesSupported ONE_SIDED = new SidesSupported(0);
/** /**
* Specifies that two following pages should be printed on the * Specifies that two following pages should be printed on the
* front and back of one sheet for binding on the long edge. * front and back of one sheet for binding on the long edge.
*/ */
public static final SidesSupported TWO_SIDED_LONG_EDGE = public static final SidesSupported TWO_SIDED_LONG_EDGE =
new SidesSupported(1); new SidesSupported(1);
/** /**
* Specifies that two following pages should be printed on the * Specifies that two following pages should be printed on the
* front and back of one sheet for binding on the short edge. * front and back of one sheet for binding on the short edge.
*/ */
public static final SidesSupported TWO_SIDED_SHORT_EDGE = public static final SidesSupported TWO_SIDED_SHORT_EDGE =
new SidesSupported(2); new SidesSupported(2);
/** An alias constant for "two sided long edge". */ /** An alias constant for "two sided long edge". */
public static final SidesSupported DUPLEX = new SidesSupported(1); public static final SidesSupported DUPLEX = new SidesSupported(1);
/** An alias constant for "two sided short edge". */ /** An alias constant for "two sided short edge". */
public static final SidesSupported TUMBLE = new SidesSupported(2); public static final SidesSupported TUMBLE = new SidesSupported(2);
private static final String[] stringTable = { "one-sided", private static final String[] stringTable = { "one-sided",
"two-sided-long-edge", "two-sided-long-edge",
"two-sided-short-edge" }; "two-sided-short-edge" };
private static final SidesSupported[] private static final SidesSupported[]
enumValueTable = { ONE_SIDED, TWO_SIDED_LONG_EDGE, enumValueTable = { ONE_SIDED, TWO_SIDED_LONG_EDGE,
TWO_SIDED_SHORT_EDGE }; TWO_SIDED_SHORT_EDGE };
/** /**
* Creates a <code>SidesSupported</code> object. * Creates a <code>SidesSupported</code> object.
* *
@ -98,7 +99,7 @@ public final class SidesSupported extends EnumSyntax
* *
* @return The class <code>SidesSupported</code> itself. * @return The class <code>SidesSupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return SidesSupported.class; return SidesSupported.class;
} }
@ -112,7 +113,7 @@ public final class SidesSupported extends EnumSyntax
{ {
return "sides-supported"; return "sides-supported";
} }
/** /**
* Returns a table with the enumeration values represented as strings * Returns a table with the enumeration values represented as strings
* for this object. * for this object.

View File

@ -1,4 +1,4 @@
/* UriAuthenticationSupported.java -- /* UriAuthenticationSupported.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -38,58 +38,59 @@ exception statement from your version. */
package gnu.javax.print.ipp.attribute.supported; package gnu.javax.print.ipp.attribute.supported;
import javax.print.attribute.Attribute;
import javax.print.attribute.EnumSyntax; import javax.print.attribute.EnumSyntax;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
/** /**
* UriAuthenticationSupported attribute as described in RFC 2911 section * UriAuthenticationSupported attribute as described in RFC 2911 section
* 4.4.2 provides the keywords (implemented as EnumSyntax) which * 4.4.2 provides the keywords (implemented as EnumSyntax) which
* authentication methods are supported by the printer object. This * authentication methods are supported by the printer object. This
* includes a value of none. * includes a value of none.
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class UriAuthenticationSupported extends EnumSyntax public final class UriAuthenticationSupported extends EnumSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
// a keyword based attribute in IPP - int values just starting at 0 // a keyword based attribute in IPP - int values just starting at 0
/** Supports no authentication - assumes anonymous process */ /** Supports no authentication - assumes anonymous process */
public static final UriAuthenticationSupported NONE = public static final UriAuthenticationSupported NONE =
new UriAuthenticationSupported(0); new UriAuthenticationSupported(0);
/** /**
* The authenticated user assumed is the value of the * The authenticated user assumed is the value of the
* "requesting-user-name" operation attribute supplied * "requesting-user-name" operation attribute supplied
* with the operation. * with the operation.
*/ */
public static final UriAuthenticationSupported REQUESTING_USER_NAME = public static final UriAuthenticationSupported REQUESTING_USER_NAME =
new UriAuthenticationSupported(1); new UriAuthenticationSupported(1);
/** Supports HTTP basic authentication (RFC 2617) */ /** Supports HTTP basic authentication (RFC 2617) */
public static final UriAuthenticationSupported BASIC = public static final UriAuthenticationSupported BASIC =
new UriAuthenticationSupported(2); new UriAuthenticationSupported(2);
/** Supports HTTP digest authentication (RFC 2617) */ /** Supports HTTP digest authentication (RFC 2617) */
public static final UriAuthenticationSupported DIGEST = public static final UriAuthenticationSupported DIGEST =
new UriAuthenticationSupported(3); new UriAuthenticationSupported(3);
/** Supports authentication through a client provided certificate */ /** Supports authentication through a client provided certificate */
public static final UriAuthenticationSupported CERTIFICATE = public static final UriAuthenticationSupported CERTIFICATE =
new UriAuthenticationSupported(4); new UriAuthenticationSupported(4);
private static final String[] stringTable = { "none", private static final String[] stringTable = { "none",
"requesting-user-name", "requesting-user-name",
"basic", "digest", "basic", "digest",
"certificate" }; "certificate" };
private static final UriAuthenticationSupported[] enumValueTable = private static final UriAuthenticationSupported[] enumValueTable =
{ NONE, REQUESTING_USER_NAME, BASIC, DIGEST, CERTIFICATE }; { NONE, REQUESTING_USER_NAME, BASIC, DIGEST, CERTIFICATE };
/** /**
* Constructs a <code>UriAuthenticationSupported</code> object. * Constructs a <code>UriAuthenticationSupported</code> object.
* *
* @param value the enum value * @param value the enum value
*/ */
public UriAuthenticationSupported(int value) public UriAuthenticationSupported(int value)
@ -102,7 +103,7 @@ public final class UriAuthenticationSupported extends EnumSyntax
* *
* @return The class <code>UriAuthenticationSupported</code> itself. * @return The class <code>UriAuthenticationSupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return UriAuthenticationSupported.class; return UriAuthenticationSupported.class;
} }
@ -116,7 +117,7 @@ public final class UriAuthenticationSupported extends EnumSyntax
{ {
return "uri-authentication-supported"; return "uri-authentication-supported";
} }
/** /**
* Returns a table with the enumeration values represented as strings * Returns a table with the enumeration values represented as strings
* for this object. * for this object.

View File

@ -1,4 +1,4 @@
/* UriSecuritySupported.java -- /* UriSecuritySupported.java --
Copyright (C) 2006 Free Software Foundation, Inc. Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
@ -38,6 +38,7 @@ exception statement from your version. */
package gnu.javax.print.ipp.attribute.supported; package gnu.javax.print.ipp.attribute.supported;
import javax.print.attribute.Attribute;
import javax.print.attribute.EnumSyntax; import javax.print.attribute.EnumSyntax;
import javax.print.attribute.SupportedValuesAttribute; import javax.print.attribute.SupportedValuesAttribute;
@ -46,35 +47,35 @@ import javax.print.attribute.SupportedValuesAttribute;
* 4.4.3 provides the keywords (implemented as EnumSyntax) for * 4.4.3 provides the keywords (implemented as EnumSyntax) for
* the security mechanisms supported by the corresponding uri's * the security mechanisms supported by the corresponding uri's
* supported (same place in setOf). * supported (same place in setOf).
* *
* @author Wolfgang Baer (WBaer@gmx.de) * @author Wolfgang Baer (WBaer@gmx.de)
*/ */
public final class UriSecuritySupported extends EnumSyntax public final class UriSecuritySupported extends EnumSyntax
implements SupportedValuesAttribute implements SupportedValuesAttribute
{ {
// a keyword based attribute in IPP - int values just starting at 0 // a keyword based attribute in IPP - int values just starting at 0
/** The URI has no secure communication */ /** The URI has no secure communication */
public static final UriSecuritySupported NONE = public static final UriSecuritySupported NONE =
new UriSecuritySupported(0); new UriSecuritySupported(0);
/** The URI has SSL3 communication */ /** The URI has SSL3 communication */
public static final UriSecuritySupported SSL3 = public static final UriSecuritySupported SSL3 =
new UriSecuritySupported(1); new UriSecuritySupported(1);
/** The URI has TLS (RFC 2246) communication */ /** The URI has TLS (RFC 2246) communication */
public static final UriSecuritySupported TLS = public static final UriSecuritySupported TLS =
new UriSecuritySupported(2); new UriSecuritySupported(2);
private static final String[] stringTable = { "none", "ssl3", "tls" }; private static final String[] stringTable = { "none", "ssl3", "tls" };
private static final UriSecuritySupported[] enumValueTable = { NONE, private static final UriSecuritySupported[] enumValueTable = { NONE,
SSL3, TLS }; SSL3, TLS };
/** /**
* Constructs a <code>UriSecuritySupported</code> object. * Constructs a <code>UriSecuritySupported</code> object.
* *
* @param value the enum value * @param value the enum value
*/ */
public UriSecuritySupported(int value) public UriSecuritySupported(int value)
@ -87,7 +88,7 @@ public final class UriSecuritySupported extends EnumSyntax
* *
* @return The class <code>UriSecuritySupported</code> itself. * @return The class <code>UriSecuritySupported</code> itself.
*/ */
public Class getCategory() public Class<? extends Attribute> getCategory()
{ {
return UriSecuritySupported.class; return UriSecuritySupported.class;
} }
@ -101,7 +102,7 @@ public final class UriSecuritySupported extends EnumSyntax
{ {
return "uri-security-supported"; return "uri-security-supported";
} }
/** /**
* Returns a table with the enumeration values represented as strings * Returns a table with the enumeration values represented as strings
* for this object. * for this object.

Some files were not shown because too many files have changed in this diff Show More