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:
@@ -1,4 +1,4 @@
|
||||
/* CupsIppOperation.java --
|
||||
/* CupsIppOperation.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -45,55 +45,55 @@ package gnu.javax.print;
|
||||
* See: CUPS Implementation of IPP, chapter 3.2<br>
|
||||
* http://www.cups.org/doc-1.1/ipp.html
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class CupsIppOperation
|
||||
{
|
||||
|
||||
/** 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 */
|
||||
public static final int CUPS_GET_PRINTERS = 0x4002;
|
||||
|
||||
|
||||
/** Add or modify a printer - since CUPS 1.0 */
|
||||
public static final int CUPS_ADD_MODIFY_PRINTER = 0x4003;
|
||||
|
||||
|
||||
/** Delete a printer - since CUPS 1.0 */
|
||||
public static final int CUPS_DELETE_PRINTER = 0x4004;
|
||||
|
||||
|
||||
/** Get all of the available printer classes - since CUPS 1.0 */
|
||||
public static final int CUPS_GET_CLASSES = 0x4005;
|
||||
|
||||
|
||||
/** Add or modify a printer class - since CUPS 1.0 */
|
||||
public static final int CUPS_ADD_MODIFY_CLASS = 0x4006;
|
||||
|
||||
|
||||
/** Delete a printer class - since CUPS 1.0 */
|
||||
public static final int CUPS_DELETE_CLASS = 0x4007;
|
||||
|
||||
|
||||
/** Accept jobs on a printer or printer class - since CUPS 1.0 */
|
||||
public static final int CUPS_ACCEPT_JOBS = 0x4008;
|
||||
|
||||
|
||||
/** Reject jobs on a printer or printer class - since CUPS 1.0 */
|
||||
public static final int CUPS_REJECT_JOBS = 0x4009;
|
||||
|
||||
|
||||
/** Set the default destination - since CUPS 1.0 */
|
||||
public static final int CUPS_SET_DEFAULT = 0x400A;
|
||||
|
||||
|
||||
/** Get all of the available PPDs - since CUPS 1.1 */
|
||||
public static final int CUPS_GET_DEVICES = 0x400B;
|
||||
|
||||
|
||||
/** Get all of the available PPDs - since CUPS 1.1 */
|
||||
public static final int CUPS_GET_PPDS = 0x400C;
|
||||
|
||||
|
||||
/** Move a job to a different printer - since CUPS 1.1 */
|
||||
public static final int CUPS_MOVE_JOB = 0x400D;
|
||||
|
||||
|
||||
|
||||
|
||||
private CupsIppOperation()
|
||||
{
|
||||
{
|
||||
// not to be instantiated
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* CupsMediaMapping.java --
|
||||
/* CupsMediaMapping.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
* CUPS.
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public class CupsMediaMapping
|
||||
{
|
||||
// the mapping map
|
||||
// the mapping map
|
||||
private static final HashMap ippByCups = new HashMap();
|
||||
|
||||
/**
|
||||
@@ -67,11 +67,11 @@ public class CupsMediaMapping
|
||||
{
|
||||
ippByCups.put("Postcard", MediaSizeName.JAPANESE_POSTCARD);
|
||||
ippByCups.put("Statement", MediaSizeName.INVOICE);
|
||||
|
||||
|
||||
ippByCups.put("Letter", MediaSizeName.NA_LETTER);
|
||||
ippByCups.put("Executive", MediaSizeName.EXECUTIVE);
|
||||
ippByCups.put("Legal", MediaSizeName.NA_LEGAL);
|
||||
|
||||
|
||||
ippByCups.put("A0", MediaSizeName.ISO_A0);
|
||||
ippByCups.put("A1", MediaSizeName.ISO_A1);
|
||||
ippByCups.put("A2", MediaSizeName.ISO_A2);
|
||||
@@ -83,7 +83,7 @@ public class CupsMediaMapping
|
||||
ippByCups.put("A8", MediaSizeName.ISO_A8);
|
||||
ippByCups.put("A9", MediaSizeName.ISO_A9);
|
||||
ippByCups.put("A10", MediaSizeName.ISO_A10);
|
||||
|
||||
|
||||
ippByCups.put("B0", MediaSizeName.JIS_B0);
|
||||
ippByCups.put("B1", MediaSizeName.JIS_B1);
|
||||
ippByCups.put("B2", MediaSizeName.JIS_B2);
|
||||
@@ -95,7 +95,7 @@ public class CupsMediaMapping
|
||||
ippByCups.put("B8", MediaSizeName.JIS_B8);
|
||||
ippByCups.put("B9", MediaSizeName.JIS_B9);
|
||||
ippByCups.put("B10", MediaSizeName.JIS_B10);
|
||||
|
||||
|
||||
ippByCups.put("ISOB0", MediaSizeName.ISO_B0);
|
||||
ippByCups.put("ISOB1", MediaSizeName.ISO_B1);
|
||||
ippByCups.put("ISOB2", MediaSizeName.ISO_B2);
|
||||
@@ -118,7 +118,7 @@ public class CupsMediaMapping
|
||||
ippByCups.put("EnvISOB8", MediaSizeName.ISO_B8);
|
||||
ippByCups.put("EnvISOB9", MediaSizeName.ISO_B9);
|
||||
ippByCups.put("EnvISOB10", MediaSizeName.ISO_B10);
|
||||
|
||||
|
||||
ippByCups.put("C0", MediaSizeName.ISO_C0);
|
||||
ippByCups.put("C1", MediaSizeName.ISO_C1);
|
||||
ippByCups.put("C2", MediaSizeName.ISO_C2);
|
||||
@@ -136,7 +136,7 @@ public class CupsMediaMapping
|
||||
ippByCups.put("Env12", MediaSizeName.NA_NUMBER_12_ENVELOPE);
|
||||
ippByCups.put("Env14", MediaSizeName.NA_NUMBER_14_ENVELOPE);
|
||||
ippByCups.put("c8x10", MediaSizeName.NA_8X10);
|
||||
|
||||
|
||||
ippByCups.put("EnvDL", MediaSizeName.ISO_DESIGNATED_LONG);
|
||||
ippByCups.put("DL", MediaSizeName.ISO_DESIGNATED_LONG);
|
||||
ippByCups.put("EnvC0", MediaSizeName.ISO_C0);
|
||||
@@ -145,12 +145,12 @@ public class CupsMediaMapping
|
||||
ippByCups.put("EnvC3", MediaSizeName.ISO_C3);
|
||||
ippByCups.put("EnvC4", MediaSizeName.ISO_C4);
|
||||
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.
|
||||
*
|
||||
*
|
||||
* @param cupsName the name in cups
|
||||
* @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);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the mapping map for iteration.
|
||||
*
|
||||
*
|
||||
* @return The mapping map as unmodifiable map.
|
||||
*/
|
||||
public static final Map getMappingMap()
|
||||
@@ -169,7 +169,7 @@ public class CupsMediaMapping
|
||||
return Collections.unmodifiableMap(ippByCups);
|
||||
}
|
||||
|
||||
private CupsMediaMapping()
|
||||
private CupsMediaMapping()
|
||||
{
|
||||
// not to be instantiated
|
||||
}
|
||||
|
||||
@@ -48,9 +48,9 @@ import javax.print.DocFlavor;
|
||||
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)
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class CupsPrintService extends IppMultiDocPrintService
|
||||
@@ -58,26 +58,26 @@ public final class CupsPrintService extends IppMultiDocPrintService
|
||||
|
||||
/**
|
||||
* Creates a <code>CupsPrintService</code> object.
|
||||
*
|
||||
*
|
||||
* @param uri the URI of the IPP printer.
|
||||
* @param username the user of this print service.
|
||||
* @param password the password of the user.
|
||||
*
|
||||
*
|
||||
* @throws IppException if an error during connection occurs.
|
||||
*/
|
||||
public CupsPrintService(URI uri, String username, String password)
|
||||
throws IppException
|
||||
{
|
||||
super(uri, username, password);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Overridden for CUPS specific handling of the media attribute.
|
||||
*/
|
||||
protected Object handleSupportedAttributeValuesResponse(IppResponse response,
|
||||
protected Object handleSupportedAttributeValuesResponse(IppResponse response,
|
||||
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.
|
||||
return super.handleSupportedAttributeValuesResponse(response, category);
|
||||
}
|
||||
@@ -89,7 +89,7 @@ public final class CupsPrintService extends IppMultiDocPrintService
|
||||
{
|
||||
// TODO Implement media attribute behaviour for cups here
|
||||
//if (category.equals(Media.class)
|
||||
|
||||
|
||||
return super.getDefaultAttributeValue(category);
|
||||
}
|
||||
|
||||
|
||||
@@ -51,12 +51,12 @@ import javax.print.attribute.AttributeSet;
|
||||
|
||||
/**
|
||||
* The platform default implementation based on CUPS.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public class CupsPrintServiceLookup extends PrintServiceLookup
|
||||
{
|
||||
private CupsServer server;
|
||||
{
|
||||
private CupsServer server;
|
||||
|
||||
/**
|
||||
* Default constructor checking security access.
|
||||
@@ -67,14 +67,14 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
|
||||
SecurityManager sm = System.getSecurityManager();
|
||||
if (sm != null)
|
||||
sm.checkPrintJobAccess();
|
||||
|
||||
|
||||
// use the localhost cups server
|
||||
server = new CupsServer(null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* This is the printer marked as default in CUPS.
|
||||
*
|
||||
*
|
||||
* @return The default lookup service or
|
||||
* <code>null</code> if there is no default.
|
||||
*/
|
||||
@@ -83,21 +83,21 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
|
||||
try
|
||||
{
|
||||
return server.getDefaultPrinter();
|
||||
}
|
||||
}
|
||||
catch (IppException e)
|
||||
{
|
||||
// if discovery fails treat as if there is none
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* All printers and printer classes of the CUPS server are checked.
|
||||
* If flavors or attributes are null the constraint is not used.
|
||||
*
|
||||
*
|
||||
* @param flavors the document flavors which have to be supported.
|
||||
* @param attributes the attributes which have to be supported.
|
||||
*
|
||||
*
|
||||
* @return The multidoc print services of the implementing lookup service
|
||||
* 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)
|
||||
{
|
||||
ArrayList result = new ArrayList();
|
||||
PrintService[] services = getPrintServices();
|
||||
|
||||
PrintService[] services = getPrintServices();
|
||||
|
||||
for (int i=0; i < services.length; i++)
|
||||
{
|
||||
if (checkMultiDocPrintService(flavors, attributes, services[i]))
|
||||
result.add(services[i]);
|
||||
result.add(services[i]);
|
||||
}
|
||||
|
||||
|
||||
return (MultiDocPrintService[]) result.toArray(
|
||||
new MultiDocPrintService[result.size()]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
public PrintService[] getPrintServices()
|
||||
{
|
||||
ArrayList result = new ArrayList();
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
result.addAll(server.getAllPrinters());
|
||||
result.addAll(server.getAllClasses());
|
||||
}
|
||||
catch (IppException e)
|
||||
{
|
||||
{
|
||||
// ignore as this method cannot throw exceptions
|
||||
// if print service discovery fails - bad luck
|
||||
}
|
||||
return (PrintService[]) result.toArray(new PrintService[result.size()]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* All printers and printer classes of the CUPS server are checked.
|
||||
* If flavor or attributes are null the constraint is not used.
|
||||
*
|
||||
*
|
||||
* @param flavor the document flavor which has to be supported.
|
||||
* @param attributes the attributes which have to be supported.
|
||||
*
|
||||
*
|
||||
* @return The print services of the implementing lookup service
|
||||
* 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();
|
||||
PrintService[] services = getPrintServices();
|
||||
|
||||
|
||||
for (int i=0; i < services.length; i++)
|
||||
{
|
||||
if (checkPrintService(flavor, attributes, services[i]))
|
||||
result.add(services[i]);
|
||||
}
|
||||
|
||||
|
||||
return (PrintService[]) result.toArray(new PrintService[result.size()]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Checks the given print service - own method so it can be used also
|
||||
* to check application registered print services from PrintServiceLookup.
|
||||
*
|
||||
*
|
||||
* @param flavor the document flavor which has to be supported.
|
||||
* @param attributes the attributes which have to be supported.
|
||||
* @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.
|
||||
*/
|
||||
public boolean checkPrintService(DocFlavor flavor, AttributeSet attributes,
|
||||
@@ -185,7 +185,7 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
|
||||
{
|
||||
if (attributes == null || attributes.size() == 0)
|
||||
return allAttributesSupported;
|
||||
|
||||
|
||||
Attribute[] atts = attributes.toArray();
|
||||
for (int i = 0; i < atts.length; i++)
|
||||
{
|
||||
@@ -197,29 +197,29 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
|
||||
}
|
||||
return allAttributesSupported;
|
||||
}
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Checks the given print service - own method so it can be used also
|
||||
* to check application registered print services from PrintServiceLookup.
|
||||
*
|
||||
*
|
||||
* @param flavors the document flavors which have to be supported.
|
||||
* @param attributes the attributes which have to be supported.
|
||||
* @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.
|
||||
*/
|
||||
public boolean checkMultiDocPrintService(DocFlavor[] flavors,
|
||||
public boolean checkMultiDocPrintService(DocFlavor[] flavors,
|
||||
AttributeSet attributes, PrintService service)
|
||||
{
|
||||
{
|
||||
if (service instanceof MultiDocPrintService)
|
||||
{
|
||||
{
|
||||
boolean allFlavorsSupported = true;
|
||||
boolean allAttributesSupported = true;
|
||||
|
||||
|
||||
if (flavors == null || flavors.length != 0)
|
||||
allFlavorsSupported = true;
|
||||
else
|
||||
@@ -233,7 +233,7 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (attributes == null || attributes.size() == 0)
|
||||
allAttributesSupported = true;
|
||||
else
|
||||
@@ -249,11 +249,11 @@ public class CupsPrintServiceLookup extends PrintServiceLookup
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (allAttributesSupported && allFlavorsSupported)
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* CupsServer.java --
|
||||
/* CupsServer.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
* user and password combination if access is restricted.
|
||||
* <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.
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public class CupsServer
|
||||
{
|
||||
/**
|
||||
/**
|
||||
* The URI of the CUPS server.
|
||||
* This is something like: http://localhost:631
|
||||
*/
|
||||
private transient URI uri;
|
||||
|
||||
|
||||
/**
|
||||
* The optional username.
|
||||
*/
|
||||
private transient String username;
|
||||
|
||||
|
||||
/**
|
||||
* The optional password for the user.
|
||||
*/
|
||||
@@ -84,11 +84,11 @@ public class CupsServer
|
||||
|
||||
/**
|
||||
* 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
|
||||
* that hostname will be used. Otherwise it will default to localhost.
|
||||
*
|
||||
*
|
||||
* @param username the username
|
||||
* @param password the password for the username.
|
||||
*/
|
||||
@@ -100,13 +100,13 @@ public class CupsServer
|
||||
this.uri = null;
|
||||
try
|
||||
{
|
||||
String serv = System.getProperty("gnu.javax.print.server");
|
||||
if( serv != null )
|
||||
this.uri = new URI("http://"+serv+":631");
|
||||
String serv = System.getProperty("gnu.javax.print.server");
|
||||
if( serv != null )
|
||||
this.uri = new URI("http://"+serv+":631");
|
||||
}
|
||||
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)
|
||||
{
|
||||
@@ -114,20 +114,20 @@ public class CupsServer
|
||||
|
||||
try
|
||||
{
|
||||
if( this.uri == null )
|
||||
this.uri = new URI("http://localhost:631");
|
||||
if( this.uri == null )
|
||||
this.uri = new URI("http://localhost:631");
|
||||
}
|
||||
catch (URISyntaxException e)
|
||||
{
|
||||
// does not happen
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Creates a <code>CupsServer</code> object which
|
||||
* tries to connect to a running cups server on the
|
||||
* given URI.
|
||||
*
|
||||
*
|
||||
* @param uri the URI of the server.
|
||||
* @param username the username
|
||||
* @param password the password for the username.
|
||||
@@ -138,75 +138,75 @@ public class CupsServer
|
||||
this.username = username;
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Requests the default printer from this CUPS server.
|
||||
* This is always returned as IppPrintService.
|
||||
*
|
||||
*
|
||||
* @return The default printer.
|
||||
* @throws IppException if problems during request/response processing occur.
|
||||
*/
|
||||
public IppPrintService getDefaultPrinter() throws IppException
|
||||
{
|
||||
{
|
||||
IppResponse response = null;
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
IppRequest request = new IppRequest(uri, username, password);
|
||||
request.setOperationID((short)CupsIppOperation.CUPS_GET_DEFAULT);
|
||||
request.setOperationAttributeDefaults();
|
||||
|
||||
RequestedAttributes requestedAttrs
|
||||
IppRequest request = new IppRequest(uri, username, password);
|
||||
request.setOperationID((short)CupsIppOperation.CUPS_GET_DEFAULT);
|
||||
request.setOperationAttributeDefaults();
|
||||
|
||||
RequestedAttributes requestedAttrs
|
||||
= new RequestedAttributes("printer-uri-supported");
|
||||
request.addOperationAttribute(requestedAttrs);
|
||||
|
||||
|
||||
response = request.send();
|
||||
}
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
throw new IppException("IOException in IPP request/response.", e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Map printerAttributes = (Map) response.getPrinterAttributes().get(0);
|
||||
Set uris = (Set) printerAttributes.get(PrinterUriSupported.class);
|
||||
PrinterUriSupported uri = (PrinterUriSupported) uris.toArray()[0];
|
||||
|
||||
IppPrintService service
|
||||
|
||||
IppPrintService service
|
||||
= new CupsPrintService(uri.getURI(), username, password);
|
||||
|
||||
|
||||
return service;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Requests all printers from this CUPS server.
|
||||
*
|
||||
*
|
||||
* @return The list of available printers.
|
||||
* @throws IppException if problems during request/response processing occur.
|
||||
*/
|
||||
public List getAllPrinters() throws IppException
|
||||
{
|
||||
{
|
||||
IppResponse response = null;
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
IppRequest request = new IppRequest(uri, username, password);
|
||||
request.setOperationID((short)CupsIppOperation.CUPS_GET_PRINTERS);
|
||||
IppRequest request = new IppRequest(uri, username, password);
|
||||
request.setOperationID((short)CupsIppOperation.CUPS_GET_PRINTERS);
|
||||
request.setOperationAttributeDefaults();
|
||||
|
||||
RequestedAttributes requestedAttrs
|
||||
|
||||
RequestedAttributes requestedAttrs
|
||||
= new RequestedAttributes("printer-uri-supported");
|
||||
request.addOperationAttribute(requestedAttrs);
|
||||
|
||||
|
||||
response = request.send();
|
||||
}
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
throw new IppException("IOException in IPP request/response.", e);
|
||||
}
|
||||
}
|
||||
|
||||
List prAttr = response.getPrinterAttributes();
|
||||
List services = new ArrayList();
|
||||
|
||||
|
||||
for (int i=0; i < prAttr.size(); i++)
|
||||
{
|
||||
Map printerAttributes = (Map) prAttr.get(i);
|
||||
@@ -224,50 +224,50 @@ public class CupsServer
|
||||
// do nothing, we only catch the IppException which could be
|
||||
// thrown during instantiation as single printers may be discovered
|
||||
// correctly but not usable due to other security restrictions
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return services;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* @return The list of available classes.
|
||||
* @throws IppException if problems during request/response processing occur.
|
||||
*/
|
||||
public List getAllClasses() throws IppException
|
||||
{
|
||||
{
|
||||
IppResponse response = null;
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
IppRequest request = new IppRequest(uri, username, password);
|
||||
request.setOperationID((short)CupsIppOperation.CUPS_GET_CLASSES);
|
||||
IppRequest request = new IppRequest(uri, username, password);
|
||||
request.setOperationID((short)CupsIppOperation.CUPS_GET_CLASSES);
|
||||
request.setOperationAttributeDefaults();
|
||||
|
||||
RequestedAttributes requestedAttrs
|
||||
|
||||
RequestedAttributes requestedAttrs
|
||||
= new RequestedAttributes("printer-uri-supported");
|
||||
request.addOperationAttribute(requestedAttrs);
|
||||
|
||||
|
||||
response = request.send();
|
||||
}
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
throw new IppException("IOException in IPP request/response.", e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
List prAttr = response.getPrinterAttributes();
|
||||
List services = new ArrayList();
|
||||
|
||||
List services = new ArrayList();
|
||||
|
||||
for (int i=0; i < prAttr.size(); i++)
|
||||
{
|
||||
Map printerAttributes = (Map) prAttr.get(i);
|
||||
Set uris = (Set) printerAttributes.get(PrinterUriSupported.class);
|
||||
PrinterUriSupported uri = (PrinterUriSupported) uris.toArray()[0];
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
CupsPrintService cups = new CupsPrintService(uri.getURI(),
|
||||
@@ -279,9 +279,9 @@ public class CupsServer
|
||||
// do nothing, we only catch the IppException which could be
|
||||
// thrown during instantiation as single printers may be discovered
|
||||
// correctly but not usable due to other security restrictions
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return services;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* PrintAttributeException.java --
|
||||
/* PrintAttributeException.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -46,25 +46,25 @@ import javax.print.attribute.Attribute;
|
||||
* A <code>PrintException</code> further refining the exception
|
||||
* cause by providing an implementation of the print exception
|
||||
* interface <code>AttributeException</code>.
|
||||
*
|
||||
*
|
||||
* @see javax.print.PrintException
|
||||
* @see javax.print.AttributeException
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class PrintAttributeException extends PrintException
|
||||
public final class PrintAttributeException extends PrintException
|
||||
implements AttributeException
|
||||
{
|
||||
private Class[] categories;
|
||||
private Attribute[] values;
|
||||
|
||||
|
||||
/**
|
||||
* Constructs a <code>PrintAttributeException</code>
|
||||
* with the given unsupported attributes and/or values.
|
||||
*
|
||||
* @param unsupportedAttributes the unsupported categories,
|
||||
*
|
||||
* @param unsupportedAttributes the unsupported categories,
|
||||
* may be <code>null</code>.
|
||||
* @param unsupportedValues the unsupported attribute values,
|
||||
* @param unsupportedValues the unsupported attribute values,
|
||||
* may be <code>null</code>.
|
||||
*/
|
||||
public PrintAttributeException(Class[] unsupportedAttributes,
|
||||
@@ -78,11 +78,11 @@ public final class PrintAttributeException extends PrintException
|
||||
/**
|
||||
* Constructs a <code>PrintAttributeException</code>
|
||||
* with the given unsupported attributes and/or values.
|
||||
*
|
||||
*
|
||||
* @param e chained exception
|
||||
* @param unsupportedAttributes the unsupported categories,
|
||||
* @param unsupportedAttributes the unsupported categories,
|
||||
* may be <code>null</code>.
|
||||
* @param unsupportedValues the unsupported attribute values,
|
||||
* @param unsupportedValues the unsupported attribute values,
|
||||
* may be <code>null</code>.
|
||||
*/
|
||||
public PrintAttributeException(Exception e,
|
||||
@@ -96,11 +96,11 @@ public final class PrintAttributeException extends PrintException
|
||||
/**
|
||||
* Constructs a <code>PrintAttributeException</code>
|
||||
* with the given unsupported attributes and/or values.
|
||||
*
|
||||
*
|
||||
* @param s detailed message
|
||||
* @param unsupportedAttributes the unsupported categories,
|
||||
* @param unsupportedAttributes the unsupported categories,
|
||||
* may be <code>null</code>.
|
||||
* @param unsupportedValues the unsupported attribute values,
|
||||
* @param unsupportedValues the unsupported attribute values,
|
||||
* may be <code>null</code>.
|
||||
*/
|
||||
public PrintAttributeException(String s,
|
||||
@@ -114,12 +114,12 @@ public final class PrintAttributeException extends PrintException
|
||||
/**
|
||||
* Constructs a <code>PrintAttributeException</code>
|
||||
* with the given unsupported attributes and/or values.
|
||||
*
|
||||
*
|
||||
* @param s detailed message
|
||||
* @param e chained exception
|
||||
* @param unsupportedAttributes the unsupported categories,
|
||||
* @param unsupportedAttributes the unsupported categories,
|
||||
* may be <code>null</code>.
|
||||
* @param unsupportedValues the unsupported attribute values,
|
||||
* @param unsupportedValues the unsupported attribute values,
|
||||
* may be <code>null</code>.
|
||||
*/
|
||||
public PrintAttributeException(String s, Exception e,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* PrintFlavorException.java --
|
||||
/* PrintFlavorException.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -46,21 +46,21 @@ import javax.print.PrintException;
|
||||
* A <code>PrintException</code> further refining the exception
|
||||
* cause by providing an implementation of the print exception
|
||||
* interface <code>FlavorException</code>.
|
||||
*
|
||||
*
|
||||
* @see javax.print.PrintException
|
||||
* @see javax.print.FlavorException
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public class PrintFlavorException extends PrintException
|
||||
public class PrintFlavorException extends PrintException
|
||||
implements FlavorException
|
||||
{
|
||||
private DocFlavor[] flavors;
|
||||
|
||||
|
||||
/**
|
||||
* Constructs a <code>PrintFlavorException</code>
|
||||
* with the given unsupported doc flavor array
|
||||
*
|
||||
*
|
||||
* @param unsupportedFlavors the unsupported document flavors.
|
||||
*/
|
||||
public PrintFlavorException(DocFlavor[] unsupportedFlavors)
|
||||
@@ -72,7 +72,7 @@ public class PrintFlavorException extends PrintException
|
||||
/**
|
||||
* Constructs a <code>PrintFlavorException</code>
|
||||
* with the given unsupported doc flavor array
|
||||
*
|
||||
*
|
||||
* @param e chained exception
|
||||
* @param unsupportedFlavors the unsupported document flavors.
|
||||
*/
|
||||
@@ -85,7 +85,7 @@ public class PrintFlavorException extends PrintException
|
||||
/**
|
||||
* Constructs a <code>PrintFlavorException</code>
|
||||
* with the given unsupported doc flavor array
|
||||
*
|
||||
*
|
||||
* @param s detailed message
|
||||
* @param unsupportedFlavors the unsupported document flavors.
|
||||
*/
|
||||
@@ -98,12 +98,12 @@ public class PrintFlavorException extends PrintException
|
||||
/**
|
||||
* Constructs a <code>PrintFlavorException</code>
|
||||
* with the given unsupported doc flavor array
|
||||
*
|
||||
*
|
||||
* @param s detailed message
|
||||
* @param e chained exception
|
||||
* @param unsupportedFlavors the unsupported document flavors.
|
||||
*/
|
||||
public PrintFlavorException(String s, Exception e,
|
||||
public PrintFlavorException(String s, Exception e,
|
||||
DocFlavor[] unsupportedFlavors)
|
||||
{
|
||||
super(s, e);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* PrintUriException.java --
|
||||
/* PrintUriException.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -47,13 +47,13 @@ import javax.print.URIException;
|
||||
* A <code>PrintException</code> further refining the exception
|
||||
* cause by providing an implementation of the print exception
|
||||
* interface <code>URIException</code>.
|
||||
*
|
||||
*
|
||||
* @see javax.print.PrintException
|
||||
* @see javax.print.URIException
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class PrintUriException extends PrintException
|
||||
public final class PrintUriException extends PrintException
|
||||
implements URIException
|
||||
{
|
||||
private int reason;
|
||||
@@ -65,20 +65,20 @@ public final class PrintUriException extends PrintException
|
||||
*
|
||||
* @param reason the reason for the exception.
|
||||
* @param unsupportedUri the URI which is unsupported.
|
||||
*
|
||||
*
|
||||
* @see URIException
|
||||
*/
|
||||
public PrintUriException(int reason, URI unsupportedUri)
|
||||
{
|
||||
super();
|
||||
this.reason = reason;
|
||||
uri = unsupportedUri;
|
||||
uri = unsupportedUri;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a <code>PrintUriException</code> with the given reason
|
||||
* and unsupported URI instance.
|
||||
*
|
||||
*
|
||||
* @param e chained exception
|
||||
* @param reason the reason for the exception.
|
||||
* @param unsupportedUri the URI which is unsupported.
|
||||
@@ -87,13 +87,13 @@ public final class PrintUriException extends PrintException
|
||||
{
|
||||
super(e);
|
||||
this.reason = reason;
|
||||
uri = unsupportedUri;
|
||||
uri = unsupportedUri;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a <code>PrintUriException</code> with the given reason
|
||||
* and unsupported URI instance.
|
||||
*
|
||||
*
|
||||
* @param s detailed message
|
||||
* @param reason the reason for the exception.
|
||||
* @param unsupportedUri the URI which is unsupported.
|
||||
@@ -102,24 +102,24 @@ public final class PrintUriException extends PrintException
|
||||
{
|
||||
super(s);
|
||||
this.reason = reason;
|
||||
uri = unsupportedUri;
|
||||
uri = unsupportedUri;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a <code>PrintUriException</code> with the given reason
|
||||
* and unsupported URI instance.
|
||||
*
|
||||
*
|
||||
* @param s detailed message
|
||||
* @param e chained exception
|
||||
* @param reason the reason for the exception.
|
||||
* @param unsupportedUri the URI which is unsupported.
|
||||
*/
|
||||
public PrintUriException(String s, Exception e,
|
||||
public PrintUriException(String s, Exception e,
|
||||
int reason, URI unsupportedUri)
|
||||
{
|
||||
super(s, e);
|
||||
this.reason = reason;
|
||||
uri = unsupportedUri;
|
||||
uri = unsupportedUri;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -76,52 +76,52 @@ import javax.print.event.PrintJobEvent;
|
||||
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.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public class DocPrintJobImpl implements CancelablePrintJob
|
||||
{
|
||||
/** The print service this job is bound to. */
|
||||
private IppPrintService service;
|
||||
|
||||
|
||||
/** The set of print job listeners. */
|
||||
private HashSet printJobListener = new HashSet();
|
||||
|
||||
|
||||
/** The print job attributes listeners. */
|
||||
private ArrayList attributesListener = new ArrayList();
|
||||
/** The print job attributes listeners associated attribute set. */
|
||||
private ArrayList attributesListenerAttributes = new ArrayList();
|
||||
|
||||
|
||||
/** The username. */
|
||||
private String username;
|
||||
/** The password of the user. */
|
||||
private String password;
|
||||
|
||||
|
||||
/** Returned job uri. */
|
||||
private JobUri jobUri = null;
|
||||
/** Returned job id. */
|
||||
private JobId jobId = null;
|
||||
|
||||
|
||||
/** The requesting-username for later canceling */
|
||||
private RequestingUserName requestingUser;
|
||||
|
||||
|
||||
/** The print job sets. */
|
||||
private PrintJobAttributeSet oldSet = new HashPrintJobAttributeSet();
|
||||
private PrintJobAttributeSet currentSet = new HashPrintJobAttributeSet();
|
||||
|
||||
/**
|
||||
|
||||
/**
|
||||
* State variable if we already started printing.
|
||||
*/
|
||||
private boolean printing = false;
|
||||
|
||||
|
||||
// TODO Implement complete PrintJobListener notification
|
||||
// TODO Implement PrintJobAttributeListener notification
|
||||
|
||||
/**
|
||||
* Constructs a DocPrintJobImpl instance bound to the given print service.
|
||||
*
|
||||
*
|
||||
* @param service the print service instance.
|
||||
* @param user the user of this print service.
|
||||
* @param passwd the password of the user.
|
||||
@@ -141,7 +141,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
|
||||
{
|
||||
if (listener == null)
|
||||
return;
|
||||
|
||||
|
||||
attributesListener.add(listener);
|
||||
attributesListenerAttributes.add(attributes);
|
||||
}
|
||||
@@ -153,7 +153,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
|
||||
{
|
||||
if (listener == null)
|
||||
return;
|
||||
|
||||
|
||||
printJobListener.add(listener);
|
||||
}
|
||||
|
||||
@@ -181,30 +181,30 @@ public class DocPrintJobImpl implements CancelablePrintJob
|
||||
{
|
||||
if (printing)
|
||||
throw new PrintException("already printing");
|
||||
|
||||
|
||||
printing = true;
|
||||
|
||||
|
||||
DocAttributeSet docAtts = doc.getAttributes();
|
||||
DocFlavor flavor = doc.getDocFlavor();
|
||||
|
||||
|
||||
if (flavor == null || (!service.isDocFlavorSupported(flavor)))
|
||||
{
|
||||
notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED));
|
||||
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
|
||||
HashAttributeSet mergedAtts = new HashAttributeSet();
|
||||
|
||||
|
||||
if (attributes != null)
|
||||
mergedAtts.addAll(attributes);
|
||||
if (docAtts != null)
|
||||
mergedAtts.addAll(docAtts);
|
||||
|
||||
|
||||
// check for requesting-user-name -add the
|
||||
// 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))
|
||||
{
|
||||
mergedAtts.add(IppPrintService.REQUESTING_USER_NAME);
|
||||
@@ -212,53 +212,53 @@ public class DocPrintJobImpl implements CancelablePrintJob
|
||||
}
|
||||
else
|
||||
{
|
||||
requestingUser = (RequestingUserName)
|
||||
requestingUser = (RequestingUserName)
|
||||
mergedAtts.get(RequestingUserName.class);
|
||||
}
|
||||
|
||||
|
||||
// same for job-name
|
||||
if (! mergedAtts.containsKey(JobName.class))
|
||||
mergedAtts.add(IppPrintService.JOB_NAME);
|
||||
|
||||
|
||||
IppResponse response = null;
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
PrinterURI printerUri = service.getPrinterURI();
|
||||
String printerUriStr = "http" + printerUri.toString().substring(3);
|
||||
|
||||
|
||||
URI uri = null;
|
||||
try
|
||||
{
|
||||
uri = new URI(printerUriStr);
|
||||
}
|
||||
catch (URISyntaxException e)
|
||||
catch (URISyntaxException e)
|
||||
{
|
||||
// does not happen
|
||||
// does not happen
|
||||
}
|
||||
|
||||
IppRequest request =
|
||||
new IppRequest(uri, username, password);
|
||||
|
||||
|
||||
IppRequest request =
|
||||
new IppRequest(uri, username, password);
|
||||
|
||||
request.setOperationID( (short) OperationsSupported.PRINT_JOB.getValue());
|
||||
request.setOperationAttributeDefaults();
|
||||
request.addOperationAttribute(printerUri);
|
||||
|
||||
|
||||
if (mergedAtts != null)
|
||||
{
|
||||
request.addAndFilterJobOperationAttributes(mergedAtts);
|
||||
request.addAndFilterJobTemplateAttributes(mergedAtts);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// DocFlavor getMimeType returns charset quoted
|
||||
DocumentFormat format = DocumentFormat.createDocumentFormat(flavor);
|
||||
request.addOperationAttribute(format);
|
||||
|
||||
// Get and set the printdata based on the
|
||||
|
||||
// Get and set the printdata based on the
|
||||
// representation classname
|
||||
String className = flavor.getRepresentationClassName();
|
||||
|
||||
if (className.equals("[B"))
|
||||
String className = flavor.getRepresentationClassName();
|
||||
|
||||
if (className.equals("[B"))
|
||||
{
|
||||
request.setData((byte[]) doc.getPrintData());
|
||||
response = request.send();
|
||||
@@ -275,7 +275,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
|
||||
try
|
||||
{
|
||||
// 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());
|
||||
request.setData(str.getBytes("utf-16"));
|
||||
response = request.send();
|
||||
@@ -285,7 +285,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
|
||||
notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED));
|
||||
throw new PrintFlavorException("Invalid charset of flavor", e, new DocFlavor[] {flavor});
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (className.equals("java.io.Reader"))
|
||||
{
|
||||
try
|
||||
@@ -300,13 +300,13 @@ public class DocPrintJobImpl implements CancelablePrintJob
|
||||
notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED));
|
||||
throw new PrintFlavorException("Invalid charset of flavor", e, new DocFlavor[] {flavor});
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (className.equals("java.lang.String"))
|
||||
{
|
||||
try
|
||||
{
|
||||
// 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();
|
||||
request.setData(str.getBytes("utf-16"));
|
||||
response = request.send();
|
||||
@@ -316,7 +316,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
|
||||
notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED));
|
||||
throw new PrintFlavorException("Invalid charset of flavor", e, new DocFlavor[] {flavor});
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (className.equals("java.net.URL"))
|
||||
{
|
||||
URL url = (URL) doc.getPrintData();
|
||||
@@ -332,22 +332,22 @@ public class DocPrintJobImpl implements CancelablePrintJob
|
||||
// For the future :-)
|
||||
throw new PrintException("Not yet supported.");
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
// should not happen - however
|
||||
notifyPrintJobListeners(new PrintJobEvent(this, PrintJobEvent.JOB_FAILED));
|
||||
throw new PrintFlavorException("Invalid flavor", new DocFlavor[] {flavor});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// at this point the data is transfered
|
||||
notifyPrintJobListeners(new PrintJobEvent(
|
||||
this, PrintJobEvent.DATA_TRANSFER_COMPLETE));
|
||||
}
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
throw new PrintException("IOException occured.", e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int status = response.getStatusCode();
|
||||
if (! (status == IppStatusCode.SUCCESSFUL_OK
|
||||
|| status == IppStatusCode.SUCCESSFUL_OK_IGNORED_OR_SUBSTITUED_ATTRIBUTES
|
||||
@@ -356,7 +356,7 @@ public class DocPrintJobImpl implements CancelablePrintJob
|
||||
notifyPrintJobListeners(new PrintJobEvent(
|
||||
this, PrintJobEvent.JOB_FAILED));
|
||||
throw new PrintException("Printing failed - received statuscode " + Integer.toHexString(status));
|
||||
|
||||
|
||||
// TODO maybe specific status codes may require to throw a specific
|
||||
// detailed attribute exception
|
||||
}
|
||||
@@ -364,18 +364,18 @@ public class DocPrintJobImpl implements CancelablePrintJob
|
||||
{
|
||||
// start print job progress monitoring thread
|
||||
// FIXME Implement
|
||||
|
||||
|
||||
// for now we just notify as finished
|
||||
notifyPrintJobListeners(
|
||||
new PrintJobEvent(this, PrintJobEvent.JOB_COMPLETE));
|
||||
}
|
||||
|
||||
|
||||
List jobAtts = response.getJobAttributes();
|
||||
|
||||
|
||||
// extract the uri and id of job for canceling and further monitoring
|
||||
Map jobAttributes = (Map) jobAtts.get(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)
|
||||
return;
|
||||
|
||||
|
||||
int index = attributesListener.indexOf(listener);
|
||||
if (index != -1)
|
||||
{
|
||||
@@ -401,10 +401,10 @@ public class DocPrintJobImpl implements CancelablePrintJob
|
||||
{
|
||||
if (listener == null)
|
||||
return;
|
||||
|
||||
|
||||
printJobListener.remove(listener);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @see CancelablePrintJob#cancel()
|
||||
*/
|
||||
@@ -414,23 +414,23 @@ public class DocPrintJobImpl implements CancelablePrintJob
|
||||
{
|
||||
throw new PrintException("print job is not yet send");
|
||||
}
|
||||
|
||||
|
||||
IppResponse response = null;
|
||||
|
||||
|
||||
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.setOperationAttributeDefaults();
|
||||
request.addOperationAttribute(jobUri);
|
||||
request.addOperationAttribute(requestingUser);
|
||||
response = request.send();
|
||||
}
|
||||
response = request.send();
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
{
|
||||
throw new IppException("IOException occured during cancel request.", e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
int status = response.getStatusCode();
|
||||
if (! (status == IppStatusCode.SUCCESSFUL_OK
|
||||
|| status == IppStatusCode.SUCCESSFUL_OK_IGNORED_OR_SUBSTITUED_ATTRIBUTES
|
||||
@@ -438,15 +438,15 @@ public class DocPrintJobImpl implements CancelablePrintJob
|
||||
{
|
||||
notifyPrintJobListeners(new PrintJobEvent(
|
||||
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(
|
||||
this, PrintJobEvent.JOB_CANCELED));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void notifyPrintJobListeners(PrintJobEvent e)
|
||||
{
|
||||
Iterator it = printJobListener.iterator();
|
||||
@@ -463,9 +463,9 @@ public class DocPrintJobImpl implements CancelablePrintJob
|
||||
l.printJobFailed(e);
|
||||
else if (e.getPrintEventType() == PrintJobEvent.NO_MORE_EVENTS)
|
||||
l.printJobNoMoreEvents(e);
|
||||
else
|
||||
else
|
||||
l.printJobRequiresAttention(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* IppDelimiterTag.java --
|
||||
/* IppDelimiterTag.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
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.
|
||||
* <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
|
||||
* attributes will be part of the named group.<br>
|
||||
* The end-of-attributes-tag signals the end of the attributes
|
||||
* section in the IPP request/response and therefore the beginning
|
||||
* of the data section (if any).
|
||||
* of the data section (if any).
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class IppDelimiterTag
|
||||
{
|
||||
/** Start of the operation attributes group section. */
|
||||
public static final byte OPERATION_ATTRIBUTES_TAG = 0x01;
|
||||
|
||||
|
||||
/** Start of the job attributes group section. */
|
||||
public static final byte JOB_ATTRIBUTES_TAG = 0x02;
|
||||
|
||||
|
||||
/** End of the attributes section and begin of data section. */
|
||||
public static final byte END_OF_ATTRIBUTES_TAG = 0x03;
|
||||
|
||||
|
||||
/** Start of the printer attributes group section. */
|
||||
public static final byte PRINTER_ATTRIBUTES_TAG = 0x04;
|
||||
|
||||
|
||||
/** Start of the unsupported attributes group section. */
|
||||
public static final byte UNSUPPORTED_ATTRIBUTES_TAG = 0x05;
|
||||
|
||||
|
||||
|
||||
|
||||
// 0x00 reserved for definition in a future IETF
|
||||
// standards track document
|
||||
|
||||
|
||||
// 0x06-0x0f reserved for future delimiters in IETF
|
||||
// standards track documents
|
||||
|
||||
|
||||
private IppDelimiterTag()
|
||||
{
|
||||
// not to be instantiated
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Tests if given value corresponds to a
|
||||
* Tests if given value corresponds to a
|
||||
* delimiter tag value.
|
||||
*
|
||||
*
|
||||
* @param value the value to test for
|
||||
* @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)
|
||||
return true;
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* IppException.java --
|
||||
/* IppException.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -44,7 +44,7 @@ import javax.print.PrintException;
|
||||
* <code>IppException</code> signals exception thrown by
|
||||
* the IPP implementation for various things like a failed
|
||||
* ipp request or a wrapped io exception.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public class IppException extends PrintException
|
||||
@@ -65,7 +65,7 @@ public class IppException extends PrintException
|
||||
{
|
||||
super(s);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Creates an <code>IppException</code>.
|
||||
* @param e the exception cause this one.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* IppMultiDocPrintService.java --
|
||||
/* IppMultiDocPrintService.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -47,25 +47,25 @@ import javax.print.MultiDocPrintService;
|
||||
/**
|
||||
* Implementation of the MultiDocPrintService interface
|
||||
* for IPP based printers.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public class IppMultiDocPrintService extends IppPrintService
|
||||
public class IppMultiDocPrintService extends IppPrintService
|
||||
implements MultiDocPrintService
|
||||
{
|
||||
/** The username. */
|
||||
private transient String user;
|
||||
|
||||
|
||||
/** The password of the user. */
|
||||
private transient String passwd;
|
||||
|
||||
/**
|
||||
* Creates a <code>IppMultiDocPrintService</code> object.
|
||||
*
|
||||
*
|
||||
* @param uri the URI of the IPP printer.
|
||||
* @param username the user of this print service.
|
||||
* @param password the password of the user.
|
||||
*
|
||||
*
|
||||
* @throws IppException if an error during connection occurs.
|
||||
*/
|
||||
public IppMultiDocPrintService(URI uri, String username, String password)
|
||||
@@ -74,12 +74,12 @@ public class IppMultiDocPrintService extends IppPrintService
|
||||
super(uri, username, password);
|
||||
user = username;
|
||||
passwd = password;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see MultiDocPrintService#createMultiDocPrintJob()
|
||||
*/
|
||||
public MultiDocPrintJob createMultiDocPrintJob()
|
||||
public MultiDocPrintJob createMultiDocPrintJob()
|
||||
{
|
||||
return new MultiDocPrintJobImpl(this, user, passwd);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* IppPrintService.java --
|
||||
/* IppPrintService.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -130,175 +130,180 @@ import javax.print.event.PrintServiceAttributeListener;
|
||||
/**
|
||||
* Implementation of the PrintService interface
|
||||
* for IPP based printers.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public class IppPrintService implements PrintService
|
||||
{
|
||||
/**
|
||||
/**
|
||||
* A Map with sets of attributes.
|
||||
* key: A attribute category
|
||||
* value: A set with values
|
||||
*
|
||||
*
|
||||
* IPP may return sets of attributes e.g. for supported
|
||||
* 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.*/
|
||||
private HashSet printServiceAttributeListener;
|
||||
|
||||
private HashSet<PrintServiceAttributeListener> printServiceAttributeListener;
|
||||
|
||||
/** The username. */
|
||||
private transient String user;
|
||||
|
||||
|
||||
/** The password of the user. */
|
||||
private transient String passwd;
|
||||
|
||||
|
||||
/** The name of this print service. */
|
||||
private String name;
|
||||
|
||||
|
||||
/** The list of supported document flavors. */
|
||||
private List flavors;
|
||||
|
||||
private List<DocFlavor> flavors;
|
||||
|
||||
/** The standard printer URI. */
|
||||
private PrinterURI printerUri;
|
||||
|
||||
|
||||
/** The list of all supported printer URIs. */
|
||||
private ArrayList printerUris;
|
||||
|
||||
private ArrayList<PrinterURI> printerUris;
|
||||
|
||||
/**
|
||||
* Logger for tracing - enable by passing
|
||||
* -Dgnu.classpath.debug.components=ipp to the vm.
|
||||
*/
|
||||
static final Logger logger = SystemLogger.SYSTEM;
|
||||
|
||||
/**
|
||||
|
||||
/**
|
||||
* requesting-user-name defaults to the executing user.
|
||||
*/
|
||||
public static final RequestingUserName REQUESTING_USER_NAME;
|
||||
|
||||
/**
|
||||
|
||||
/**
|
||||
* job-name defaults to "Java Printing".
|
||||
*/
|
||||
public static final JobName JOB_NAME;
|
||||
|
||||
|
||||
static
|
||||
{
|
||||
JOB_NAME = new JobName("Java Printing", null);
|
||||
REQUESTING_USER_NAME = new RequestingUserName(
|
||||
SystemProperties.getProperty("user.name", ""), null);
|
||||
SystemProperties.getProperty("user.name", ""), null);
|
||||
}
|
||||
|
||||
|
||||
// TODO Implement service listener notification and change detection.
|
||||
|
||||
|
||||
/**
|
||||
* Creates a <code>IppPrintService</code> object.
|
||||
*
|
||||
*
|
||||
* @param uri the URI of the IPP printer.
|
||||
* @param username the user of this print service.
|
||||
* @param password the password of the user.
|
||||
*
|
||||
*
|
||||
* @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
|
||||
{
|
||||
printerUri = new PrinterURI(uri);
|
||||
user = username;
|
||||
passwd = password;
|
||||
|
||||
printServiceAttributeListener = new HashSet();
|
||||
|
||||
|
||||
printServiceAttributeListener =
|
||||
new HashSet<PrintServiceAttributeListener>();
|
||||
|
||||
printerAttr = getPrinterAttributes();
|
||||
processResponse();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Fetches all printer attributes from the IPP printer.
|
||||
*
|
||||
*
|
||||
* @return The Map with the printer attributes.
|
||||
* @throws IppException if an error occurs.
|
||||
*/
|
||||
private Map getPrinterAttributes() throws IppException
|
||||
private Map<Class<? extends Attribute>, Set<Attribute>> getPrinterAttributes()
|
||||
throws IppException
|
||||
{
|
||||
IppResponse response = null;
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
IppRequest request = new IppRequest(printerUri.getURI(), user, passwd);
|
||||
|
||||
IppRequest request = new IppRequest(printerUri.getURI(), user, passwd);
|
||||
|
||||
int operation = OperationsSupported.GET_PRINTER_ATTRIBUTES.getValue();
|
||||
request.setOperationID((short) operation);
|
||||
request.setOperationAttributeDefaults();
|
||||
request.setOperationID((short) operation);
|
||||
request.setOperationAttributeDefaults();
|
||||
request.addOperationAttribute(printerUri);
|
||||
|
||||
|
||||
response = request.send();
|
||||
}
|
||||
}
|
||||
catch (IOException 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.
|
||||
*
|
||||
*
|
||||
* @param attributeClass 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.
|
||||
*
|
||||
*
|
||||
* @param attributeClass the category
|
||||
* @return The default attribute.
|
||||
*
|
||||
*
|
||||
* @throws ClassCastException if attributClass is not an
|
||||
* 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();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Processes the response, sorts and splits the attributes.
|
||||
*/
|
||||
private void processResponse()
|
||||
{
|
||||
// printer name
|
||||
PrinterName[] tmp = (PrinterName[]) getPrinterAttributeSet(
|
||||
PrinterName.class).toArray(new PrinterName[1]);
|
||||
PrinterName[] tmp = getPrinterAttributeSet(PrinterName.class).toArray(new PrinterName[1]);
|
||||
name = tmp[0].getValue();
|
||||
|
||||
|
||||
// supported flavors
|
||||
// TODO Check if charsets-supported are charsets that are actually supported
|
||||
// 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
|
||||
flavors = new ArrayList();
|
||||
Set flavorAttributes = getPrinterAttributeSet(DocumentFormatSupported.class);
|
||||
flavors = new ArrayList<DocFlavor>();
|
||||
Set<DocumentFormatSupported> flavorAttributes = getPrinterAttributeSet(DocumentFormatSupported.class);
|
||||
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"))
|
||||
{
|
||||
flavors.add(DocFlavor.CHAR_ARRAY.TEXT_PLAIN);
|
||||
flavors.add(DocFlavor.READER.TEXT_PLAIN);
|
||||
flavors.add(DocFlavor.STRING.TEXT_PLAIN);
|
||||
|
||||
|
||||
// add 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.READER.TEXT_HTML);
|
||||
flavors.add(DocFlavor.STRING.TEXT_HTML);
|
||||
|
||||
|
||||
// add utf-8
|
||||
mimeType = mimeType + "; charset=utf-8";
|
||||
}
|
||||
|
||||
|
||||
// Process the predefined DocFlavors and if mimetype is
|
||||
// equal put them into the flavors array - otherwise
|
||||
// just build them as binarie class representation.
|
||||
boolean changed = false;
|
||||
try
|
||||
{
|
||||
Class[] clazzes = new Class[] { DocFlavor.BYTE_ARRAY.class,
|
||||
DocFlavor.INPUT_STREAM.class,
|
||||
DocFlavor.URL.class };
|
||||
|
||||
Class<?>[] clazzes = new Class<?>[] { DocFlavor.BYTE_ARRAY.class,
|
||||
DocFlavor.INPUT_STREAM.class,
|
||||
DocFlavor.URL.class
|
||||
};
|
||||
|
||||
for (int j = 0; j < clazzes.length; j++)
|
||||
{
|
||||
Field[] fields = clazzes[j].getDeclaredFields();
|
||||
@@ -336,7 +342,7 @@ public class IppPrintService implements PrintService
|
||||
}
|
||||
}
|
||||
if (!changed) // not in predefined constants of DocFlavor
|
||||
{
|
||||
{
|
||||
// everything should be supported as binary stuff
|
||||
flavors.add(new DocFlavor(mimeType, "[B"));
|
||||
flavors.add(new DocFlavor(mimeType, "java.io.InputStream"));
|
||||
@@ -357,54 +363,52 @@ public class IppPrintService implements PrintService
|
||||
}
|
||||
}
|
||||
|
||||
if (this.getClass()
|
||||
.isAssignableFrom(gnu.javax.print.CupsPrintService.class))
|
||||
{
|
||||
// CUPS always provides filters to convert from Postscript.
|
||||
// This logic looks odd, but it's what OpenJDK does.
|
||||
flavors.add(DocFlavor.SERVICE_FORMATTED.PAGEABLE);
|
||||
flavors.add(DocFlavor.SERVICE_FORMATTED.PRINTABLE);
|
||||
}
|
||||
if (this.getClass()
|
||||
.isAssignableFrom(gnu.javax.print.CupsPrintService.class))
|
||||
{
|
||||
// CUPS always provides filters to convert from Postscript.
|
||||
// This logic looks odd, but it's what OpenJDK does.
|
||||
flavors.add(DocFlavor.SERVICE_FORMATTED.PAGEABLE);
|
||||
flavors.add(DocFlavor.SERVICE_FORMATTED.PRINTABLE);
|
||||
}
|
||||
}
|
||||
|
||||
// printer uris
|
||||
Set uris = getPrinterAttributeSet(PrinterUriSupported.class);
|
||||
printerUris = new ArrayList(uris.size());
|
||||
Iterator it = uris.iterator();
|
||||
while (it.hasNext())
|
||||
Set<PrinterUriSupported> uris = getPrinterAttributeSet(PrinterUriSupported.class);
|
||||
printerUris = new ArrayList<PrinterURI>(uris.size());
|
||||
for (PrinterUriSupported uri : uris)
|
||||
{
|
||||
PrinterUriSupported uri = (PrinterUriSupported) it.next();
|
||||
printerUris.add( new PrinterURI(uri.getURI()));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* We always return a implementation implementing CancelablePrintJob.
|
||||
*
|
||||
*
|
||||
* @see javax.print.PrintService#createPrintJob()
|
||||
*/
|
||||
public DocPrintJob createPrintJob()
|
||||
{
|
||||
return new DocPrintJobImpl(this, user, passwd);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @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)
|
||||
throw new NullPointerException("category may not be null");
|
||||
|
||||
|
||||
if (! PrintServiceAttribute.class.isAssignableFrom(category))
|
||||
throw new IllegalArgumentException(
|
||||
"category must be of type PrintServiceAttribute");
|
||||
|
||||
Set set = getPrinterAttributeSet(category);
|
||||
if (set != null && set.size() > 0)
|
||||
return (PrintServiceAttribute) set.toArray()[0];
|
||||
|
||||
|
||||
Set<T> set = getPrinterAttributeSet(category);
|
||||
if (set != null && set.size() > 0)
|
||||
return set.iterator().next();
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -414,81 +418,78 @@ public class IppPrintService implements PrintService
|
||||
public PrintServiceAttributeSet getAttributes()
|
||||
{
|
||||
PrintServiceAttributeSet set = new HashPrintServiceAttributeSet();
|
||||
|
||||
Iterator it = printerAttr.values().iterator();
|
||||
while (it.hasNext())
|
||||
{
|
||||
Iterator it2 = ((Set) it.next()).iterator();
|
||||
while (it2.hasNext())
|
||||
|
||||
for (Set<Attribute> attrSet : printerAttr.values())
|
||||
{
|
||||
for (Attribute attr : attrSet)
|
||||
{
|
||||
Attribute attr = (Attribute) it2.next();
|
||||
if (attr instanceof PrintServiceAttribute)
|
||||
set.add(attr);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return AttributeSetUtilities.unmodifiableView(set);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see javax.print.PrintService#getDefaultAttributeValue(java.lang.Class)
|
||||
*/
|
||||
public Object getDefaultAttributeValue(Class category)
|
||||
{
|
||||
public Object getDefaultAttributeValue(Class<? extends Attribute> category)
|
||||
{
|
||||
// required attributes
|
||||
if (category.equals(Fidelity.class))
|
||||
return Fidelity.FIDELITY_FALSE;
|
||||
return Fidelity.FIDELITY_FALSE;
|
||||
if (category.equals(JobName.class))
|
||||
return JOB_NAME;
|
||||
if (category.equals(RequestingUserName.class))
|
||||
return REQUESTING_USER_NAME;
|
||||
|
||||
|
||||
// optional attributes
|
||||
if (category.equals(JobPriority.class)
|
||||
if (category.equals(JobPriority.class)
|
||||
&& printerAttr.containsKey(JobPriorityDefault.class))
|
||||
return getPrinterDefaultAttribute(JobPriorityDefault.class);
|
||||
if (category.equals(JobHoldUntil.class)
|
||||
if (category.equals(JobHoldUntil.class)
|
||||
&& printerAttr.containsKey(JobHoldUntilDefault.class))
|
||||
return getPrinterDefaultAttribute(JobHoldUntilDefault.class);
|
||||
if (category.equals(JobSheets.class)
|
||||
if (category.equals(JobSheets.class)
|
||||
&& printerAttr.containsKey(JobSheetsDefault.class))
|
||||
return getPrinterDefaultAttribute(JobSheetsDefault .class);
|
||||
if (category.equals(MultipleDocumentHandling.class)
|
||||
if (category.equals(MultipleDocumentHandling.class)
|
||||
&& printerAttr.containsKey(MultipleDocumentHandlingDefault.class))
|
||||
return getPrinterDefaultAttribute(MultipleDocumentHandlingDefault.class);
|
||||
if (category.equals(Copies.class)
|
||||
if (category.equals(Copies.class)
|
||||
&& printerAttr.containsKey(CopiesDefault.class))
|
||||
return getPrinterDefaultAttribute(CopiesDefault.class);
|
||||
if (category.equals(Finishings.class)
|
||||
if (category.equals(Finishings.class)
|
||||
&& printerAttr.containsKey(FinishingsDefault.class))
|
||||
return getPrinterDefaultAttribute(FinishingsDefault.class);
|
||||
if (category.equals(Sides.class)
|
||||
if (category.equals(Sides.class)
|
||||
&& printerAttr.containsKey(SidesDefault.class))
|
||||
return getPrinterDefaultAttribute(SidesDefault.class);
|
||||
if (category.equals(NumberUp.class)
|
||||
if (category.equals(NumberUp.class)
|
||||
&& printerAttr.containsKey(NumberUpDefault.class))
|
||||
return getPrinterDefaultAttribute(NumberUpDefault.class);
|
||||
if (category.equals(OrientationRequested.class)
|
||||
if (category.equals(OrientationRequested.class)
|
||||
&& printerAttr.containsKey(OrientationRequestedDefault.class))
|
||||
return getPrinterDefaultAttribute(OrientationRequestedDefault.class);
|
||||
if (category.equals(Media.class)
|
||||
if (category.equals(Media.class)
|
||||
&& printerAttr.containsKey(MediaDefault.class))
|
||||
return getPrinterDefaultAttribute(MediaDefault.class);
|
||||
if (category.equals(PrinterResolution.class)
|
||||
if (category.equals(PrinterResolution.class)
|
||||
&& printerAttr.containsKey(PrinterResolutionDefault.class))
|
||||
return getPrinterDefaultAttribute(PrinterResolutionDefault.class);
|
||||
if (category.equals(PrintQuality.class)
|
||||
if (category.equals(PrintQuality.class)
|
||||
&& printerAttr.containsKey(PrintQualityDefault.class))
|
||||
return getPrinterDefaultAttribute(PrintQualityDefault.class);
|
||||
if (category.equals(Compression.class)
|
||||
if (category.equals(Compression.class)
|
||||
&& printerAttr.containsKey(CompressionSupported.class))
|
||||
return Compression.NONE;
|
||||
if (category.equals(PageRanges.class))
|
||||
return new PageRanges(1, Integer.MAX_VALUE);
|
||||
|
||||
return null;
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* We return the value of <code>PrinterName</code> here.
|
||||
* @see javax.print.PrintService#getName()
|
||||
@@ -506,7 +507,7 @@ public class IppPrintService implements PrintService
|
||||
{
|
||||
// SUN does not provide any service factory for
|
||||
// print services (tested on linux/windows)
|
||||
|
||||
|
||||
// for the moment we do the same - just return null
|
||||
// later on we could provide at least the about UI dialog
|
||||
return null;
|
||||
@@ -515,11 +516,12 @@ public class IppPrintService implements PrintService
|
||||
/**
|
||||
* @see javax.print.PrintService#getSupportedAttributeCategories()
|
||||
*/
|
||||
public Class[] getSupportedAttributeCategories()
|
||||
public Class<?>[] getSupportedAttributeCategories()
|
||||
{
|
||||
Set categories = new HashSet();
|
||||
|
||||
// Should only be job template attributes as of section 4.2
|
||||
Set<Class<? extends Attribute>> categories =
|
||||
new HashSet<Class<? extends Attribute>>();
|
||||
|
||||
// Should only be job template attributes as of section 4.2
|
||||
if (printerAttr.containsKey(JobPrioritySupported.class))
|
||||
categories.add(JobPriority.class);
|
||||
if (printerAttr.containsKey(JobHoldUntilSupported.class))
|
||||
@@ -527,14 +529,14 @@ public class IppPrintService implements PrintService
|
||||
if (printerAttr.containsKey(JobSheetsSupported.class))
|
||||
categories.add(JobSheets.class);
|
||||
if (printerAttr.containsKey(MultipleDocumentHandlingSupported.class))
|
||||
categories.add(MultipleDocumentHandling.class);
|
||||
categories.add(MultipleDocumentHandling.class);
|
||||
if (printerAttr.containsKey(CopiesSupported.class))
|
||||
categories.add(Copies.class);
|
||||
if (printerAttr.containsKey(FinishingsSupported.class))
|
||||
{
|
||||
// if only none finishing is supported - it does not count as supported
|
||||
Set set = getPrinterAttributeSet(FinishingsSupported.class);
|
||||
if (! (set.size() == 1 && set.contains(FinishingsSupported.NONE)))
|
||||
Set<FinishingsSupported> set = getPrinterAttributeSet(FinishingsSupported.class);
|
||||
if (! (set.size() == 1 && set.contains(FinishingsSupported.NONE)))
|
||||
categories.add(Finishings.class);
|
||||
}
|
||||
if (printerAttr.containsKey(PageRangesSupported.class))
|
||||
@@ -551,11 +553,11 @@ public class IppPrintService implements PrintService
|
||||
categories.add(PrinterResolution.class);
|
||||
if (printerAttr.containsKey(PrintQualitySupported.class))
|
||||
categories.add(PrintQuality.class);
|
||||
|
||||
// Chromaticity, Destination, MediaPrintableArea,
|
||||
|
||||
// Chromaticity, Destination, MediaPrintableArea,
|
||||
// SheetCollate, PresentationDirection - not IPP attributes
|
||||
|
||||
// attributes outside section 4.2
|
||||
|
||||
// attributes outside section 4.2
|
||||
if (printerAttr.containsKey(CompressionSupported.class))
|
||||
categories.add(Compression.class);
|
||||
if (printerAttr.containsKey(JobImpressionsSupported.class))
|
||||
@@ -564,13 +566,13 @@ public class IppPrintService implements PrintService
|
||||
categories.add(JobKOctets.class);
|
||||
if (printerAttr.containsKey(JobMediaSheetsSupported.class))
|
||||
categories.add(JobMediaSheets.class);
|
||||
|
||||
|
||||
// always supported as required by IPP specification
|
||||
categories.add(Fidelity.class);
|
||||
categories.add(JobName.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
|
||||
* need of handling the response differently may override the method
|
||||
* <code>handleSupportedAttributeValuesResponse(IppResponse, Class)</code> only.
|
||||
*
|
||||
*
|
||||
* @see PrintService#getSupportedAttributeValues(Class, DocFlavor, AttributeSet)
|
||||
* @see #handleSupportedAttributeValuesResponse(IppResponse, Class)
|
||||
*/
|
||||
public Object getSupportedAttributeValues(Class category, DocFlavor flavor,
|
||||
AttributeSet attributes)
|
||||
public Object getSupportedAttributeValues(Class<? extends Attribute> category,
|
||||
DocFlavor flavor, AttributeSet attributes)
|
||||
{
|
||||
// We currently ignore the attribute set - there is nothing in the IPP
|
||||
// specification which would come closer to what we do here.
|
||||
@@ -620,7 +622,7 @@ public class IppPrintService implements PrintService
|
||||
request.setOperationAttributeDefaults();
|
||||
request.addOperationAttribute(new RequestedAttributes(categoryName));
|
||||
request.addOperationAttribute(printerUri);
|
||||
|
||||
|
||||
if (flavor != null)
|
||||
{
|
||||
DocumentFormat f = DocumentFormat.createDocumentFormat(flavor);
|
||||
@@ -628,7 +630,7 @@ public class IppPrintService implements PrintService
|
||||
}
|
||||
|
||||
response = request.send();
|
||||
|
||||
|
||||
int status = response.getStatusCode();
|
||||
if (! (status == IppStatusCode.SUCCESSFUL_OK
|
||||
|| status == IppStatusCode.SUCCESSFUL_OK_IGNORED_OR_SUBSTITUED_ATTRIBUTES
|
||||
@@ -647,41 +649,42 @@ public class IppPrintService implements PrintService
|
||||
// method cannot throw exception - just log
|
||||
logger.log(Component.IPP, "IPPException", e);
|
||||
}
|
||||
|
||||
|
||||
return handleSupportedAttributeValuesResponse(response, category);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Called to handle the supported attribute values response for the given
|
||||
* category. This might be overridden by subclasses with different requirements
|
||||
* for parsing/handling the response from the GetPrinterAttributes.
|
||||
*
|
||||
*
|
||||
* @param response the response of the GetPrinterAttributes IPP request
|
||||
* @param category the category for which the supported values are requested
|
||||
* @return A object indicating the supported values for the given attribute
|
||||
* category, or <code>null</code> if this print service doesn't support the
|
||||
* @return A object indicating the supported values for the given attribute
|
||||
* category, or <code>null</code> if this print service doesn't support the
|
||||
* given attribute category at all.
|
||||
*
|
||||
*
|
||||
* @see #getSupportedAttributeValues(Class, DocFlavor, AttributeSet)
|
||||
*/
|
||||
protected Object handleSupportedAttributeValuesResponse(IppResponse response,
|
||||
Class category)
|
||||
protected Object handleSupportedAttributeValuesResponse(IppResponse response,
|
||||
Class<? extends Attribute> category)
|
||||
{
|
||||
List printerAtts = response.getPrinterAttributes();
|
||||
|
||||
List<Map<Class<? extends Attribute>, Set<Attribute>>> printerAtts =
|
||||
response.getPrinterAttributes();
|
||||
|
||||
// only one will be returned
|
||||
Map printerAttribute = (Map) printerAtts.get(0);
|
||||
Class suppCategory = IppUtilities.getSupportedCategory(category);
|
||||
Set attr = (Set) printerAttribute.get(suppCategory);
|
||||
|
||||
// We sometime assume its a single instance with arbritrary value just indicating
|
||||
Map<Class<? extends Attribute>, Set<Attribute>> printerAttribute = printerAtts.get(0);
|
||||
Class<? extends Attribute> suppCategory = IppUtilities.getSupportedCategory(category);
|
||||
Set<Attribute> attr = printerAttribute.get(suppCategory);
|
||||
|
||||
// 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
|
||||
// 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 :-)
|
||||
|
||||
|
||||
// Map whats in the JSP API
|
||||
if (suppCategory.equals(JobPrioritySupported.class))
|
||||
return (JobPrioritySupported) attr.toArray(new JobPrioritySupported[1])[0];
|
||||
return (JobPrioritySupported) attr.iterator().next();
|
||||
if (suppCategory.equals(JobHoldUntilSupported.class))
|
||||
return new JobHoldUntil(new Date());
|
||||
if (suppCategory.equals(JobSheetsSupported.class))
|
||||
@@ -689,11 +692,11 @@ public class IppPrintService implements PrintService
|
||||
if (suppCategory.equals(MultipleDocumentHandlingSupported.class))
|
||||
return MultipleDocumentHandlingSupported.getAssociatedAttributeArray(attr);
|
||||
if (suppCategory.equals(CopiesSupported.class))
|
||||
return (CopiesSupported) attr.toArray(new CopiesSupported[1])[0];
|
||||
return (CopiesSupported) attr.iterator().next();
|
||||
if (suppCategory.equals(FinishingsSupported.class))
|
||||
return FinishingsSupported.getAssociatedAttributeArray(attr);
|
||||
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))
|
||||
return OrientationRequestedSupported.getAssociatedAttributeArray(attr);
|
||||
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
|
||||
if (suppCategory.equals(NumberUpSupported.class))
|
||||
{
|
||||
NumberUpSupported[] tmp = (NumberUpSupported[])
|
||||
attr.toArray(new NumberUpSupported[attr.size()]);
|
||||
|
||||
if (attr.size() == 1) // number-up maybe in rangeofintegers
|
||||
return tmp[0];
|
||||
return attr.iterator().next();
|
||||
|
||||
int[][] members = new int[attr.size()][2];
|
||||
Iterator<Attribute> it = attr.iterator();
|
||||
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 };
|
||||
}
|
||||
|
||||
NumberUpSupported supported = new NumberUpSupported(members);
|
||||
return supported;
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @see javax.print.PrintService#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
|
||||
* 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,
|
||||
AttributeSet attributes)
|
||||
{
|
||||
{
|
||||
if (flavor != null && !isDocFlavorSupported(flavor))
|
||||
throw new IllegalArgumentException("flavor is not supported");
|
||||
|
||||
@@ -757,21 +758,21 @@ public class IppPrintService implements PrintService
|
||||
request.setOperationAttributeDefaults();
|
||||
request.addOperationAttribute(printerUri);
|
||||
request.addOperationAttribute(Fidelity.FIDELITY_TRUE);
|
||||
|
||||
|
||||
if (attributes != null && attributes.size() > 0)
|
||||
{
|
||||
request.addAndFilterJobOperationAttributes(attributes);
|
||||
request.addAndFilterJobTemplateAttributes(attributes);
|
||||
}
|
||||
|
||||
|
||||
if (flavor != null)
|
||||
{
|
||||
DocumentFormat f = DocumentFormat.createDocumentFormat(flavor);
|
||||
request.addOperationAttribute(f);
|
||||
}
|
||||
|
||||
|
||||
response = request.send();
|
||||
|
||||
|
||||
int status = response.getStatusCode();
|
||||
if (! (status == IppStatusCode.SUCCESSFUL_OK
|
||||
|| status == IppStatusCode.SUCCESSFUL_OK_IGNORED_OR_SUBSTITUED_ATTRIBUTES
|
||||
@@ -791,41 +792,39 @@ public class IppPrintService implements PrintService
|
||||
logger.log(Component.IPP, "IPPException", e);
|
||||
}
|
||||
|
||||
// Validate Jobs returns only Unsupported and Operation
|
||||
List unsupportedMaps = response.getUnsupportedAttributes();
|
||||
// Validate Jobs returns only Unsupported and Operation
|
||||
List<Map<Class<? extends Attribute>, Set<Attribute>>> unsupportedMaps =
|
||||
response.getUnsupportedAttributes();
|
||||
if (unsupportedMaps.size() == 0)
|
||||
return null;
|
||||
|
||||
Map unsupportedAttr = (Map) unsupportedMaps.get(0);
|
||||
return null;
|
||||
|
||||
Map<Class<? extends Attribute>, Set<Attribute>> unsupportedAttr = unsupportedMaps.get(0);
|
||||
if (unsupportedAttr.size() == 0)
|
||||
return null;
|
||||
|
||||
// Convert the return map with unsupported attributes
|
||||
|
||||
// Convert the return map with unsupported attributes
|
||||
// into an AttribueSet instance
|
||||
HashAttributeSet set = new HashAttributeSet();
|
||||
Iterator it = unsupportedAttr.values().iterator();
|
||||
while (it.hasNext())
|
||||
for (Set<Attribute> unsupported : unsupportedAttr.values())
|
||||
{
|
||||
Set unsupported = (Set) it.next();
|
||||
Iterator it2 = unsupported.iterator();
|
||||
while (it2.hasNext())
|
||||
set.add((Attribute) it2.next());
|
||||
for (Attribute att : unsupported)
|
||||
set.add(att);
|
||||
}
|
||||
|
||||
|
||||
return set;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see PrintService#isAttributeCategorySupported(Class)
|
||||
*/
|
||||
public boolean isAttributeCategorySupported(Class category)
|
||||
public boolean isAttributeCategorySupported(Class<? extends Attribute> category)
|
||||
{
|
||||
if (category == null)
|
||||
throw new NullPointerException("category may not be null");
|
||||
|
||||
|
||||
if (! Attribute.class.isAssignableFrom(category))
|
||||
throw new IllegalArgumentException("category must be of type Attribute");
|
||||
|
||||
|
||||
return Arrays.asList(getSupportedAttributeCategories()).contains(category);
|
||||
}
|
||||
|
||||
@@ -835,28 +834,28 @@ public class IppPrintService implements PrintService
|
||||
public boolean isAttributeValueSupported(Attribute attrval, DocFlavor flavor,
|
||||
AttributeSet attributes)
|
||||
{
|
||||
// just redirect to getSupportedAttributeValues
|
||||
Object values = getSupportedAttributeValues(attrval.getCategory(),
|
||||
flavor, attributes);
|
||||
// just redirect to getSupportedAttributeValues
|
||||
Object values = getSupportedAttributeValues(attrval.getCategory(),
|
||||
flavor, attributes);
|
||||
// null means none supported
|
||||
if (values == null)
|
||||
return false;
|
||||
|
||||
|
||||
// object may be an array
|
||||
if (values.getClass().isArray())
|
||||
return Arrays.asList((Object[]) values).contains(attrval);
|
||||
|
||||
|
||||
// may be a single instance of the category (value is irrelevant)
|
||||
if (values.getClass().equals(attrval.getCategory()))
|
||||
return true;
|
||||
|
||||
// a single instance of another class to give the bounds
|
||||
|
||||
// a single instance of another class to give the bounds
|
||||
// copies
|
||||
if (values.getClass().equals(CopiesSupported.class))
|
||||
return ((CopiesSupported) values).contains((IntegerSyntax) attrval);
|
||||
return ((CopiesSupported) values).contains((IntegerSyntax) attrval);
|
||||
// number up
|
||||
if (values.getClass().equals(NumberUpSupported.class))
|
||||
return ((NumberUpSupported) values).contains((IntegerSyntax) attrval);
|
||||
return ((NumberUpSupported) values).contains((IntegerSyntax) attrval);
|
||||
// job priority
|
||||
if (values.getClass().equals(JobPrioritySupported.class))
|
||||
{
|
||||
@@ -865,15 +864,15 @@ public class IppPrintService implements PrintService
|
||||
if (priority.getValue() < maxSupported.getValue())
|
||||
return true;
|
||||
}
|
||||
|
||||
// I am unsure if these might also show up - not yet found a printer where
|
||||
// Suns implementation supports them:
|
||||
|
||||
// I am unsure if these might also show up - not yet found a printer where
|
||||
// Suns implementation supports them:
|
||||
// JobImpressionsSupported, JobKOctetsSupported, JobMediaSheetsSupported
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @see javax.print.PrintService#isDocFlavorSupported(DocFlavor)
|
||||
*/
|
||||
@@ -881,11 +880,11 @@ public class IppPrintService implements PrintService
|
||||
{
|
||||
if (flavor == null)
|
||||
throw new NullPointerException("DocFlavor may not be null.");
|
||||
|
||||
|
||||
return flavors.contains(flavor);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @see PrintService#addPrintServiceAttributeListener(PrintServiceAttributeListener)
|
||||
*/
|
||||
@@ -894,7 +893,7 @@ public class IppPrintService implements PrintService
|
||||
{
|
||||
printServiceAttributeListener.add(listener);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @see PrintService#removePrintServiceAttributeListener(PrintServiceAttributeListener)
|
||||
*/
|
||||
@@ -903,7 +902,7 @@ public class IppPrintService implements PrintService
|
||||
{
|
||||
printServiceAttributeListener.remove(listener);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns "IppPrinter: " + <code>getName()</code>
|
||||
* @return The string representation.
|
||||
@@ -911,15 +910,15 @@ public class IppPrintService implements PrintService
|
||||
public String toString()
|
||||
{
|
||||
return "IppPrinter: " + getName();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the printer-uri of this print service.
|
||||
*
|
||||
*
|
||||
* @return The printer-uri attribute.
|
||||
*/
|
||||
public PrinterURI getPrinterURI()
|
||||
{
|
||||
return printerUri;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* IppRequest.java --
|
||||
/* IppRequest.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -112,37 +112,37 @@ import javax.print.attribute.standard.Sides;
|
||||
* <li>data - q bytes - optional</li>
|
||||
* </ul>
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public class IppRequest
|
||||
{
|
||||
|
||||
/**
|
||||
* The printer-poll timeout.
|
||||
* The printer-poll timeout.
|
||||
*/
|
||||
private static final int timeout = 1000;
|
||||
|
||||
/**
|
||||
* Helper class used to write the attributes of a request
|
||||
* into the supplied data output stream in the correct way.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
class RequestWriter
|
||||
{
|
||||
{
|
||||
private DataOutputStream out;
|
||||
|
||||
|
||||
/**
|
||||
* Creates a RequestWriter.
|
||||
*
|
||||
*
|
||||
* @param stream the stream to write to.
|
||||
*/
|
||||
RequestWriter(DataOutputStream stream)
|
||||
{
|
||||
out = stream;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Writes an attribute in IntegerSyntax into the stream.
|
||||
* @param attribute the attribute
|
||||
@@ -218,7 +218,7 @@ public class IppRequest
|
||||
out.write(name.getBytes());
|
||||
}
|
||||
else
|
||||
out.writeShort(0x0000); // only name-length
|
||||
out.writeShort(0x0000); // only name-length
|
||||
|
||||
out.writeShort(8); // range is 8 bytes
|
||||
out.writeInt(ranges[i][0]);
|
||||
@@ -283,7 +283,7 @@ public class IppRequest
|
||||
}
|
||||
|
||||
out.writeByte(directionFromUTC);
|
||||
out.writeByte(offsetInMillis / 3600000); // hours
|
||||
out.writeByte(offsetInMillis / 3600000); // hours
|
||||
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
|
||||
* writes them as NAME_WITHOUT_LANGUAGE value-tag into the stream.
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @param attribute the attribute
|
||||
* @param out the stream to write to
|
||||
* @throws IOException if thrown by the stream
|
||||
@@ -314,11 +314,11 @@ public class IppRequest
|
||||
out.writeByte(IppValueTag.MIME_MEDIA_TYPE);
|
||||
else
|
||||
out.writeByte(IppValueTag.TEXT_WITHOUT_LANGUAGE);
|
||||
|
||||
|
||||
out.writeShort(name.length());
|
||||
out.write(name.getBytes());
|
||||
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
|
||||
*/
|
||||
private void write(CharsetSyntax attribute) throws IOException
|
||||
{
|
||||
String name = ((Attribute) attribute).getName();
|
||||
{
|
||||
String name = ((Attribute) attribute).getName();
|
||||
out.writeByte(IppValueTag.CHARSET);
|
||||
out.writeShort(name.length());
|
||||
out.write(name.getBytes());
|
||||
@@ -371,7 +371,7 @@ public class IppRequest
|
||||
out.writeShort(attribute.getValue().length());
|
||||
out.write(attribute.getValue().getBytes());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Writes an attribute in RequestedAttributes into the stream.
|
||||
* @param attribute the attribute
|
||||
@@ -380,32 +380,32 @@ public class IppRequest
|
||||
*/
|
||||
private void write(RequestedAttributes attribute) throws IOException
|
||||
{
|
||||
List values = attribute.getValues();
|
||||
|
||||
String[] values = attribute.getValues();
|
||||
|
||||
String name = ((Attribute) attribute).getName();
|
||||
out.writeByte(IppValueTag.KEYWORD);
|
||||
out.writeShort(name.length());
|
||||
out.write(name.getBytes());
|
||||
out.writeShort(((String) values.get(0)).length());
|
||||
out.write(((String) values.get(0)).getBytes());
|
||||
|
||||
for (int i=1; i < values.size(); i++)
|
||||
out.write(name.getBytes());
|
||||
out.writeShort(values[0].length());
|
||||
out.write(values[0].getBytes());
|
||||
|
||||
for (int i=1; i < values.length; i++)
|
||||
{
|
||||
out.writeByte(IppValueTag.KEYWORD);
|
||||
out.writeShort(0x0000); // length for additional value
|
||||
out.writeShort(((String) values.get(i)).length());
|
||||
out.write(((String) values.get(i)).getBytes());
|
||||
out.writeShort(values[i].length());
|
||||
out.write(values[i].getBytes());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Writes the given operation attribute group of the given map instance
|
||||
* (key=group, values=set of attributes) into the supplied data
|
||||
* output stream.
|
||||
*
|
||||
*
|
||||
* @param attributes the set with the attributes.
|
||||
*
|
||||
*
|
||||
* @throws IOException if thrown by the used DataOutputStream.
|
||||
* @throws IppException if unknown attributes occur.
|
||||
*/
|
||||
@@ -413,23 +413,23 @@ public class IppRequest
|
||||
throws IOException, IppException
|
||||
{
|
||||
out.write(IppDelimiterTag.OPERATION_ATTRIBUTES_TAG);
|
||||
|
||||
|
||||
// its essential to write these two in this order and as first ones
|
||||
Attribute att = attributes.get(AttributesCharset.class);
|
||||
write((CharsetSyntax) att);
|
||||
|
||||
logger.log(Component.IPP, "Attribute: Name: <"
|
||||
+ att.getCategory().getName() + "> Value: <" + att.toString() + ">");
|
||||
|
||||
|
||||
logger.log(Component.IPP, "Attribute: Name: <"
|
||||
+ att.getCategory().getName() + "> Value: <" + att.toString() + ">");
|
||||
|
||||
attributes.remove(AttributesCharset.class);
|
||||
|
||||
|
||||
att = attributes.get(AttributesNaturalLanguage.class);
|
||||
write((NaturalLanguageSyntax) att);
|
||||
attributes.remove(AttributesNaturalLanguage.class);
|
||||
|
||||
logger.log(Component.IPP, "Attribute: Name: <"
|
||||
|
||||
logger.log(Component.IPP, "Attribute: Name: <"
|
||||
+ att.getCategory().getName() + "> Value: <" + att.toString() + ">");
|
||||
|
||||
|
||||
// furthermore its essential to now write out the target attribute
|
||||
PrinterURI printerUri = (PrinterURI) attributes.get(PrinterURI.class);
|
||||
JobUri jobUri = (JobUri) attributes.get(JobUri.class);
|
||||
@@ -470,26 +470,26 @@ public class IppRequest
|
||||
.getName() + "> Value: <" + jobUri.toString() + ">");
|
||||
}
|
||||
else if (reqAttrs != null)
|
||||
{
|
||||
write(reqAttrs);
|
||||
attributes.remove(RequestedAttributes.class);
|
||||
logger.log(Component.IPP, "RequestedAttributes: <" + reqAttrs + ">");
|
||||
}
|
||||
{
|
||||
write(reqAttrs);
|
||||
attributes.remove(RequestedAttributes.class);
|
||||
logger.log(Component.IPP, "RequestedAttributes: <" + reqAttrs + ">");
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new IppException("Unknown target operation attribute combination.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
writeAttributes(attributes);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Writes the given attribute groups of the given map instance
|
||||
* (key=group, values=set of attributes) into the supplied data
|
||||
* output stream.
|
||||
*
|
||||
*
|
||||
* @param attributes the set with the attributes.
|
||||
*
|
||||
*
|
||||
* @throws IOException if thrown by the used DataOutputStream.
|
||||
* @throws IppException if unknown attributes occur.
|
||||
*/
|
||||
@@ -500,9 +500,9 @@ public class IppRequest
|
||||
for (int i = 0; i < attributeArray.length; i++)
|
||||
{
|
||||
logger.log(Component.IPP, "Attribute: Name: <" + attributeArray[i]
|
||||
.getCategory().getName() + "> Value: <"
|
||||
+ attributeArray[i].toString() + ">");
|
||||
|
||||
.getCategory().getName() + "> Value: <"
|
||||
+ attributeArray[i].toString() + ">");
|
||||
|
||||
if (attributeArray[i] instanceof IntegerSyntax)
|
||||
write((IntegerSyntax) attributeArray[i]);
|
||||
else if (attributeArray[i] instanceof TextSyntax)
|
||||
@@ -551,8 +551,8 @@ public class IppRequest
|
||||
/** The operation type of this request. */
|
||||
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.
|
||||
*/
|
||||
private final int request_id;
|
||||
@@ -564,48 +564,48 @@ public class IppRequest
|
||||
private AttributeSet jobAttributes;
|
||||
|
||||
private Object data;
|
||||
|
||||
|
||||
private URI requestUri;
|
||||
|
||||
/** The underlying connection - IPP is http based */
|
||||
private HttpURLConnection connection;
|
||||
|
||||
|
||||
/**
|
||||
* Creates an IPPRequest instance.
|
||||
*
|
||||
*
|
||||
* @param uri the URI of the request
|
||||
* @param user the user if any
|
||||
* @param password the password of the supplied user
|
||||
*/
|
||||
public IppRequest(URI uri, String user, String password)
|
||||
{
|
||||
{
|
||||
request_id = incrementRequestIdCounter();
|
||||
requestUri = uri;
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
URL url = new URL("http",
|
||||
user == null
|
||||
? uri.getHost() : user + ":"
|
||||
+ password + "@" + uri.getHost(),
|
||||
URL url = new URL("http",
|
||||
user == null
|
||||
? uri.getHost() : user + ":"
|
||||
+ password + "@" + uri.getHost(),
|
||||
uri.getPort(), uri.getPath());
|
||||
|
||||
|
||||
connection = (HttpURLConnection) url.openConnection();
|
||||
connection.setRequestMethod("POST");
|
||||
connection.setDoOutput(true);
|
||||
|
||||
|
||||
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)
|
||||
{
|
||||
// MalformedURLException - uri is already checked
|
||||
// ProtocolException - POST is correct method type
|
||||
// IOException -HTTPURLConnection constructor actually
|
||||
// IOException -HTTPURLConnection constructor actually
|
||||
// does never throw this exception.
|
||||
logger.log(Component.IPP, "Unexpected IOException", e);
|
||||
}
|
||||
|
||||
|
||||
logger.log(Component.IPP, "[IppConnection] Host: " + uri.getHost()
|
||||
+ " Port: " + uri.getPort() + " Path: "
|
||||
+ uri.getPath());
|
||||
@@ -614,7 +614,7 @@ public class IppRequest
|
||||
/**
|
||||
* Synchronized method to be called by the constructor
|
||||
* to assign a unique request id to this request.
|
||||
*
|
||||
*
|
||||
* @return The unique request id.
|
||||
*/
|
||||
private synchronized int incrementRequestIdCounter()
|
||||
@@ -624,7 +624,7 @@ public class IppRequest
|
||||
|
||||
/**
|
||||
* Returns the id of this request.
|
||||
*
|
||||
*
|
||||
* @return The request ID.
|
||||
*/
|
||||
public int getRequestID()
|
||||
@@ -632,11 +632,11 @@ public class IppRequest
|
||||
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
|
||||
* instead of the alternative byte array possibility.
|
||||
*
|
||||
*
|
||||
* @param stream the input stream to use for the data.
|
||||
*/
|
||||
public void setData(InputStream stream)
|
||||
@@ -644,11 +644,11 @@ public class IppRequest
|
||||
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[]
|
||||
* instead of the alternative input stream possibility.
|
||||
*
|
||||
*
|
||||
* @param bytes the byte[] to use for the data.
|
||||
*/
|
||||
public void setData(byte[] bytes)
|
||||
@@ -658,7 +658,7 @@ public class IppRequest
|
||||
|
||||
/**
|
||||
* Sets the operation id for this request.
|
||||
*
|
||||
*
|
||||
* @param id the operation id.
|
||||
*/
|
||||
public void setOperationID(short id)
|
||||
@@ -668,7 +668,7 @@ public class IppRequest
|
||||
|
||||
/**
|
||||
* Adds the default values for the operation
|
||||
* attributes "attributes-charset" and
|
||||
* attributes "attributes-charset" and
|
||||
* "attributes-natural-language"
|
||||
*/
|
||||
public void setOperationAttributeDefaults()
|
||||
@@ -679,64 +679,64 @@ public class IppRequest
|
||||
operationAttributes.add(AttributesCharset.UTF8);
|
||||
operationAttributes.add(AttributesNaturalLanguage.EN);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Add the job attribute of this request to the given
|
||||
* attribute set.
|
||||
*
|
||||
*
|
||||
* @param attribute the job attribute.
|
||||
*/
|
||||
public void addJobAttribute(Attribute attribute)
|
||||
{
|
||||
if (jobAttributes == null)
|
||||
jobAttributes = new HashAttributeSet();
|
||||
|
||||
|
||||
jobAttributes.add(attribute);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the printer attribute of this request to the given
|
||||
* attribute set.
|
||||
*
|
||||
*
|
||||
* @param attribute the printer attribute.
|
||||
*/
|
||||
public void addPrinterAttributes(Attribute attribute)
|
||||
{
|
||||
if (printerAttributes == null)
|
||||
printerAttributes = new HashAttributeSet();
|
||||
|
||||
|
||||
printerAttributes.add(attribute);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the given attribute to the operation attributes set.
|
||||
*
|
||||
*
|
||||
* @param attribute the operation attribute to add.
|
||||
*/
|
||||
public void addOperationAttribute(Attribute attribute)
|
||||
{
|
||||
if (operationAttributes == null)
|
||||
operationAttributes = new HashAttributeSet();
|
||||
|
||||
|
||||
operationAttributes.add(attribute);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Filters from the given attribute set the job operation out
|
||||
* and adds them to the operation attributes set.
|
||||
*
|
||||
*
|
||||
* @param set the attributes to filter, may not be <code>null</code>.
|
||||
*/
|
||||
public void addAndFilterJobOperationAttributes(AttributeSet set)
|
||||
{
|
||||
if (operationAttributes == null)
|
||||
operationAttributes = new HashAttributeSet();
|
||||
|
||||
|
||||
// document-natural-language - not defined in JPS attributes
|
||||
// document-format - specified outside, special treatment
|
||||
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)
|
||||
|| tmp[i].getCategory().equals(Fidelity.class)
|
||||
|| tmp[i].getCategory().equals(JobImpressions.class)
|
||||
@@ -745,27 +745,27 @@ public class IppRequest
|
||||
|| tmp[i].getCategory().equals(Compression.class)
|
||||
|| tmp[i].getCategory().equals(DocumentName.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
|
||||
* out and adds them to the job attributes set.
|
||||
*
|
||||
*
|
||||
* @param set the attributes to filter, may not be <code>null</code>.
|
||||
*/
|
||||
public void addAndFilterJobTemplateAttributes(AttributeSet set)
|
||||
{
|
||||
if (jobAttributes == null)
|
||||
jobAttributes = new HashAttributeSet();
|
||||
|
||||
|
||||
// document-natural-language - not defined in JPS attributes
|
||||
// document-format - specified outside, special treatment
|
||||
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)
|
||||
|| tmp[i].getCategory().equals(JobHoldUntil.class)
|
||||
|| tmp[i].getCategory().equals(JobSheets.class)
|
||||
@@ -780,67 +780,67 @@ public class IppRequest
|
||||
|| tmp[i].getCategory().equals(PrintQuality.class)
|
||||
|| tmp[i].getCategory().equals(SheetCollate.class)
|
||||
|| tmp[i].getCategory().equals(Sides.class))
|
||||
|
||||
jobAttributes.add(tmp[i]);
|
||||
}
|
||||
|
||||
jobAttributes.add(tmp[i]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Does some validation of the supplied parameters and then
|
||||
* sends the request to the ipp server or service.
|
||||
*
|
||||
*
|
||||
* @return The response if any.
|
||||
*
|
||||
*
|
||||
* @throws IllegalStateException if request is already sent
|
||||
* @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
|
||||
{
|
||||
if (alreadySent)
|
||||
throw new IllegalStateException("Request is already sent");
|
||||
|
||||
|
||||
alreadySent = true;
|
||||
|
||||
OutputStream stream = connection.getOutputStream();
|
||||
|
||||
OutputStream stream = connection.getOutputStream();
|
||||
DataOutputStream out = new DataOutputStream(stream);
|
||||
|
||||
|
||||
// the header 8 bytes long
|
||||
out.writeShort(VERSION);
|
||||
out.writeShort(operation_id);
|
||||
out.writeInt(request_id);
|
||||
|
||||
logger.log(Component.IPP, "OperationID: " + Integer.toHexString(operation_id)
|
||||
+ " RequestID: " + request_id);
|
||||
|
||||
|
||||
logger.log(Component.IPP, "OperationID: " + Integer.toHexString(operation_id)
|
||||
+ " RequestID: " + request_id);
|
||||
|
||||
// Pass stuff the the attribute writer which knows how to
|
||||
// write the attributes in correct order
|
||||
logger.log(Component.IPP, "Operation Attributes");
|
||||
|
||||
|
||||
RequestWriter writer = new RequestWriter(out);
|
||||
writer.writeOperationAttributes(operationAttributes);
|
||||
|
||||
writer.writeOperationAttributes(operationAttributes);
|
||||
|
||||
if (jobAttributes != null)
|
||||
{
|
||||
logger.log(Component.IPP, "Job Attributes");
|
||||
out.write(IppDelimiterTag.JOB_ATTRIBUTES_TAG);
|
||||
writer.writeAttributes(jobAttributes);
|
||||
}
|
||||
}
|
||||
if (printerAttributes != null)
|
||||
{
|
||||
logger.log(Component.IPP, "Printer Attributes");
|
||||
out.write(IppDelimiterTag.PRINTER_ATTRIBUTES_TAG);
|
||||
writer.writeAttributes(printerAttributes);
|
||||
}
|
||||
}
|
||||
|
||||
// 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
|
||||
if (data instanceof InputStream)
|
||||
{
|
||||
byte[] readbuf = new byte[2048];
|
||||
int len = 0;
|
||||
int len = 0;
|
||||
while( (len = ((InputStream) data).read(readbuf)) > 0)
|
||||
out.write(readbuf, 0, len);
|
||||
}
|
||||
@@ -848,27 +848,27 @@ public class IppRequest
|
||||
{
|
||||
out.write((byte[]) data);
|
||||
}
|
||||
|
||||
|
||||
out.flush();
|
||||
stream.flush();
|
||||
|
||||
stream.flush();
|
||||
|
||||
// Set the connection timeout, for if the printer is offline.
|
||||
// FIXME: The print services polling should probably be done in its
|
||||
// own thread.
|
||||
connection.setConnectTimeout( timeout );
|
||||
|
||||
int responseCode = connection.getResponseCode();
|
||||
|
||||
|
||||
if (responseCode == HttpURLConnection.HTTP_OK)
|
||||
{
|
||||
IppResponse response = new IppResponse(requestUri, operation_id);
|
||||
response.setResponseData(connection.getInputStream());
|
||||
{
|
||||
IppResponse response = new IppResponse(requestUri, operation_id);
|
||||
response.setResponseData(connection.getInputStream());
|
||||
return response;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* IppResponse.java --
|
||||
/* IppResponse.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -99,9 +99,9 @@ import javax.print.attribute.standard.PrinterStateReasons;
|
||||
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.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public class IppResponse
|
||||
@@ -112,7 +112,7 @@ public class IppResponse
|
||||
* response stream. It provides access to the attribute groups after parsing
|
||||
* via getter methods.
|
||||
* <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):
|
||||
* <ul>
|
||||
* <li>version-number - 2 bytes - required</li>
|
||||
@@ -122,19 +122,19 @@ public class IppResponse
|
||||
* <li>end-of-attributes-tag - 1 byte - required</li>
|
||||
* <li>data - q bytes - optional</li>
|
||||
* </ul>
|
||||
* </p><p>
|
||||
* </p><p>
|
||||
* Where each attribute-group (if any) is encoded as follows:
|
||||
* <ul>
|
||||
* <li>begin-attribute-group-tag - 1 byte</li>
|
||||
* <li>attribute - p bytes - 0 or more</li>
|
||||
* </ul>
|
||||
* </p><p>
|
||||
* </p><p>
|
||||
* Encoding of attributes:
|
||||
* <ul>
|
||||
* <li>attribute-with-one-value - q bytes</li>
|
||||
* <li>additional-value - r bytes - 0 or more</li>
|
||||
* </ul>
|
||||
* </p><p>
|
||||
* </p><p>
|
||||
* Encoding of attribute-with-one-value:
|
||||
* <ul>
|
||||
* <li>value-tag - 1 byte</li>
|
||||
@@ -143,7 +143,7 @@ public class IppResponse
|
||||
* <li>value-length (value is v) - 2 bytes</li>
|
||||
* <li>value - v bytes</li>
|
||||
* </ul>
|
||||
* </p><p>
|
||||
* </p><p>
|
||||
* Encoding of additional value:
|
||||
* <ul>
|
||||
* <li>value-tag - 1 byte</li>
|
||||
@@ -152,21 +152,21 @@ public class IppResponse
|
||||
* <li>value - w bytes</li>
|
||||
* </ul>
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
class ResponseReader
|
||||
{
|
||||
/** The IPP version defaults to 1.1 */
|
||||
private static final short VERSION = 0x0101;
|
||||
|
||||
|
||||
/**
|
||||
* Parses the inputstream containing the response of the IPP request.
|
||||
* @param input the inputstream
|
||||
* @throws IppException if unexpected exceptions occur.
|
||||
* @throws IOException if IO problems with the underlying inputstream occur.
|
||||
*/
|
||||
public void parseResponse(InputStream input)
|
||||
public void parseResponse(InputStream input)
|
||||
throws IppException, IOException
|
||||
{
|
||||
DataInputStream stream = new DataInputStream(input);
|
||||
@@ -179,12 +179,12 @@ public class IppResponse
|
||||
throw new IppException("Version mismatch - "
|
||||
+ "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);
|
||||
|
||||
byte tag = 0;
|
||||
boolean proceed = true;
|
||||
HashMap tmp;
|
||||
HashMap<Class<? extends Attribute>, Set<Attribute>> tmp;
|
||||
// iterate over attribute-groups until end-of-attributes-tag is found
|
||||
while (proceed)
|
||||
{
|
||||
@@ -200,23 +200,23 @@ public class IppResponse
|
||||
proceed = false;
|
||||
break;
|
||||
case IppDelimiterTag.OPERATION_ATTRIBUTES_TAG:
|
||||
tmp = new HashMap();
|
||||
tmp = new HashMap<Class<? extends Attribute>, Set<Attribute>>();
|
||||
tag = parseAttributes(tmp, stream);
|
||||
operationAttributes.add(tmp);
|
||||
break;
|
||||
case IppDelimiterTag.JOB_ATTRIBUTES_TAG:
|
||||
tmp = new HashMap();
|
||||
tmp = new HashMap<Class<? extends Attribute>, Set<Attribute>>();
|
||||
tag = parseAttributes(tmp, stream);
|
||||
jobAttributes.add(tmp);
|
||||
break;
|
||||
case IppDelimiterTag.PRINTER_ATTRIBUTES_TAG:
|
||||
tmp = new HashMap();
|
||||
tmp = new HashMap<Class<? extends Attribute>, Set<Attribute>>();
|
||||
tag = parseAttributes(tmp, stream);
|
||||
printerAttributes.add(tmp);
|
||||
break;
|
||||
case IppDelimiterTag.UNSUPPORTED_ATTRIBUTES_TAG:
|
||||
System.out.println("Called");
|
||||
tmp = new HashMap();
|
||||
tmp = new HashMap<Class<? extends Attribute>, Set<Attribute>>();
|
||||
tag = parseAttributes(tmp, stream);
|
||||
unsupportedAttributes.add(tmp);
|
||||
break;
|
||||
@@ -247,7 +247,8 @@ public class IppResponse
|
||||
* @throws IppException if unexpected exceptions 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
|
||||
{
|
||||
Attribute lastAttribute = null;
|
||||
@@ -294,7 +295,7 @@ public class IppResponse
|
||||
|
||||
// (4) The value itself
|
||||
value = new byte[valueLength];
|
||||
stream.read(value);
|
||||
stream.read(value);
|
||||
|
||||
// the value itself
|
||||
switch (tag)
|
||||
@@ -304,12 +305,12 @@ public class IppResponse
|
||||
case IppValueTag.UNKNOWN:
|
||||
// TODO implement out-of-band handling
|
||||
// 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);
|
||||
case IppValueTag.NO_VALUE:
|
||||
attribute = null;
|
||||
attribute = null;
|
||||
|
||||
break;
|
||||
break;
|
||||
case IppValueTag.INTEGER:
|
||||
int intValue = IppUtilities.convertToInt(value);
|
||||
attribute = IppUtilities.getIntegerAttribute(name, intValue);
|
||||
@@ -319,11 +320,11 @@ public class IppResponse
|
||||
// JPS API models boolean syntax type as enums
|
||||
// 0x01 = true, 0x00 = false - all are enums
|
||||
attribute = IppUtilities.getEnumAttribute(name, new Integer(value[0]));
|
||||
|
||||
|
||||
break;
|
||||
case IppValueTag.ENUM:
|
||||
int intVal = IppUtilities.convertToInt(value);
|
||||
attribute = IppUtilities.getEnumAttribute(name, new Integer(intVal));
|
||||
int intVal = IppUtilities.convertToInt(value);
|
||||
attribute = IppUtilities.getEnumAttribute(name, new Integer(intVal));
|
||||
|
||||
break;
|
||||
case IppValueTag.OCTECTSTRING_UNSPECIFIED:
|
||||
@@ -347,7 +348,7 @@ public class IppResponse
|
||||
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 units = value[8];
|
||||
|
||||
|
||||
if (name.equals("printer-resolution-default"))
|
||||
attribute = new PrinterResolutionDefault(crossFeed, feed, units);
|
||||
else if (name.equals("printer-resolution-supported")) // may be here also
|
||||
@@ -362,7 +363,7 @@ public class IppResponse
|
||||
attribute = new CopiesSupported(lower, upper);
|
||||
else if (name.equals("number-up-supported"))
|
||||
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);
|
||||
else if (name.equals("job-impressions-supported"))
|
||||
attribute = new JobImpressionsSupported(lower, upper);
|
||||
@@ -375,19 +376,19 @@ public class IppResponse
|
||||
case IppValueTag.NAME_WITH_LANGUAGE:
|
||||
case IppValueTag.NAME_WITHOUT_LANGUAGE:
|
||||
attribute = IppUtilities.getTextAttribute(name, tag, value);
|
||||
|
||||
|
||||
break;
|
||||
case IppValueTag.KEYWORD:
|
||||
str = new String(value);
|
||||
if (name.equals("job-hold-until-supported")) // may also be name type
|
||||
attribute = new JobHoldUntilSupported(str, null);
|
||||
else if (name.equals("job-hold-until-default"))
|
||||
attribute = new JobHoldUntilDefault(str, null);
|
||||
attribute = new JobHoldUntilDefault(str, null);
|
||||
else if (name.equals("media-supported"))
|
||||
attribute = new MediaSupported(str, null);
|
||||
else if (name.equals("media-default"))
|
||||
attribute = new MediaDefault(str, null);
|
||||
else if (name.equals("job-sheets-default"))
|
||||
attribute = new MediaDefault(str, null);
|
||||
else if (name.equals("job-sheets-default"))
|
||||
attribute = new JobSheetsDefault(str, null);
|
||||
else if (name.equals("job-sheets-supported"))
|
||||
attribute = new JobSheetsSupported(str, null);
|
||||
@@ -397,13 +398,13 @@ public class IppResponse
|
||||
attribute = parsePrinterStateReasons(value, lastAttribute);
|
||||
else
|
||||
attribute = IppUtilities.getEnumAttribute(name, str);
|
||||
|
||||
// all other stuff is either an enum or needs to be mapped to an
|
||||
// UnknownAttribute instance. Enums catched here are:
|
||||
|
||||
// all other stuff is either an enum or needs to be mapped to an
|
||||
// UnknownAttribute instance. Enums catched here are:
|
||||
// ipp-versions-supported, pdl-override-supported, compression-supported
|
||||
// uri-authentication-supported, uri-security-supported, sides-supported
|
||||
// sides-default, multiple-document-handling-supported, multiple-document-handling-default
|
||||
|
||||
|
||||
break;
|
||||
case IppValueTag.URI:
|
||||
try
|
||||
@@ -429,13 +430,13 @@ public class IppResponse
|
||||
attribute = new PrinterDriverInstaller(uri);
|
||||
else if (name.equals("printer-more-info-manufacturer"))
|
||||
attribute = new PrinterMoreInfoManufacturer(uri);
|
||||
|
||||
|
||||
break;
|
||||
case IppValueTag.URI_SCHEME:
|
||||
// only one uri-scheme exists - and its an enum
|
||||
if (name.equals("reference-uri-schemes-supported"))
|
||||
attribute = IppUtilities.getEnumAttribute(name, new String(value));
|
||||
|
||||
|
||||
break;
|
||||
case IppValueTag.CHARSET:
|
||||
str = new String(value);
|
||||
@@ -445,7 +446,7 @@ public class IppResponse
|
||||
attribute = new CharsetConfigured(str);
|
||||
else if (name.equals("charset-supported")) // setOf
|
||||
attribute = new CharsetSupported(str);
|
||||
|
||||
|
||||
break;
|
||||
case IppValueTag.NATURAL_LANGUAGE:
|
||||
str = new String(value);
|
||||
@@ -455,7 +456,7 @@ public class IppResponse
|
||||
attribute = new NaturalLanguageConfigured(str);
|
||||
else if (name.equals("generated-natural-language-supported")) // setOf
|
||||
attribute = new GeneratedNaturalLanguageSupported(str);
|
||||
|
||||
|
||||
break;
|
||||
case IppValueTag.MIME_MEDIA_TYPE:
|
||||
str = new String(value);
|
||||
@@ -465,7 +466,7 @@ public class IppResponse
|
||||
attribute = new DocumentFormatSupported(str, null);
|
||||
else if (name.equals("document-format")) // setOf
|
||||
attribute = new DocumentFormat(str, null);
|
||||
|
||||
|
||||
break;
|
||||
default:
|
||||
throw new IppException("Unknown tag with value "
|
||||
@@ -473,11 +474,11 @@ public class IppResponse
|
||||
}
|
||||
|
||||
if (attribute == null)
|
||||
attribute = new UnknownAttribute(tag, name, value);
|
||||
|
||||
attribute = new UnknownAttribute(tag, name, value);
|
||||
|
||||
addAttribute(attributes, attribute);
|
||||
lastAttribute = attribute;
|
||||
|
||||
|
||||
logger.log(Component.IPP, "Attribute: " + name
|
||||
+ " Value: " + attribute.toString());
|
||||
}
|
||||
@@ -492,20 +493,21 @@ public class IppResponse
|
||||
* @param attribute
|
||||
* 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();
|
||||
Set attributeValues = (Set) attributeGroup.get(clazz);
|
||||
Class<? extends Attribute> clazz = attribute.getCategory();
|
||||
Set<Attribute> attributeValues = attributeGroup.get(clazz);
|
||||
|
||||
if (attributeValues == null) // first attribute of this category
|
||||
{
|
||||
attributeValues = new HashSet();
|
||||
attributeValues = new HashSet<Attribute>();
|
||||
attributeGroup.put(clazz, attributeValues);
|
||||
}
|
||||
|
||||
attributeValues.add(attribute);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Parses a name with or without language attribute value from the byte[]
|
||||
* and returns the result as an object[].
|
||||
@@ -516,39 +518,39 @@ public class IppResponse
|
||||
private PrinterStateReasons parsePrinterStateReasons(byte[] value, Attribute lastAttr)
|
||||
{
|
||||
String str = new String(value);
|
||||
PrinterStateReasons attribute;
|
||||
|
||||
PrinterStateReasons attribute;
|
||||
|
||||
if (lastAttr instanceof PrinterStateReasons)
|
||||
attribute = (PrinterStateReasons) lastAttr;
|
||||
else
|
||||
attribute = new PrinterStateReasons();
|
||||
|
||||
|
||||
// special case indicating no reasons
|
||||
if (str.equals("none"))
|
||||
if (str.equals("none"))
|
||||
return attribute;
|
||||
|
||||
|
||||
Severity severity = null;
|
||||
PrinterStateReason reason = null;
|
||||
|
||||
|
||||
if (str.endsWith(Severity.WARNING.toString()))
|
||||
severity = Severity.WARNING;
|
||||
else if (str.endsWith(Severity.REPORT.toString()))
|
||||
severity = Severity.REPORT;
|
||||
else if (str.endsWith(Severity.ERROR.toString()))
|
||||
severity = Severity.ERROR;
|
||||
|
||||
|
||||
if (severity != null)
|
||||
str = str.substring(0, str.lastIndexOf('-'));
|
||||
else // we must associate a severity
|
||||
str = str.substring(0, str.lastIndexOf('-'));
|
||||
else // we must associate a severity
|
||||
severity = Severity.REPORT;
|
||||
|
||||
reason = (PrinterStateReason)
|
||||
|
||||
reason = (PrinterStateReason)
|
||||
IppUtilities.getEnumAttribute("printer-state-reason", str);
|
||||
|
||||
|
||||
attribute.put(reason , severity);
|
||||
return attribute;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Parses a name with or without language attribute value from the byte[]
|
||||
* and returns the result as an object[].
|
||||
@@ -559,24 +561,24 @@ public class IppResponse
|
||||
private JobStateReasons parseJobStateReasons(byte[] value, Attribute lastAttr)
|
||||
{
|
||||
String str = new String(value);
|
||||
JobStateReasons attribute;
|
||||
|
||||
JobStateReasons attribute;
|
||||
|
||||
if (lastAttr instanceof JobStateReasons)
|
||||
attribute = (JobStateReasons) lastAttr;
|
||||
else
|
||||
attribute = new JobStateReasons();
|
||||
|
||||
|
||||
// special case indicating no reasons
|
||||
if (str.equals("none"))
|
||||
if (str.equals("none"))
|
||||
return attribute;
|
||||
|
||||
JobStateReason reason = (JobStateReason)
|
||||
|
||||
JobStateReason reason = (JobStateReason)
|
||||
IppUtilities.getEnumAttribute("job-state-reason", str);
|
||||
|
||||
|
||||
attribute.add(reason);
|
||||
return attribute;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Parses a DateTime syntax attribute and returns the constructed Date
|
||||
* object.
|
||||
@@ -597,7 +599,7 @@ public class IppResponse
|
||||
* <li>10 | 11 | minutes from UTC | 0..59</li>
|
||||
* </ul>
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @param value the byte[]
|
||||
* @return The date object.
|
||||
*/
|
||||
@@ -625,28 +627,28 @@ public class IppResponse
|
||||
return cal.getTime();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Logger for tracing - enable by passing
|
||||
* -Dgnu.classpath.debug.components=ipp to the vm.
|
||||
*/
|
||||
static final Logger logger = SystemLogger.SYSTEM;
|
||||
|
||||
|
||||
URI uri;
|
||||
short operation_id;
|
||||
short status_code;
|
||||
int request_id;
|
||||
|
||||
List operationAttributes;
|
||||
List printerAttributes;
|
||||
List jobAttributes;
|
||||
List unsupportedAttributes;
|
||||
List<Map<Class<? extends Attribute>, Set<Attribute>>> operationAttributes;
|
||||
List<Map<Class<? extends Attribute>, Set<Attribute>>> printerAttributes;
|
||||
List<Map<Class<? extends Attribute>, Set<Attribute>>> jobAttributes;
|
||||
List<Map<Class<? extends Attribute>, Set<Attribute>>> unsupportedAttributes;
|
||||
|
||||
byte[] data;
|
||||
|
||||
/**
|
||||
* Creates an <code>IppResponse</code> instance.
|
||||
*
|
||||
*
|
||||
* @param uri the uri the request was directy to.
|
||||
* @param operation_id the operation id of the request.
|
||||
*/
|
||||
@@ -654,15 +656,19 @@ public class IppResponse
|
||||
{
|
||||
this.uri = uri;
|
||||
this.operation_id = operation_id;
|
||||
operationAttributes = new ArrayList();
|
||||
jobAttributes = new ArrayList();
|
||||
printerAttributes = new ArrayList();
|
||||
unsupportedAttributes = new ArrayList();
|
||||
operationAttributes =
|
||||
new ArrayList<Map<Class<? extends Attribute>, Set<Attribute>>>();
|
||||
jobAttributes =
|
||||
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.
|
||||
*
|
||||
*
|
||||
* @param input the input stream received.
|
||||
* @throws IppException if parsing fails.
|
||||
*/
|
||||
@@ -703,10 +709,10 @@ public class IppResponse
|
||||
* Returns the set of job attributes group maps.
|
||||
* 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.
|
||||
*
|
||||
* @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;
|
||||
}
|
||||
@@ -715,10 +721,10 @@ public class IppResponse
|
||||
* Returns the set of operation attributes group maps.
|
||||
* 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.
|
||||
*
|
||||
* @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;
|
||||
}
|
||||
@@ -727,17 +733,17 @@ public class IppResponse
|
||||
* Returns the set of printer attributes group maps.
|
||||
* 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.
|
||||
*
|
||||
* @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;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the ID of the initial request.
|
||||
*
|
||||
*
|
||||
* @return The request ID.
|
||||
*/
|
||||
public int getRequestID()
|
||||
@@ -748,7 +754,7 @@ public class IppResponse
|
||||
/**
|
||||
* Returns the status code of the response.
|
||||
* Defined in {@link IppStatusCode}.
|
||||
*
|
||||
*
|
||||
* @return The status code.
|
||||
*/
|
||||
public short getStatusCode()
|
||||
@@ -760,17 +766,17 @@ public class IppResponse
|
||||
* Returns the set of unsupported attributes group maps.
|
||||
* 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.
|
||||
*
|
||||
* @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;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the data of the response.
|
||||
*
|
||||
*
|
||||
* @return The data as byte[].
|
||||
*/
|
||||
public byte[] getData()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* IppStatusCode.java --
|
||||
/* IppStatusCode.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -39,20 +39,20 @@
|
||||
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)
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class IppStatusCode
|
||||
{
|
||||
/**
|
||||
* Indicates a successful request with no attributes being
|
||||
* ignored or substituted.
|
||||
{
|
||||
/**
|
||||
* Indicates a successful request with no attributes being
|
||||
* ignored or substituted.
|
||||
*/
|
||||
public static final int SUCCESSFUL_OK = 0x0000;
|
||||
|
||||
/**
|
||||
/**
|
||||
* Indicates a successful request, however some of the supplied
|
||||
* attributes are ignored or substituted.
|
||||
*/
|
||||
@@ -67,7 +67,7 @@ public final class IppStatusCode
|
||||
// Client Error Status Codes
|
||||
// Indicates that the client has done something wrong in its
|
||||
// requests send to the IPP server object
|
||||
|
||||
|
||||
/** Indicates a bad request e.g. malformed syntax. */
|
||||
public static final int CLIENT_ERROR_BAD_REQUEST = 0x0400;
|
||||
|
||||
@@ -80,9 +80,9 @@ public final class IppStatusCode
|
||||
/** Indicates that the client is not authorized. */
|
||||
public static final int CLIENT_ERROR_NOT_AUTHORIZED = 0x0403;
|
||||
|
||||
/**
|
||||
/**
|
||||
* 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;
|
||||
|
||||
@@ -106,16 +106,16 @@ public final class IppStatusCode
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
public static final int CLIENT_ERROR_ATTRIBUTES_OR_VALUES_NOT_SUPPORTED
|
||||
public static final int CLIENT_ERROR_ATTRIBUTES_OR_VALUES_NOT_SUPPORTED
|
||||
= 0x040B;
|
||||
|
||||
/**
|
||||
/**
|
||||
* Indicates the the URI scheme in a supplied print-uri or send-uri attribute
|
||||
* is not supported.
|
||||
*/
|
||||
*/
|
||||
public static final int CLIENT_ERROR_URI_SCHEME_NOT_SUPPORTED = 0x040C;
|
||||
|
||||
/** 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. */
|
||||
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.
|
||||
*/
|
||||
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. */
|
||||
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.
|
||||
*/
|
||||
public static final int CLIENT_ERROR_DOCUMENT_ACCESS_ERROR = 0x0412;
|
||||
|
||||
|
||||
|
||||
/** Indicates an internal server error. */
|
||||
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. */
|
||||
public static final int SERVER_ERROR_NOT_ACCEPTING_JOBS = 0x0506;
|
||||
|
||||
/**
|
||||
/**
|
||||
* Indicates that the server is currently busy with processing.
|
||||
* Requests may be tried later again.
|
||||
*/
|
||||
@@ -174,11 +174,11 @@ public final class IppStatusCode
|
||||
public static final int SERVER_ERROR_JOB_CANCELED = 0x0508;
|
||||
|
||||
/** 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;
|
||||
|
||||
private IppStatusCode()
|
||||
{
|
||||
{
|
||||
// not to be instantiated
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* IppUtilities.java --
|
||||
/* IppUtilities.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
* the actual class object. Used to construct objects via reflection.
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class IppUtilities
|
||||
{
|
||||
// These are reused in the reflection code to not instantiate an array everytime
|
||||
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 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
|
||||
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
|
||||
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
|
||||
*/
|
||||
static
|
||||
{
|
||||
// enums
|
||||
// enums
|
||||
classesByName.put(JobState.ABORTED.getName(), JobState.class);
|
||||
classesByName.put(Sides.DUPLEX.getName(), Sides.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(PrinterState.IDLE.getName(), PrinterState.class);
|
||||
classesByName.put(SidesDefault.ONE_SIDED.getName(), SidesDefault.class);
|
||||
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(),
|
||||
classesByName.put(ReferenceUriSchemesSupported.FILE.getName(),
|
||||
ReferenceUriSchemesSupported.class);
|
||||
|
||||
// the boolean types
|
||||
classesByName.put(ColorSupported.SUPPORTED.getName(), ColorSupported.class);
|
||||
classesByName.put(PrinterIsAcceptingJobs.ACCEPTING_JOBS.getName(),
|
||||
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);
|
||||
|
||||
// the boolean types
|
||||
classesByName.put(ColorSupported.SUPPORTED.getName(), ColorSupported.class);
|
||||
classesByName.put(PrinterIsAcceptingJobs.ACCEPTING_JOBS.getName(),
|
||||
PrinterIsAcceptingJobs.class);
|
||||
classesByName.put(MultipleDocumentJobsSupported.SUPPORTED.getName(),
|
||||
classesByName.put(MultipleDocumentJobsSupported.SUPPORTED.getName(),
|
||||
MultipleDocumentJobsSupported.class);
|
||||
classesByName.put(PageRangesSupported.SUPPORTED.getName(),
|
||||
classesByName.put(PageRangesSupported.SUPPORTED.getName(),
|
||||
PageRangesSupported.class);
|
||||
|
||||
|
||||
// TextSyntax derived attributes
|
||||
classesByName.put("media-default", MediaDefault.class);
|
||||
classesByName.put("media-default", MediaDefault.class);
|
||||
classesByName.put("media-supported", MediaSupported.class);
|
||||
classesByName.put("media", MediaSizeName.class);
|
||||
classesByName.put("printer-location", PrinterLocation.class);
|
||||
classesByName.put("printer-info", PrinterInfo.class);
|
||||
classesByName.put("printer-make-and-model", PrinterMakeAndModel.class);
|
||||
classesByName.put("media", MediaSizeName.class);
|
||||
classesByName.put("printer-location", PrinterLocation.class);
|
||||
classesByName.put("printer-info", PrinterInfo.class);
|
||||
classesByName.put("printer-make-and-model", PrinterMakeAndModel.class);
|
||||
classesByName.put("printer-state-message", PrinterStateMessage.class);
|
||||
classesByName.put("job-state-message", JobStateMessage.class);
|
||||
classesByName.put("job-sheets-default", JobSheetsDefault.class);
|
||||
classesByName.put("job-sheets-supported", JobSheetsSupported.class);
|
||||
classesByName.put("job-name", JobName.class);
|
||||
classesByName.put("printer-name", PrinterName.class);
|
||||
classesByName.put("status-message", StatusMessage.class);
|
||||
classesByName.put("detailed-status-message", DetailedStatusMessage.class);
|
||||
classesByName.put("document-access-error", DocumentAccessError.class);
|
||||
classesByName.put("output-device-assigned", OutputDeviceAssigned.class);
|
||||
classesByName.put("job-hold-until-default", JobHoldUntilDefault.class);
|
||||
classesByName.put("job-originating-user-name",
|
||||
JobOriginatingUserName.class);
|
||||
classesByName.put("job-hold-until-supported",
|
||||
classesByName.put("job-state-message", JobStateMessage.class);
|
||||
classesByName.put("job-sheets-default", JobSheetsDefault.class);
|
||||
classesByName.put("job-sheets-supported", JobSheetsSupported.class);
|
||||
classesByName.put("job-name", JobName.class);
|
||||
classesByName.put("printer-name", PrinterName.class);
|
||||
classesByName.put("status-message", StatusMessage.class);
|
||||
classesByName.put("detailed-status-message", DetailedStatusMessage.class);
|
||||
classesByName.put("document-access-error", DocumentAccessError.class);
|
||||
classesByName.put("output-device-assigned", OutputDeviceAssigned.class);
|
||||
classesByName.put("job-hold-until-default", JobHoldUntilDefault.class);
|
||||
classesByName.put("job-originating-user-name",
|
||||
JobOriginatingUserName.class);
|
||||
classesByName.put("job-hold-until-supported",
|
||||
JobHoldUntilSupported.class);
|
||||
classesByName.put("job-message-from-operator",
|
||||
JobMessageFromOperator.class);
|
||||
classesByName.put("printer-message-from-operator",
|
||||
PrinterMessageFromOperator.class);
|
||||
classesByName.put("job-detailed-status-messages",
|
||||
classesByName.put("job-message-from-operator",
|
||||
JobMessageFromOperator.class);
|
||||
classesByName.put("printer-message-from-operator",
|
||||
PrinterMessageFromOperator.class);
|
||||
classesByName.put("job-detailed-status-messages",
|
||||
JobDetailedStatusMessages.class);
|
||||
classesByName.put("job-document-access-errors",
|
||||
JobDocumentAccessErrors.class);
|
||||
|
||||
classesByName.put("job-document-access-errors",
|
||||
JobDocumentAccessErrors.class);
|
||||
|
||||
// IntegerSyntax derived Attributes
|
||||
classesByName.put("copies-default", CopiesDefault.class);
|
||||
classesByName.put("job-id", JobId.class);
|
||||
classesByName.put("copies-default", CopiesDefault.class);
|
||||
classesByName.put("job-id", JobId.class);
|
||||
classesByName.put("job-priority-supported", JobPrioritySupported.class);
|
||||
classesByName.put("job-priority-default", JobPriorityDefault.class);
|
||||
classesByName.put("number-up-supported", NumberUpSupported.class);
|
||||
classesByName.put("number-up-default", NumberUpDefault.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-color", PagesPerMinuteColor.class);
|
||||
classesByName.put("pages-per-minute-color", PagesPerMinuteColor.class);
|
||||
classesByName.put("job-k-octets-processed", JobKOctetsProcessed.class);
|
||||
classesByName.put("number-of-intervening-jobs",
|
||||
classesByName.put("number-of-intervening-jobs",
|
||||
NumberOfInterveningJobs.class);
|
||||
classesByName.put("job-impressions-completed",
|
||||
JobImpressionsCompleted.class);
|
||||
classesByName.put("job-media-sheets-completed",
|
||||
classesByName.put("job-impressions-completed",
|
||||
JobImpressionsCompleted.class);
|
||||
classesByName.put("job-media-sheets-completed",
|
||||
JobMediaSheetsCompleted.class);
|
||||
classesByName.put("multiple-operation-time-out",
|
||||
classesByName.put("multiple-operation-time-out",
|
||||
MultipleOperationTimeOut.class);
|
||||
|
||||
|
||||
|
||||
|
||||
// 4.2 job template attributes
|
||||
instanceByClass.put(JobPriority.class, new JobPrioritySupported(1));
|
||||
instanceByClass.put(JobHoldUntil.class, new JobHoldUntilSupported("", null));
|
||||
@@ -299,7 +301,7 @@ public final class IppUtilities
|
||||
// 4.4 printer attributes
|
||||
instanceByClass.put(Compression.class, CompressionSupported.COMPRESS);
|
||||
}
|
||||
|
||||
|
||||
private IppUtilities()
|
||||
{
|
||||
// not to be instantiated
|
||||
@@ -308,38 +310,38 @@ public final class IppUtilities
|
||||
/**
|
||||
* Returns the implementing class object for given
|
||||
* attribute name objects.
|
||||
*
|
||||
*
|
||||
* @param name the attribute name
|
||||
* @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.
|
||||
*
|
||||
*
|
||||
* @param clazz the standard 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.
|
||||
*
|
||||
*
|
||||
* @param clazz the standard 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.
|
||||
@@ -351,7 +353,7 @@ public final class IppUtilities
|
||||
return (((b[0] & 0xff) << 24) | ((b[1] & 0xff) << 16)
|
||||
| ((b[2] & 0xff) << 8) | (b[3] & 0xff));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Helper method to convert to an int.
|
||||
* @param b1 the 1th byte
|
||||
@@ -376,22 +378,22 @@ public final class IppUtilities
|
||||
{
|
||||
return (short) ((b1 << 8) | (b2 & 0xff));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Instantiates an <code>EnumSyntax</code> based attribute with the given IPP
|
||||
* name and the given value (Enums maybe int or String based).
|
||||
*
|
||||
*
|
||||
* @param name the attribute name of the subclass.
|
||||
* @param value the integer value of the specific enum.
|
||||
* @return The Attribute (a subclass of EnumSyntax)
|
||||
*/
|
||||
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
|
||||
if (attrClass == null)
|
||||
return null;
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
@@ -423,33 +425,33 @@ public final class IppUtilities
|
||||
{
|
||||
// should not happen, all fields are public
|
||||
}
|
||||
|
||||
|
||||
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.
|
||||
*
|
||||
*
|
||||
* @param name the attribute name of the subclass.
|
||||
* @param value the integer value
|
||||
* @return The Attribute (a subclass of IntegerSyntax)
|
||||
*/
|
||||
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
|
||||
if (attrClass == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
INTEGER_ATT_VALUE[0] = new Integer(value);
|
||||
Constructor c = attrClass.getDeclaredConstructor(INTEGER_CLASS_ARRAY);
|
||||
return (Attribute) c.newInstance(INTEGER_ATT_VALUE);
|
||||
INTEGER_ATT_VALUE[0] = Integer.valueOf(value);
|
||||
Constructor<?> c = attrClass.getDeclaredConstructor(INTEGER_CLASS_ARRAY);
|
||||
return (Attribute) c.newInstance(INTEGER_ATT_VALUE);
|
||||
}
|
||||
catch (SecurityException e)
|
||||
{
|
||||
@@ -471,21 +473,21 @@ public final class IppUtilities
|
||||
{
|
||||
// should not happen, all fields are public
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Instantiates an <code>TextSyntax</code> based attribute with the given
|
||||
* IPP name for the given text value (will be decoded).
|
||||
*
|
||||
*
|
||||
* @param name the attribute name of the subclass.
|
||||
* @param tag the tag defined in {@link IppValueTag}
|
||||
* @param value the byte[] value to be decoded based on the tag value.
|
||||
* @return The Attribute (a subclass of TextSyntax)
|
||||
*/
|
||||
public static Attribute getTextAttribute(String name, byte tag, byte[] value)
|
||||
{
|
||||
{
|
||||
// without language tag is rather easy - default locale
|
||||
if (tag == IppValueTag.NAME_WITHOUT_LANGUAGE
|
||||
|| tag == IppValueTag.TEXT_WITHOUT_LANGUAGE)
|
||||
@@ -504,7 +506,7 @@ public final class IppUtilities
|
||||
String language = new String(tmp);
|
||||
String text = new String(tmp2);
|
||||
Locale locale = null;
|
||||
|
||||
|
||||
if (language.length() > 2)
|
||||
locale = new Locale(language.substring(0, 2), language.substring(3));
|
||||
else
|
||||
@@ -512,18 +514,18 @@ public final class IppUtilities
|
||||
|
||||
TEXT_ATT_VALUE[0] = text;
|
||||
TEXT_ATT_VALUE[1] = locale;
|
||||
}
|
||||
|
||||
Class attrClass = getClass(name);
|
||||
|
||||
}
|
||||
|
||||
Class<?> attrClass = getClass(name);
|
||||
|
||||
// There might be unknown attributes we have no mapped class for
|
||||
if (attrClass == null)
|
||||
return null;
|
||||
|
||||
try
|
||||
{
|
||||
Constructor c = attrClass.getDeclaredConstructor(TEXT_CLASS_ARRAY);
|
||||
return (Attribute) c.newInstance(TEXT_ATT_VALUE);
|
||||
Constructor<?> c = attrClass.getDeclaredConstructor(TEXT_CLASS_ARRAY);
|
||||
return (Attribute) c.newInstance(TEXT_ATT_VALUE);
|
||||
}
|
||||
catch (SecurityException e)
|
||||
{
|
||||
@@ -545,7 +547,7 @@ public final class IppUtilities
|
||||
{
|
||||
// should not happen, all fields are public
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* IppValueTag.java --
|
||||
/* IppValueTag.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
* interger attribute). These value types are specified by the tag
|
||||
* 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.
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class IppValueTag
|
||||
{
|
||||
|
||||
{
|
||||
|
||||
/** Out of band value for unsupported attributes. */
|
||||
public static final byte UNSUPPORTED = 0x10;
|
||||
|
||||
|
||||
// 0x11 reserved for 'default' for definition in a future
|
||||
// IETF standards track document
|
||||
|
||||
// IETF standards track document
|
||||
|
||||
/** Out of band value for unknown attributes. */
|
||||
public static final byte UNKNOWN = 0x12;
|
||||
|
||||
|
||||
/** Out of band value for attribute without a value. */
|
||||
public static final byte NO_VALUE = 0x13;
|
||||
|
||||
|
||||
// 0x14-0x1F reserved for "out-of-band" values in future IETF
|
||||
// standards track documents.
|
||||
|
||||
|
||||
// 0x20 reserved for definition in a future IETF
|
||||
// standards track document
|
||||
|
||||
|
||||
/** Indicates a value of syntax type integer. */
|
||||
public static final byte INTEGER = 0x21;
|
||||
|
||||
|
||||
/** Indicates a value of syntax type boolean. */
|
||||
public static final byte BOOLEAN = 0x22;
|
||||
|
||||
|
||||
/** Indicates a value of syntax type enum (enumeration). */
|
||||
public static final byte ENUM = 0x23;
|
||||
|
||||
|
||||
// 0x24-0x2F reserved for integer types for definition in
|
||||
// future IETF standards track documents
|
||||
|
||||
/** Indicates a value of syntax type octect string. */
|
||||
public static final byte OCTECTSTRING_UNSPECIFIED = 0x30;
|
||||
|
||||
|
||||
/** Indicates a value of syntax type datetime. */
|
||||
public static final byte DATETIME = 0x31;
|
||||
|
||||
|
||||
/** Indicates a value of syntax type resolution. */
|
||||
public static final byte RESOLUTION = 0x32;
|
||||
|
||||
|
||||
/** Indicates a value of syntax type range of integers. */
|
||||
public static final byte RANGEOFINTEGER = 0x33;
|
||||
|
||||
|
||||
// 0x34 reserved for definition in a future IETF
|
||||
// standards track document
|
||||
|
||||
|
||||
/** Indicates a value of syntax type text with language. */
|
||||
public static final byte TEXT_WITH_LANGUAGE = 0x35;
|
||||
|
||||
|
||||
/** Indicates a value of syntax type name with language. */
|
||||
public static final byte NAME_WITH_LANGUAGE = 0x36;
|
||||
|
||||
|
||||
// 0x37-0x3F reserved for octetString type definitions in
|
||||
// future IETF standards track documents
|
||||
|
||||
// 0x40 reserved for definition in a future IETF
|
||||
// standards track document
|
||||
|
||||
|
||||
/** Indicates a value of syntax type text without language. */
|
||||
public static final byte TEXT_WITHOUT_LANGUAGE = 0x41;
|
||||
|
||||
|
||||
/** Indicates a value of syntax type name without language. */
|
||||
public static final byte NAME_WITHOUT_LANGUAGE = 0x42;
|
||||
|
||||
|
||||
// 0x43 reserved for definition in a future IETF
|
||||
// standards track document
|
||||
|
||||
|
||||
/** 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. */
|
||||
public static final byte URI = 0x45;
|
||||
|
||||
public static final byte URI = 0x45;
|
||||
|
||||
/** Indicates a value of syntax type URI scheme. */
|
||||
public static final byte URI_SCHEME = 0x46;
|
||||
|
||||
|
||||
/** 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. */
|
||||
public static final byte NATURAL_LANGUAGE =0x48;
|
||||
|
||||
public static final byte NATURAL_LANGUAGE =0x48;
|
||||
|
||||
/** Indicates a value of syntax type mime media. */
|
||||
public static final byte MIME_MEDIA_TYPE = 0x49;
|
||||
|
||||
@@ -145,15 +145,15 @@ public final class IppValueTag
|
||||
{
|
||||
// not to be instantiated;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Tests if given value corresponds to a
|
||||
* Tests if given value corresponds to a
|
||||
* value tag value.
|
||||
*
|
||||
*
|
||||
* @param value the value to test for
|
||||
* @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
|
||||
|| value == 0x21 || value == 0x22 || value == 0x23
|
||||
@@ -163,8 +163,8 @@ public final class IppValueTag
|
||||
|| value == 0x45 || value == 0x46 || value == 0x47
|
||||
|| value == 0x48 || value == 0x49 )
|
||||
return true;
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -45,18 +45,18 @@ import javax.print.PrintException;
|
||||
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.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public class MultiDocPrintJobImpl extends DocPrintJobImpl
|
||||
public class MultiDocPrintJobImpl extends DocPrintJobImpl
|
||||
implements MultiDocPrintJob
|
||||
{
|
||||
|
||||
/**
|
||||
* Constructor forwarding arguments to the super constructor.
|
||||
*
|
||||
*
|
||||
* @param service the print service instance.
|
||||
* @param user the user of this print service.
|
||||
* @param passwd the password of the user.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* CharsetSyntax.java --
|
||||
/* CharsetSyntax.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -41,7 +41,7 @@ package gnu.javax.print.ipp.attribute;
|
||||
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.
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
@@ -62,7 +62,7 @@ public abstract class CharsetSyntax implements Cloneable, Serializable
|
||||
{
|
||||
if (value == null)
|
||||
throw new NullPointerException("value may not be null");
|
||||
|
||||
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@@ -98,14 +98,14 @@ public abstract class CharsetSyntax implements Cloneable, Serializable
|
||||
if (! (obj instanceof CharsetSyntax))
|
||||
return false;
|
||||
|
||||
CharsetSyntax tmp = (CharsetSyntax) obj;
|
||||
CharsetSyntax tmp = (CharsetSyntax) obj;
|
||||
return value.equals(tmp.getValue());
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representing the object. The returned
|
||||
* string is the underlying text value of this object.
|
||||
*
|
||||
*
|
||||
* @return The string representation.
|
||||
*/
|
||||
public String toString()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* DefaultValueAttribute.java --
|
||||
/* DefaultValueAttribute.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -41,18 +41,18 @@ package gnu.javax.print.ipp.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
|
||||
* attribute name like: Name - > Name-default -> Name-supported.
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public interface DefaultValueAttribute extends Attribute
|
||||
{
|
||||
{
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this SupportedValuesAttribute enum.
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public Attribute getAssociatedAttribute();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* DetailedStatusMessage.java --
|
||||
/* DetailedStatusMessage.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -45,12 +45,12 @@ import javax.print.attribute.TextSyntax;
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class DetailedStatusMessage extends TextSyntax
|
||||
public final class DetailedStatusMessage extends TextSyntax
|
||||
implements Attribute
|
||||
{
|
||||
|
||||
@@ -74,7 +74,7 @@ public final class DetailedStatusMessage extends TextSyntax
|
||||
*
|
||||
* @return The class <code>DetailedStatusMessage</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return DetailedStatusMessage.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* DocumentAccessError.java --
|
||||
/* DocumentAccessError.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -45,12 +45,12 @@ import javax.print.attribute.TextSyntax;
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class DocumentAccessError extends TextSyntax
|
||||
public final class DocumentAccessError extends TextSyntax
|
||||
implements Attribute
|
||||
{
|
||||
|
||||
@@ -74,7 +74,7 @@ public final class DocumentAccessError extends TextSyntax
|
||||
*
|
||||
* @return The class <code>DocumentAccessError</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return DocumentAccessError.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* NaturalLanguageSyntax.java --
|
||||
/* NaturalLanguageSyntax.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -41,13 +41,13 @@ package gnu.javax.print.ipp.attribute;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <code>NaturalLanguageSyntax</code> is the abstract base class of all
|
||||
* attribute classes which provide a natural language (US-ASCII)
|
||||
* <code>NaturalLanguageSyntax</code> is the abstract base class of all
|
||||
* attribute classes which provide a natural language (US-ASCII)
|
||||
* string as value.
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public abstract class NaturalLanguageSyntax
|
||||
public abstract class NaturalLanguageSyntax
|
||||
implements Cloneable, Serializable
|
||||
{
|
||||
private final String value;
|
||||
@@ -64,7 +64,7 @@ public abstract class NaturalLanguageSyntax
|
||||
{
|
||||
if (value == null)
|
||||
throw new NullPointerException("value may not be null");
|
||||
|
||||
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@@ -100,14 +100,14 @@ public abstract class NaturalLanguageSyntax
|
||||
if (! (obj instanceof NaturalLanguageSyntax))
|
||||
return false;
|
||||
|
||||
NaturalLanguageSyntax tmp = (NaturalLanguageSyntax) obj;
|
||||
NaturalLanguageSyntax tmp = (NaturalLanguageSyntax) obj;
|
||||
return value.equals(tmp.getValue());
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representing the object. The returned
|
||||
* string is the underlying text value of this object.
|
||||
*
|
||||
*
|
||||
* @return The string representation.
|
||||
*/
|
||||
public String toString()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* RequestedAttributes.java --
|
||||
/* RequestedAttributes.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -48,15 +48,15 @@ import javax.print.attribute.Attribute;
|
||||
/**
|
||||
* <code>RequestedAttributes</code> specifies the requested
|
||||
* attributes in an IPP request operation.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
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.
|
||||
*
|
||||
* @param value the string for the ipp name
|
||||
@@ -67,29 +67,29 @@ public final class RequestedAttributes implements Attribute
|
||||
{
|
||||
if (value == null)
|
||||
throw new NullPointerException();
|
||||
|
||||
attributes = new ArrayList();
|
||||
|
||||
attributes = new ArrayList<String>();
|
||||
attributes.add(value);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Adds the IPP name value to the set.
|
||||
*
|
||||
*
|
||||
* @param value the string for the ipp name
|
||||
*/
|
||||
public void addValue(String value)
|
||||
{
|
||||
attributes.add(value);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the values.
|
||||
*
|
||||
*
|
||||
* @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.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return RequestedAttributes.class;
|
||||
}
|
||||
@@ -120,13 +120,13 @@ public final class RequestedAttributes implements Attribute
|
||||
public String toString()
|
||||
{
|
||||
CPStringBuilder b = new CPStringBuilder();
|
||||
|
||||
|
||||
if (attributes.size() > 0)
|
||||
b.append(attributes.get(0));
|
||||
|
||||
|
||||
for (int i=1; i < attributes.size(); i++)
|
||||
b.append(", " + attributes.get(i));
|
||||
|
||||
|
||||
return b.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* StatusMessage.java --
|
||||
/* StatusMessage.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -45,9 +45,9 @@ import javax.print.attribute.TextSyntax;
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
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.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return StatusMessage.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* UnknownAttribute.java --
|
||||
/* UnknownAttribute.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -49,7 +49,7 @@ import javax.print.attribute.Attribute;
|
||||
/**
|
||||
* UnknownAttribute holds all the parsed Attribute information.
|
||||
* It provides methods to get the value-tag, name and value.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
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.
|
||||
*
|
||||
* @param tag the value tag
|
||||
* @param tag the value tag
|
||||
* @param name the attribute name
|
||||
* @param value the byte[] with the value
|
||||
*/
|
||||
@@ -77,7 +77,7 @@ public final class UnknownAttribute implements Attribute
|
||||
*
|
||||
* @return The class <code>UnknownAttribute</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return UnknownAttribute.class;
|
||||
}
|
||||
@@ -91,18 +91,18 @@ public final class UnknownAttribute implements Attribute
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the value tag
|
||||
* @return The tag.
|
||||
*
|
||||
*
|
||||
* @see gnu.javax.print.ipp.IppValueTag
|
||||
*/
|
||||
public byte getValueTag()
|
||||
{
|
||||
return tag;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the name of the attribute.
|
||||
* @return The name.
|
||||
@@ -111,7 +111,7 @@ public final class UnknownAttribute implements Attribute
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the attribute value origin byte array.
|
||||
* @return The value.
|
||||
@@ -120,7 +120,7 @@ public final class UnknownAttribute implements Attribute
|
||||
{
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the attribute value decoded as String.
|
||||
* @return The value as String.
|
||||
@@ -129,7 +129,7 @@ public final class UnknownAttribute implements Attribute
|
||||
{
|
||||
return new String(value);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the attribute value decoded as int.
|
||||
* @return The value as int.
|
||||
@@ -138,7 +138,7 @@ public final class UnknownAttribute implements Attribute
|
||||
{
|
||||
return IppUtilities.convertToInt(value);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the attribute value decoded as an URI.
|
||||
* @return The value as URI.
|
||||
@@ -159,7 +159,7 @@ public final class UnknownAttribute implements Attribute
|
||||
* Provides a string representation for some default
|
||||
* tag types (e.g. int, rangeofinteger, string, uri).
|
||||
* For other more complex types "No conversion found."
|
||||
* is returned.
|
||||
* is returned.
|
||||
*/
|
||||
public String toString()
|
||||
{
|
||||
@@ -168,9 +168,9 @@ public final class UnknownAttribute implements Attribute
|
||||
case IppValueTag.INTEGER:
|
||||
return "" + getAttributeValueAsInt();
|
||||
case IppValueTag.RANGEOFINTEGER:
|
||||
int lower = IppUtilities.convertToInt(value[0], value[1],
|
||||
int lower = IppUtilities.convertToInt(value[0], value[1],
|
||||
value[2], value[3]);
|
||||
int upper = IppUtilities.convertToInt(value[4], value[5],
|
||||
int upper = IppUtilities.convertToInt(value[4], value[5],
|
||||
value[6], value[7]);
|
||||
return lower + "-" + upper;
|
||||
case IppValueTag.URI:
|
||||
@@ -186,5 +186,5 @@ public final class UnknownAttribute implements Attribute
|
||||
default:
|
||||
return "No conversion found.";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* CopiesDefault.java --
|
||||
/* CopiesDefault.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -46,13 +46,13 @@ import javax.print.attribute.standard.Copies;
|
||||
/**
|
||||
* <code>CopiesDefault</code> provides the default value
|
||||
* for the copies attribute.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class CopiesDefault extends IntegerSyntax
|
||||
implements DefaultValueAttribute
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* Creates a <code>CopiesDefault</code> object.
|
||||
*
|
||||
@@ -67,13 +67,13 @@ public final class CopiesDefault extends IntegerSyntax
|
||||
if (value < 1)
|
||||
throw new IllegalArgumentException("value may not be less than 1");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Tests if the given object is equal to this object.
|
||||
*
|
||||
* @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.
|
||||
*/
|
||||
public boolean equals(Object obj)
|
||||
@@ -89,7 +89,7 @@ public final class CopiesDefault extends IntegerSyntax
|
||||
*
|
||||
* @return The class <code>CopiesDefault</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return CopiesDefault.class;
|
||||
}
|
||||
@@ -103,15 +103,15 @@ public final class CopiesDefault extends IntegerSyntax
|
||||
{
|
||||
return "copies-default";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this DefaultValuesAttribute enum.
|
||||
* <p>May return null if no value exists in JPS API.</p>
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public Attribute getAssociatedAttribute()
|
||||
public Attribute getAssociatedAttribute()
|
||||
{
|
||||
return new Copies(getValue());
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* DocumentFormatDefault.java --
|
||||
/* DocumentFormatDefault.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -49,16 +49,16 @@ import javax.print.attribute.TextSyntax;
|
||||
/**
|
||||
* <code>DocumentFormatDefault</code> specifies the default document
|
||||
* format of a printer.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*
|
||||
*/
|
||||
public final class DocumentFormatDefault extends TextSyntax
|
||||
public final class DocumentFormatDefault extends TextSyntax
|
||||
implements DefaultValueAttribute
|
||||
{
|
||||
|
||||
/**
|
||||
* Creates a <code>DocumentFormatDefault</code> object with the
|
||||
* Creates a <code>DocumentFormatDefault</code> object with the
|
||||
* given value and locale.
|
||||
*
|
||||
* @param value the value for this syntax
|
||||
@@ -77,7 +77,7 @@ public final class DocumentFormatDefault extends TextSyntax
|
||||
*
|
||||
* @return The class <code>DocumentFormatDefault</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return DocumentFormatDefault.class;
|
||||
}
|
||||
@@ -95,12 +95,12 @@ public final class DocumentFormatDefault extends TextSyntax
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this DefaultValuesAttribute enum.
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public Attribute getAssociatedAttribute()
|
||||
public Attribute getAssociatedAttribute()
|
||||
{
|
||||
return new DocumentFormat(getValue(), getLocale());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ import javax.print.attribute.EnumSyntax;
|
||||
/**
|
||||
* The <code>FinishingsDefault</code> attribute provides the supported
|
||||
* values for finishings of a job.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class FinishingsDefault extends EnumSyntax
|
||||
@@ -57,108 +57,108 @@ public final class FinishingsDefault extends EnumSyntax
|
||||
|
||||
/** No finishing. */
|
||||
public static final FinishingsDefault NONE = new FinishingsDefault(3);
|
||||
|
||||
|
||||
/** Staple the document(s) */
|
||||
public static final FinishingsDefault STAPLE = new FinishingsDefault(4);
|
||||
|
||||
|
||||
/** Cover a document */
|
||||
public static final FinishingsDefault COVER = new FinishingsDefault(6);
|
||||
|
||||
|
||||
/**
|
||||
* This value indicates that a binding is to be applied to the document.
|
||||
* The type and placement of the binding is site-defined.
|
||||
*/
|
||||
public static final FinishingsDefault BIND = new FinishingsDefault(7);
|
||||
|
||||
|
||||
/**
|
||||
* Bind the document(s) with one or more staples (wire stitches)
|
||||
* along the middle fold.
|
||||
* Bind the document(s) with one or more staples (wire stitches)
|
||||
* along the middle fold.
|
||||
*/
|
||||
public static final FinishingsDefault SADDLE_STITCH = new FinishingsDefault(8);
|
||||
|
||||
|
||||
/**
|
||||
* Bind the document(s) with one or more staples (wire stitches)
|
||||
* along one edge.
|
||||
* Bind the document(s) with one or more staples (wire stitches)
|
||||
* along one edge.
|
||||
*/
|
||||
public static final FinishingsDefault EDGE_STITCH = new FinishingsDefault(9);
|
||||
|
||||
/**
|
||||
* Bind the document(s) with one or more staples in the top left
|
||||
* corner.
|
||||
|
||||
/**
|
||||
* Bind the document(s) with one or more staples in the top left
|
||||
* corner.
|
||||
*/
|
||||
public static final FinishingsDefault STAPLE_TOP_LEFT = new FinishingsDefault(20);
|
||||
|
||||
/**
|
||||
* Bind the document(s) with one or more staples in the bottom
|
||||
* left corner.
|
||||
|
||||
/**
|
||||
* Bind the document(s) with one or more staples in the bottom
|
||||
* left corner.
|
||||
*/
|
||||
public static final FinishingsDefault STAPLE_BOTTOM_LEFT = new FinishingsDefault(21);
|
||||
|
||||
|
||||
/**
|
||||
* Bind the document(s) with one or more staples in the top right corner.
|
||||
*/
|
||||
public static final FinishingsDefault STAPLE_TOP_RIGHT = new FinishingsDefault(22);
|
||||
|
||||
|
||||
/**
|
||||
* Bind the document(s) with one or more staples in the bottom right corner.
|
||||
*/
|
||||
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.
|
||||
*/
|
||||
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.
|
||||
*/
|
||||
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.
|
||||
*/
|
||||
public static final FinishingsDefault EDGE_STITCH_RIGHT = new FinishingsDefault(26);
|
||||
|
||||
|
||||
/**
|
||||
* 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);
|
||||
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
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.
|
||||
*/
|
||||
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.
|
||||
*/
|
||||
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.
|
||||
*/
|
||||
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",
|
||||
"edge-stitch", null, null, null,
|
||||
null, null, null, null, null,
|
||||
null, null, "staple-top-left",
|
||||
"staple-bottom-left",
|
||||
"staple-top-right",
|
||||
"staple-bottom-left",
|
||||
"staple-top-right",
|
||||
"staple-bottom-right",
|
||||
"edge-stitch-left",
|
||||
"edge-stitch-top",
|
||||
@@ -168,14 +168,14 @@ public final class FinishingsDefault extends EnumSyntax
|
||||
"staple-dual-top",
|
||||
"staple-dual-right",
|
||||
"staple-dual-bottom" };
|
||||
|
||||
private static final FinishingsDefault[] enumValueTable = { NONE, STAPLE, null,
|
||||
COVER, BIND,
|
||||
|
||||
private static final FinishingsDefault[] enumValueTable = { NONE, STAPLE, null,
|
||||
COVER, BIND,
|
||||
SADDLE_STITCH,
|
||||
EDGE_STITCH, null,
|
||||
null, null, null,
|
||||
null, null, null,
|
||||
null, null, null,
|
||||
EDGE_STITCH, null,
|
||||
null, null, null,
|
||||
null, null, null,
|
||||
null, null, null,
|
||||
STAPLE_TOP_LEFT,
|
||||
STAPLE_BOTTOM_LEFT,
|
||||
STAPLE_TOP_RIGHT,
|
||||
@@ -188,10 +188,10 @@ public final class FinishingsDefault extends EnumSyntax
|
||||
STAPLE_DUAL_TOP,
|
||||
STAPLE_DUAL_RIGHT,
|
||||
STAPLE_DUAL_BOTTOM };
|
||||
|
||||
|
||||
/**
|
||||
* Constructs a <code>FinishingsDefault</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the value
|
||||
*/
|
||||
protected FinishingsDefault(int value)
|
||||
@@ -204,7 +204,7 @@ public final class FinishingsDefault extends EnumSyntax
|
||||
*
|
||||
* @return the class <code>FinishingsDefault</code> itself
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return FinishingsDefault.class;
|
||||
}
|
||||
@@ -218,7 +218,7 @@ public final class FinishingsDefault extends EnumSyntax
|
||||
{
|
||||
return "finishings-default";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a table with the enumeration values represented as strings
|
||||
* for this object.
|
||||
@@ -249,14 +249,14 @@ public final class FinishingsDefault extends EnumSyntax
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this DefaultValuesAttribute enum.
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public Attribute getAssociatedAttribute()
|
||||
public Attribute getAssociatedAttribute()
|
||||
{
|
||||
return IppUtilities.getEnumAttribute("finishings", new Integer(getValue()));
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* JobHoldUntilDefault.java --
|
||||
/* JobHoldUntilDefault.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -50,57 +50,57 @@ import javax.print.attribute.standard.JobHoldUntil;
|
||||
/**
|
||||
* JobHoldUntilDefault attribute provides the default value
|
||||
* for the attribute type job-hold-until.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class JobHoldUntilDefault extends TextSyntax
|
||||
public final class JobHoldUntilDefault extends TextSyntax
|
||||
implements DefaultValueAttribute
|
||||
{
|
||||
|
||||
// a keyword/name based attribute in IPP
|
||||
|
||||
// a keyword/name based attribute in IPP
|
||||
// can be extended by administrators
|
||||
// standard values are predefined
|
||||
|
||||
|
||||
/** Job should be printed immediately. */
|
||||
public static final JobHoldUntilDefault NO_HOLD =
|
||||
public static final JobHoldUntilDefault NO_HOLD =
|
||||
new JobHoldUntilDefault("no-hold", null);
|
||||
|
||||
|
||||
/** Job should be hold indefinitely. */
|
||||
public static final JobHoldUntilDefault INDEFINITE =
|
||||
public static final JobHoldUntilDefault INDEFINITE =
|
||||
new JobHoldUntilDefault("indefinite", null);
|
||||
|
||||
|
||||
/** Job should be processed during the day. */
|
||||
public static final JobHoldUntilDefault DAY_TIME =
|
||||
public static final JobHoldUntilDefault DAY_TIME =
|
||||
new JobHoldUntilDefault("day-time", null);
|
||||
|
||||
|
||||
/** Job should be processed in the evening. */
|
||||
public static final JobHoldUntilDefault EVENING =
|
||||
public static final JobHoldUntilDefault EVENING =
|
||||
new JobHoldUntilDefault("evening", null);
|
||||
|
||||
|
||||
/** Job should be processed during night. */
|
||||
public static final JobHoldUntilDefault NIGHT =
|
||||
public static final JobHoldUntilDefault NIGHT =
|
||||
new JobHoldUntilDefault("night", null);
|
||||
|
||||
|
||||
/** Job should be processed during the weekend. */
|
||||
public static final JobHoldUntilDefault WEEKEND =
|
||||
public static final JobHoldUntilDefault WEEKEND =
|
||||
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.
|
||||
*
|
||||
* @param value the value for this syntax
|
||||
@@ -119,7 +119,7 @@ public final class JobHoldUntilDefault extends TextSyntax
|
||||
*
|
||||
* @return The class <code>JobHoldUntilDefault</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return JobHoldUntilDefault.class;
|
||||
}
|
||||
@@ -133,14 +133,14 @@ public final class JobHoldUntilDefault extends TextSyntax
|
||||
{
|
||||
return "job-hold-until-default";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this DefaultValuesAttribute enum.
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public Attribute getAssociatedAttribute()
|
||||
public Attribute getAssociatedAttribute()
|
||||
{
|
||||
// FIXME Same Mapping problem as in IppPrintService
|
||||
return new JobHoldUntil(new Date());
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* JobPriorityDefault.java --
|
||||
/* JobPriorityDefault.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -47,13 +47,13 @@ import javax.print.attribute.standard.JobPriority;
|
||||
/**
|
||||
* JobPriorityDefault attribute provides the default value of
|
||||
* the printer object for the job-priority attribute.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class JobPriorityDefault extends IntegerSyntax
|
||||
implements DefaultValueAttribute
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* Creates a <code>JobPriorityDefault</code> object.
|
||||
*
|
||||
@@ -74,7 +74,7 @@ public final class JobPriorityDefault extends IntegerSyntax
|
||||
*
|
||||
* @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.
|
||||
*/
|
||||
public boolean equals(Object obj)
|
||||
@@ -90,7 +90,7 @@ public final class JobPriorityDefault extends IntegerSyntax
|
||||
*
|
||||
* @return The class <code>JobPriorityDefault</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return JobPriorityDefault.class;
|
||||
}
|
||||
@@ -104,14 +104,14 @@ public final class JobPriorityDefault extends IntegerSyntax
|
||||
{
|
||||
return "job-priority-default";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this DefaultValuesAttribute enum.
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public Attribute getAssociatedAttribute()
|
||||
public Attribute getAssociatedAttribute()
|
||||
{
|
||||
return new JobPriority(getValue());
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* JobSheetsDefault.java --
|
||||
/* JobSheetsDefault.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -49,26 +49,26 @@ import javax.print.attribute.standard.JobSheets;
|
||||
/**
|
||||
* JobSheetsDefault attribute provides the default value of
|
||||
* the printer object for the job-sheets attribute.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class JobSheetsDefault extends TextSyntax
|
||||
public final class JobSheetsDefault extends TextSyntax
|
||||
implements DefaultValueAttribute
|
||||
{
|
||||
//a keyword/name based attribute in IPP
|
||||
//a keyword/name based attribute in IPP
|
||||
// can be extended by administrators
|
||||
// standard values are predefined
|
||||
|
||||
|
||||
/** No job sheet is the default */
|
||||
public static final JobSheetsDefault NONE =
|
||||
public static final JobSheetsDefault NONE =
|
||||
new JobSheetsDefault("none", Locale.getDefault());
|
||||
|
||||
|
||||
/** A job sheet is the default */
|
||||
public static final JobSheetsDefault STANDARD =
|
||||
public static final JobSheetsDefault STANDARD =
|
||||
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.
|
||||
*
|
||||
* @param value the value for this syntax
|
||||
@@ -81,13 +81,13 @@ public final class JobSheetsDefault extends TextSyntax
|
||||
{
|
||||
super(value, locale);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns category of this class.
|
||||
*
|
||||
* @return The class <code>JobSheetsDefault</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return JobSheetsDefault.class;
|
||||
}
|
||||
@@ -101,21 +101,21 @@ public final class JobSheetsDefault extends TextSyntax
|
||||
{
|
||||
return "job-sheets-default";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this DefaultValuesAttribute enum.
|
||||
* <p>May return null if no value exists in JPS API.</p>
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public Attribute getAssociatedAttribute()
|
||||
public Attribute getAssociatedAttribute()
|
||||
{
|
||||
if (this.equals(JobSheetsDefault.NONE))
|
||||
return JobSheets.NONE;
|
||||
if (this.equals(JobSheetsDefault.STANDARD))
|
||||
return JobSheets.STANDARD;
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* MediaDefault.java --
|
||||
/* MediaDefault.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -49,15 +49,15 @@ import javax.print.attribute.TextSyntax;
|
||||
/**
|
||||
* MediaDefault attribute provides the default value of
|
||||
* the printer object for the media attribute.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class MediaDefault extends TextSyntax
|
||||
public final class MediaDefault extends TextSyntax
|
||||
implements DefaultValueAttribute
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* Creates a <code>MediaDefault</code> object with the
|
||||
* Creates a <code>MediaDefault</code> object with the
|
||||
* given value and locale.
|
||||
*
|
||||
* @param value the value for this syntax
|
||||
@@ -70,13 +70,13 @@ public final class MediaDefault extends TextSyntax
|
||||
{
|
||||
super(value, locale);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns category of this class.
|
||||
*
|
||||
* @return The class <code>MediaDefault</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return MediaDefault.class;
|
||||
}
|
||||
@@ -90,14 +90,14 @@ public final class MediaDefault extends TextSyntax
|
||||
{
|
||||
return "media-default";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this DefaultValuesAttribute enum.
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public Attribute getAssociatedAttribute()
|
||||
public Attribute getAssociatedAttribute()
|
||||
{
|
||||
return IppUtilities.getEnumAttribute("media" , getValue());
|
||||
}
|
||||
|
||||
+21
-21
@@ -47,49 +47,49 @@ import javax.print.attribute.EnumSyntax;
|
||||
/**
|
||||
* <code>MultipleDocumentHandlingDefault</code> provides the
|
||||
* default value for the MultipleDocumentHandling attribute.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class MultipleDocumentHandlingDefault extends EnumSyntax
|
||||
implements DefaultValueAttribute
|
||||
{
|
||||
|
||||
|
||||
//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.
|
||||
*/
|
||||
public static final MultipleDocumentHandlingDefault SINGLE_DOCUMENT =
|
||||
new MultipleDocumentHandlingDefault(0);
|
||||
|
||||
|
||||
/** Supports multiple documents as uncollated copies */
|
||||
public static final MultipleDocumentHandlingDefault SEPARATE_DOCUMENTS_UNCOLLATED_COPIES =
|
||||
new MultipleDocumentHandlingDefault(1);
|
||||
|
||||
|
||||
/** Supports multiple documents as collated copies */
|
||||
public static final MultipleDocumentHandlingDefault SEPARATE_DOCUMENTS_COLLATED_COPIES =
|
||||
new MultipleDocumentHandlingDefault(2);
|
||||
|
||||
/**
|
||||
|
||||
/**
|
||||
* Supports multiple documents where every single document starts
|
||||
* with a new sheet.
|
||||
* with a new sheet.
|
||||
*/
|
||||
public static final MultipleDocumentHandlingDefault SINGLE_DOCUMENT_NEW_SHEET =
|
||||
new MultipleDocumentHandlingDefault(3);
|
||||
|
||||
private static final String[] stringTable = { "single-document",
|
||||
private static final String[] stringTable = { "single-document",
|
||||
"separate-documents-uncollated-copies",
|
||||
"separate-documents-collated-copies",
|
||||
"single-document-new-sheet" };
|
||||
|
||||
private static final MultipleDocumentHandlingDefault[] enumValueTable =
|
||||
|
||||
private static final MultipleDocumentHandlingDefault[] enumValueTable =
|
||||
{ SINGLE_DOCUMENT, SEPARATE_DOCUMENTS_UNCOLLATED_COPIES,
|
||||
SEPARATE_DOCUMENTS_COLLATED_COPIES, SINGLE_DOCUMENT_NEW_SHEET};
|
||||
|
||||
|
||||
/**
|
||||
* Constructs a <code>MultipleDocumentHandlingDefault</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the enum value
|
||||
*/
|
||||
protected MultipleDocumentHandlingDefault(int value)
|
||||
@@ -102,7 +102,7 @@ public final class MultipleDocumentHandlingDefault extends EnumSyntax
|
||||
*
|
||||
* @return The class <code>MultipleDocumentHandlingDefault</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return MultipleDocumentHandlingDefault.class;
|
||||
}
|
||||
@@ -116,7 +116,7 @@ public final class MultipleDocumentHandlingDefault extends EnumSyntax
|
||||
{
|
||||
return "multiple-document-handling-default";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a table with the enumeration values represented as strings
|
||||
* for this object.
|
||||
@@ -137,16 +137,16 @@ public final class MultipleDocumentHandlingDefault extends EnumSyntax
|
||||
{
|
||||
return enumValueTable;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this DefaultValuesAttribute enum.
|
||||
*
|
||||
*
|
||||
* @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()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* NumberUpDefault.java --
|
||||
/* NumberUpDefault.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -46,13 +46,13 @@ import javax.print.attribute.standard.NumberUp;
|
||||
/**
|
||||
* NumberUpDefault attribute provides the default value of
|
||||
* the numper up attribute.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class NumberUpDefault extends IntegerSyntax
|
||||
implements DefaultValueAttribute
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* Creates a <code>NumberUpDefault</code> object.
|
||||
*
|
||||
@@ -63,13 +63,13 @@ public final class NumberUpDefault extends IntegerSyntax
|
||||
{
|
||||
super(value);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Tests if the given object is equal to this object.
|
||||
*
|
||||
* @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.
|
||||
*/
|
||||
public boolean equals(Object obj)
|
||||
@@ -85,7 +85,7 @@ public final class NumberUpDefault extends IntegerSyntax
|
||||
*
|
||||
* @return The class <code>NumberUpDefault</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return NumberUpDefault.class;
|
||||
}
|
||||
@@ -99,15 +99,15 @@ public final class NumberUpDefault extends IntegerSyntax
|
||||
{
|
||||
return "number-up-default";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this DefaultValuesAttribute enum.
|
||||
* <p>May return null if no value exists in JPS API.</p>
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public Attribute getAssociatedAttribute()
|
||||
public Attribute getAssociatedAttribute()
|
||||
{
|
||||
return new NumberUp(getValue());
|
||||
}
|
||||
|
||||
+18
-18
@@ -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.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class OrientationRequestedDefault extends EnumSyntax
|
||||
implements DefaultValueAttribute
|
||||
{
|
||||
|
||||
|
||||
/** Orientation as portrait. */
|
||||
public static final OrientationRequestedDefault PORTRAIT =
|
||||
new OrientationRequestedDefault(3);
|
||||
|
||||
|
||||
/** Orientation as landscape. */
|
||||
public static final OrientationRequestedDefault LANDSCAPE =
|
||||
new OrientationRequestedDefault(4);
|
||||
|
||||
|
||||
/** Orientation as reversed landscape. */
|
||||
public static final OrientationRequestedDefault REVERSE_LANDSCAPE =
|
||||
new OrientationRequestedDefault(5);
|
||||
|
||||
|
||||
/** Orientation as reversed portrait. */
|
||||
public static final OrientationRequestedDefault REVERSE_PORTRAIT =
|
||||
new OrientationRequestedDefault(6);
|
||||
@@ -74,14 +74,14 @@ public final class OrientationRequestedDefault extends EnumSyntax
|
||||
private static final String[] stringTable = { "portrait", "landscape",
|
||||
"reverse-landscape",
|
||||
"reverse-portrait" };
|
||||
|
||||
private static final OrientationRequestedDefault[]
|
||||
enumValueTable = { PORTRAIT, LANDSCAPE,
|
||||
|
||||
private static final OrientationRequestedDefault[]
|
||||
enumValueTable = { PORTRAIT, LANDSCAPE,
|
||||
REVERSE_LANDSCAPE, REVERSE_PORTRAIT };
|
||||
|
||||
|
||||
/**
|
||||
* Constructs a <code>OrientationRequestedDefault</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the value
|
||||
*/
|
||||
protected OrientationRequestedDefault(int value)
|
||||
@@ -94,7 +94,7 @@ public final class OrientationRequestedDefault extends EnumSyntax
|
||||
*
|
||||
* @return The class <code>OrientationRequestedDefault</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return OrientationRequestedDefault.class;
|
||||
}
|
||||
@@ -108,7 +108,7 @@ public final class OrientationRequestedDefault extends EnumSyntax
|
||||
{
|
||||
return "orientation-requested-default";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a table with the enumeration values represented as strings
|
||||
* for this object.
|
||||
@@ -129,7 +129,7 @@ public final class OrientationRequestedDefault extends EnumSyntax
|
||||
{
|
||||
return enumValueTable;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the lowest used value by the enumerations of this class.
|
||||
* .
|
||||
@@ -139,16 +139,16 @@ public final class OrientationRequestedDefault extends EnumSyntax
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this DefaultValuesAttribute enum.
|
||||
*
|
||||
*
|
||||
* @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()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ import javax.print.attribute.EnumSyntax;
|
||||
/**
|
||||
* <code>PrintQualityDefault</code> provides the
|
||||
* default value for the print-quality attribute.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class PrintQualityDefault extends EnumSyntax
|
||||
@@ -55,20 +55,20 @@ public final class PrintQualityDefault extends EnumSyntax
|
||||
{
|
||||
/** Draft quality of the printer. */
|
||||
public static final PrintQualityDefault DRAFT = new PrintQualityDefault(3);
|
||||
|
||||
|
||||
/** Normal quality of the printer. */
|
||||
public static final PrintQualityDefault NORMAL = new PrintQualityDefault(4);
|
||||
|
||||
|
||||
/** High quality of the printer. */
|
||||
public static final PrintQualityDefault HIGH = new PrintQualityDefault(5);
|
||||
|
||||
private static final String[] stringTable = { "draft", "normal", "high" };
|
||||
|
||||
|
||||
private static final PrintQualityDefault[] enumValueTable = { DRAFT, NORMAL, HIGH };
|
||||
|
||||
|
||||
/**
|
||||
* Constructs a <code>PrintQualityDefault</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the value of the enum
|
||||
*/
|
||||
protected PrintQualityDefault(int value)
|
||||
@@ -81,7 +81,7 @@ public final class PrintQualityDefault extends EnumSyntax
|
||||
*
|
||||
* @return The class <code>PrintQualityDefault</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return PrintQualityDefault.class;
|
||||
}
|
||||
@@ -95,7 +95,7 @@ public final class PrintQualityDefault extends EnumSyntax
|
||||
{
|
||||
return "print-quality-default";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a table with the enumeration values represented as strings
|
||||
* for this object.
|
||||
@@ -116,7 +116,7 @@ public final class PrintQualityDefault extends EnumSyntax
|
||||
{
|
||||
return enumValueTable;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the lowest used value by the enumerations of this class.
|
||||
* .
|
||||
@@ -126,14 +126,14 @@ public final class PrintQualityDefault extends EnumSyntax
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this DefaultValuesAttribute enum.
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public Attribute getAssociatedAttribute()
|
||||
public Attribute getAssociatedAttribute()
|
||||
{
|
||||
return IppUtilities.getEnumAttribute(
|
||||
"print-quality", new Integer(getValue()));
|
||||
|
||||
+11
-11
@@ -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.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class PrinterResolutionDefault extends ResolutionSyntax
|
||||
implements DefaultValueAttribute
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* Creates a <code>ResolutionSyntax</code> object with the given arguments.
|
||||
*
|
||||
@@ -68,20 +68,20 @@ public final class PrinterResolutionDefault extends ResolutionSyntax
|
||||
{
|
||||
super(crossFeedResolution, feedResolution, units);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Tests if the given object is equal to this object.
|
||||
*
|
||||
* @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.
|
||||
*/
|
||||
public boolean equals(Object obj)
|
||||
{
|
||||
if(! (obj instanceof PrinterResolutionDefault))
|
||||
return false;
|
||||
|
||||
|
||||
return super.equals(obj);
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ public final class PrinterResolutionDefault extends ResolutionSyntax
|
||||
*
|
||||
* @return The class <code>PrinterResolutionDefault</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return PrinterResolutionDefault.class;
|
||||
}
|
||||
@@ -104,16 +104,16 @@ public final class PrinterResolutionDefault extends ResolutionSyntax
|
||||
{
|
||||
return "printer-resolution-default";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this DefaultValuesAttribute enum.
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public Attribute getAssociatedAttribute()
|
||||
public Attribute getAssociatedAttribute()
|
||||
{
|
||||
return new PrinterResolution(getCrossFeedResolutionDphi(),
|
||||
return new PrinterResolution(getCrossFeedResolutionDphi(),
|
||||
getFeedResolutionDphi(), 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,45 +47,45 @@ import javax.print.attribute.EnumSyntax;
|
||||
/**
|
||||
* <code>SidesDefault</code> provides the
|
||||
* default for the sides attribute.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class SidesDefault extends EnumSyntax
|
||||
implements DefaultValueAttribute
|
||||
{
|
||||
|
||||
|
||||
/** Specifies that each page should be printed on one sheet. */
|
||||
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.
|
||||
*/
|
||||
public static final SidesDefault TWO_SIDED_LONG_EDGE =
|
||||
public static final SidesDefault TWO_SIDED_LONG_EDGE =
|
||||
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.
|
||||
*/
|
||||
public static final SidesDefault TWO_SIDED_SHORT_EDGE =
|
||||
public static final SidesDefault TWO_SIDED_SHORT_EDGE =
|
||||
new SidesDefault(2);
|
||||
|
||||
|
||||
/** An alias constant for "two sided long edge". */
|
||||
public static final SidesDefault DUPLEX = new SidesDefault(1);
|
||||
|
||||
|
||||
/** An alias constant for "two sided short edge". */
|
||||
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-short-edge" };
|
||||
|
||||
private static final SidesDefault[] enumValueTable = { ONE_SIDED,
|
||||
TWO_SIDED_LONG_EDGE,
|
||||
|
||||
private static final SidesDefault[] enumValueTable = { ONE_SIDED,
|
||||
TWO_SIDED_LONG_EDGE,
|
||||
TWO_SIDED_SHORT_EDGE };
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Creates a <code>SidesDefault</code> object.
|
||||
*
|
||||
@@ -101,7 +101,7 @@ public final class SidesDefault extends EnumSyntax
|
||||
*
|
||||
* @return The class <code>SidesDefault</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return SidesDefault.class;
|
||||
}
|
||||
@@ -115,7 +115,7 @@ public final class SidesDefault extends EnumSyntax
|
||||
{
|
||||
return "sides-default";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a table with the enumeration values represented as strings
|
||||
* for this object.
|
||||
@@ -136,14 +136,14 @@ public final class SidesDefault extends EnumSyntax
|
||||
{
|
||||
return enumValueTable;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this DefaultValuesAttribute enum.
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public Attribute getAssociatedAttribute()
|
||||
public Attribute getAssociatedAttribute()
|
||||
{
|
||||
return IppUtilities.getEnumAttribute("sides", new Integer(getValue()));
|
||||
}
|
||||
|
||||
@@ -46,24 +46,24 @@ import javax.print.attribute.Attribute;
|
||||
* AttributesCharset attribute as described in RFC 2911 chapter
|
||||
* 3.1.4 Character Set and Natural Language Operation Attributes.
|
||||
* <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
|
||||
* charset must be used by the printer object in the response.<br>
|
||||
* All clients and IPP objects must support the 'utf-8' charset.
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class AttributesCharset extends CharsetSyntax
|
||||
public final class AttributesCharset extends CharsetSyntax
|
||||
implements Attribute
|
||||
{
|
||||
|
||||
|
||||
/** Defines a default UTF-8 charset instance */
|
||||
public static final AttributesCharset UTF8 = new AttributesCharset("utf-8");
|
||||
|
||||
/**
|
||||
* Creates a <code>AttributesCharset</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the charset string value.
|
||||
*/
|
||||
public AttributesCharset(String value)
|
||||
@@ -76,7 +76,7 @@ public final class AttributesCharset extends CharsetSyntax
|
||||
*
|
||||
* @return The class <code>AttributesCharset</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return AttributesCharset.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* AttributesNaturalLanguage.java --
|
||||
/* AttributesNaturalLanguage.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -49,23 +49,23 @@ import javax.print.attribute.Attribute;
|
||||
* <p>
|
||||
* This operation attribute identifies the natural language used
|
||||
* 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.
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class AttributesNaturalLanguage extends NaturalLanguageSyntax
|
||||
public final class AttributesNaturalLanguage extends NaturalLanguageSyntax
|
||||
implements Attribute
|
||||
{
|
||||
|
||||
|
||||
/** Defines the default language EN */
|
||||
public static final AttributesNaturalLanguage EN =
|
||||
public static final AttributesNaturalLanguage EN =
|
||||
new AttributesNaturalLanguage("en");
|
||||
|
||||
/**
|
||||
* Creates a <code>AttributesNaturalLanguage</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the language string value.
|
||||
*/
|
||||
public AttributesNaturalLanguage(String value)
|
||||
@@ -78,7 +78,7 @@ public final class AttributesNaturalLanguage extends NaturalLanguageSyntax
|
||||
*
|
||||
* @return The class <code>AttributesNaturalLanguage</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return AttributesNaturalLanguage.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* JobDetailedStatusMessages.java --
|
||||
/* JobDetailedStatusMessages.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -46,10 +46,10 @@ import javax.print.attribute.TextSyntax;
|
||||
/**
|
||||
* JobDetailedStatusMessages provides additional detailed and
|
||||
* technical job informations.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class JobDetailedStatusMessages
|
||||
public final class JobDetailedStatusMessages
|
||||
extends TextSyntax implements Attribute
|
||||
{
|
||||
|
||||
@@ -73,7 +73,7 @@ public final class JobDetailedStatusMessages
|
||||
*
|
||||
* @return The class <code>JobDetailedStatusMessages</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return JobDetailedStatusMessages.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* JobDocumentAccessErrors.java --
|
||||
/* JobDocumentAccessErrors.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -47,10 +47,10 @@ import javax.print.attribute.TextSyntax;
|
||||
* JobDocumentAccessErrors provides additional information
|
||||
* for each access error for print-uri or document-uri jobs.
|
||||
* technical job informations.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class JobDocumentAccessErrors
|
||||
public final class JobDocumentAccessErrors
|
||||
extends TextSyntax implements Attribute
|
||||
{
|
||||
|
||||
@@ -74,7 +74,7 @@ public final class JobDocumentAccessErrors
|
||||
*
|
||||
* @return The class <code>JobDocumentAccessErrors</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return JobDocumentAccessErrors.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* JobId.java --
|
||||
/* JobId.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
* print job created or currently being processed.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class JobId extends IntegerSyntax implements Attribute
|
||||
@@ -59,7 +59,7 @@ public final class JobId extends IntegerSyntax implements Attribute
|
||||
public JobId(int value)
|
||||
{
|
||||
super(value);
|
||||
|
||||
|
||||
if (value < 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.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return JobId.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* JobMoreInfo.java --
|
||||
/* JobMoreInfo.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -47,7 +47,7 @@ import javax.print.attribute.URISyntax;
|
||||
* JobMoreInfo attribute as described in RFC 2911 section
|
||||
* 4.3.4 contains the URI where more information about a job
|
||||
* (e.g. through a HTML page) can be found.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
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.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return JobMoreInfo.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* JobPrinterUri.java --
|
||||
/* JobPrinterUri.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -47,7 +47,7 @@ import javax.print.attribute.URISyntax;
|
||||
* JobPrinterUri attribute as described in RFC 2911 section
|
||||
* 4.3.3 contains the URI of the printer which created and
|
||||
* processes a job.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
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.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return JobPrinterUri.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* JobStateMessage.java --
|
||||
/* JobStateMessage.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -46,10 +46,10 @@ import javax.print.attribute.TextSyntax;
|
||||
/**
|
||||
* JobStateMessage attribute describes information about the
|
||||
* job-state and job-state-reasons in human readable form.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class JobStateMessage
|
||||
public final class JobStateMessage
|
||||
extends TextSyntax implements Attribute
|
||||
{
|
||||
|
||||
@@ -73,7 +73,7 @@ public final class JobStateMessage
|
||||
*
|
||||
* @return The class <code>JobStateMessage</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return JobStateMessage.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* JobUri.java --
|
||||
/* JobUri.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -47,7 +47,7 @@ import javax.print.attribute.URISyntax;
|
||||
* JobUri attribute as described in RFC 2911 section
|
||||
* 4.3.1 contains the URI for a job generated by the printer
|
||||
* after a create request.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
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.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return JobUri.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* CharsetConfigured.java --
|
||||
/* CharsetConfigured.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -46,16 +46,16 @@ import javax.print.attribute.Attribute;
|
||||
* CharsetConfigured attribute as described in RFC 2911 section
|
||||
* 4.4.17 provides the charset which is configured by the
|
||||
* server to be used in the name and text syntax attribute types.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class CharsetConfigured extends CharsetSyntax
|
||||
public final class CharsetConfigured extends CharsetSyntax
|
||||
implements Attribute
|
||||
{
|
||||
|
||||
/**
|
||||
* Creates a <code>CharsetConfigured</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the charset string value.
|
||||
*/
|
||||
public CharsetConfigured(String value)
|
||||
@@ -68,7 +68,7 @@ public final class CharsetConfigured extends CharsetSyntax
|
||||
*
|
||||
* @return The class <code>CharsetConfigured</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return CharsetConfigured.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* DocumentFormat.java --
|
||||
/* DocumentFormat.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -41,21 +41,22 @@ package gnu.javax.print.ipp.attribute.printer;
|
||||
import java.util.Locale;
|
||||
|
||||
import javax.print.DocFlavor;
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
import javax.print.attribute.TextSyntax;
|
||||
|
||||
/**
|
||||
* <code>DocumentFormatSupported</code> specifies the supported document
|
||||
* formats of a printer. Printer are supplying a set of this attribute.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class DocumentFormat extends TextSyntax
|
||||
public final class DocumentFormat extends TextSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
|
||||
/**
|
||||
* Creates a <code>DocumentFormat</code> object with the
|
||||
* Creates a <code>DocumentFormat</code> object with the
|
||||
* given value and locale.
|
||||
*
|
||||
* @param value the value for this syntax
|
||||
@@ -68,12 +69,12 @@ public final class DocumentFormat extends TextSyntax
|
||||
{
|
||||
super(value, locale);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructs a document format object for the given flavor.
|
||||
* The constructor reworkes the mimetype of the given flavor
|
||||
* to remove the quoted charset parameter if present.
|
||||
*
|
||||
*
|
||||
* @param flavor the flavor with the mimetype
|
||||
* @return The created document format.
|
||||
*/
|
||||
@@ -83,7 +84,7 @@ public final class DocumentFormat extends TextSyntax
|
||||
String mimetype = flavor.getMediaType() + "/" + flavor.getMediaSubtype();
|
||||
if (charset != null)
|
||||
mimetype += "; charset=" + charset;
|
||||
|
||||
|
||||
return new DocumentFormat(mimetype, null);
|
||||
}
|
||||
|
||||
@@ -92,7 +93,7 @@ public final class DocumentFormat extends TextSyntax
|
||||
*
|
||||
* @return The class <code>DocumentFormat</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return DocumentFormat.class;
|
||||
}
|
||||
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
/* MultipleOperationTimeOut.java --
|
||||
/* MultipleOperationTimeOut.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
* before time out and recovery. The printer object waits e.g. for
|
||||
* additional SendDocument or SendUri operations.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class MultipleOperationTimeOut extends IntegerSyntax
|
||||
public final class MultipleOperationTimeOut extends IntegerSyntax
|
||||
implements Attribute
|
||||
{
|
||||
|
||||
@@ -68,7 +68,7 @@ public final class MultipleOperationTimeOut extends IntegerSyntax
|
||||
*
|
||||
* @return The class <code>MultipleOperationTimeOut</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return MultipleOperationTimeOut.class;
|
||||
}
|
||||
|
||||
+6
-6
@@ -1,4 +1,4 @@
|
||||
/* NaturalLanguageConfigured.java --
|
||||
/* NaturalLanguageConfigured.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -43,19 +43,19 @@ import gnu.javax.print.ipp.attribute.NaturalLanguageSyntax;
|
||||
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
|
||||
* by the server to be used in the name and text syntax attribute types.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class NaturalLanguageConfigured extends NaturalLanguageSyntax
|
||||
public final class NaturalLanguageConfigured extends NaturalLanguageSyntax
|
||||
implements Attribute
|
||||
{
|
||||
|
||||
/**
|
||||
* Creates a <code>NaturalLanguageConfigured</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the charset string value.
|
||||
*/
|
||||
public NaturalLanguageConfigured(String value)
|
||||
@@ -68,7 +68,7 @@ public final class NaturalLanguageConfigured extends NaturalLanguageSyntax
|
||||
*
|
||||
* @return The class <code>NaturalLanguageConfigured</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return NaturalLanguageConfigured.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* PrinterCurrentTime.java --
|
||||
/* PrinterCurrentTime.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -40,6 +40,7 @@ package gnu.javax.print.ipp.attribute.printer;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.DateTimeSyntax;
|
||||
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.
|
||||
* Its to be used by other attributes like the date-time-at-xxx
|
||||
* attributes in the creation process.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class PrinterCurrentTime extends DateTimeSyntax
|
||||
public final class PrinterCurrentTime extends DateTimeSyntax
|
||||
implements PrintServiceAttribute
|
||||
{
|
||||
|
||||
@@ -72,7 +73,7 @@ public final class PrinterCurrentTime extends DateTimeSyntax
|
||||
*
|
||||
* @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.
|
||||
*/
|
||||
public boolean equals(Object obj)
|
||||
@@ -82,13 +83,13 @@ public final class PrinterCurrentTime extends DateTimeSyntax
|
||||
|
||||
return super.equals(obj);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns category of this class.
|
||||
*
|
||||
* @return The class <code>PrinterCurrentTime</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return PrinterCurrentTime.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* PrinterDriverInstaller.java --
|
||||
/* PrinterDriverInstaller.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -47,10 +47,10 @@ import javax.print.attribute.URISyntax;
|
||||
* PrinterDriverInstaller attribute as described in RFC 2911 section
|
||||
* 4.4.81 provides the URI where a printer driver installer
|
||||
* can be found.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class PrinterDriverInstaller extends URISyntax
|
||||
public final class PrinterDriverInstaller extends URISyntax
|
||||
implements Attribute
|
||||
{
|
||||
|
||||
@@ -70,7 +70,7 @@ public final class PrinterDriverInstaller extends URISyntax
|
||||
*
|
||||
* @return The class <code>PrinterDriverInstaller</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return PrinterDriverInstaller.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* PrinterStateMessage.java --
|
||||
/* PrinterStateMessage.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -40,6 +40,7 @@ package gnu.javax.print.ipp.attribute.printer;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.PrintServiceAttribute;
|
||||
import javax.print.attribute.TextSyntax;
|
||||
|
||||
@@ -48,15 +49,15 @@ import javax.print.attribute.TextSyntax;
|
||||
* 4.4.13 provides a textual representation of the attributes
|
||||
* printer-state and printer-state-reasons for consumption by
|
||||
* humans.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class PrinterStateMessage extends TextSyntax
|
||||
public final class PrinterStateMessage extends TextSyntax
|
||||
implements PrintServiceAttribute
|
||||
{
|
||||
|
||||
/**
|
||||
* Creates a <code>PrinterStateMessage</code> object with the
|
||||
* Creates a <code>PrinterStateMessage</code> object with the
|
||||
* given value and locale.
|
||||
*
|
||||
* @param value the value for this syntax
|
||||
@@ -75,7 +76,7 @@ public final class PrinterStateMessage extends TextSyntax
|
||||
*
|
||||
* @return The class <code>PrinterStateMessage</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return PrinterStateMessage.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* PrinterUpTime.java --
|
||||
/* PrinterUpTime.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -44,12 +44,12 @@ import javax.print.attribute.IntegerSyntax;
|
||||
/**
|
||||
* PrinterUpTime attribute as described in RFC 2911 section
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class PrinterUpTime extends IntegerSyntax
|
||||
public final class PrinterUpTime extends IntegerSyntax
|
||||
implements Attribute
|
||||
{
|
||||
|
||||
@@ -68,7 +68,7 @@ public final class PrinterUpTime extends IntegerSyntax
|
||||
*
|
||||
* @return The class <code>PrinterUpTime</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return PrinterUpTime.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* CharsetSupported.java --
|
||||
/* CharsetSupported.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
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 javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
|
||||
/**
|
||||
* CharsetSupported attribute as described in RFC 2911 section
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class CharsetSupported extends CharsetSyntax
|
||||
public final class CharsetSupported extends CharsetSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
|
||||
/**
|
||||
* Creates a <code>CharsetSupported</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the charset string value.
|
||||
*/
|
||||
public CharsetSupported(String value)
|
||||
@@ -69,7 +70,7 @@ public final class CharsetSupported extends CharsetSyntax
|
||||
*
|
||||
* @return The class <code>CharsetSupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return CharsetSupported.class;
|
||||
}
|
||||
|
||||
+24
-25
@@ -42,6 +42,7 @@ import gnu.javax.print.ipp.IppUtilities;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.EnumSyntax;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
import javax.print.attribute.standard.Compression;
|
||||
@@ -50,34 +51,34 @@ import javax.print.attribute.standard.Compression;
|
||||
/**
|
||||
* <code>CompressionSupported</code> provides the values which are
|
||||
* supported for the compression attribute.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class CompressionSupported extends EnumSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
|
||||
|
||||
/** The print data is not compressed. */
|
||||
public static final CompressionSupported NONE = new CompressionSupported(0);
|
||||
|
||||
|
||||
/** The print data is ZIP compressed. */
|
||||
public static final CompressionSupported DEFLATE = new CompressionSupported(1);
|
||||
|
||||
|
||||
/** The print data is GNU Zip compressed. */
|
||||
public static final CompressionSupported GZIP = new CompressionSupported(2);
|
||||
|
||||
|
||||
/** The print data is UNIX compressed. */
|
||||
public static final CompressionSupported COMPRESS = new CompressionSupported(3);
|
||||
|
||||
private static final String[] stringTable = { "none", "deflate",
|
||||
|
||||
private static final String[] stringTable = { "none", "deflate",
|
||||
"gzip", "compress" };
|
||||
|
||||
private static final CompressionSupported[] enumValueTable = { NONE, DEFLATE,
|
||||
|
||||
private static final CompressionSupported[] enumValueTable = { NONE, DEFLATE,
|
||||
GZIP, COMPRESS };
|
||||
|
||||
/**
|
||||
* Constructs a <code>CompressionSupported</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the enum value
|
||||
*/
|
||||
protected CompressionSupported(int value)
|
||||
@@ -90,7 +91,7 @@ public final class CompressionSupported extends EnumSyntax
|
||||
*
|
||||
* @return The class <code>CompressionSupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return CompressionSupported.class;
|
||||
}
|
||||
@@ -104,7 +105,7 @@ public final class CompressionSupported extends EnumSyntax
|
||||
{
|
||||
return "compression-supported";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a table with the enumeration values represented as strings
|
||||
* for this object.
|
||||
@@ -125,38 +126,36 @@ public final class CompressionSupported extends EnumSyntax
|
||||
{
|
||||
return enumValueTable;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this SupportedValuesAttribute enum.
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public Compression getAssociatedAttribute()
|
||||
public Compression getAssociatedAttribute()
|
||||
{
|
||||
return (Compression) IppUtilities.getEnumAttribute(
|
||||
"compression", new Integer(getValue()));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructs an array from a set of -supported attributes.
|
||||
* @param set set to process
|
||||
* @return The constructed array.
|
||||
*
|
||||
*
|
||||
* @see #getAssociatedAttribute()
|
||||
*/
|
||||
public static Compression[] getAssociatedAttributeArray(Set set)
|
||||
public static Compression[]
|
||||
getAssociatedAttributeArray(Set<Attribute> set)
|
||||
{
|
||||
CompressionSupported tmp;
|
||||
Compression[] result = new Compression[set.size()];
|
||||
Iterator it = set.iterator();
|
||||
Compression[] result = new Compression[set.size()];
|
||||
int j = 0;
|
||||
while (it.hasNext())
|
||||
for (Attribute tmp : set)
|
||||
{
|
||||
tmp = (CompressionSupported) it.next();
|
||||
result[j] = tmp.getAssociatedAttribute();
|
||||
result[j] = ((CompressionSupported) tmp).getAssociatedAttribute();
|
||||
j++;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
+6
-5
@@ -1,4 +1,4 @@
|
||||
/* DocumentFormatSupported.java --
|
||||
/* DocumentFormatSupported.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -40,21 +40,22 @@ package gnu.javax.print.ipp.attribute.supported;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
import javax.print.attribute.TextSyntax;
|
||||
|
||||
/**
|
||||
* <code>DocumentFormatSupported</code> specifies the supported document
|
||||
* formats of a printer. Printer are supplying a set of this attribute.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class DocumentFormatSupported extends TextSyntax
|
||||
public final class DocumentFormatSupported extends TextSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
|
||||
/**
|
||||
* Creates a <code>DocumentFormatSupported</code> object with the
|
||||
* Creates a <code>DocumentFormatSupported</code> object with the
|
||||
* given value and locale.
|
||||
*
|
||||
* @param value the value for this syntax
|
||||
@@ -73,7 +74,7 @@ public final class DocumentFormatSupported extends TextSyntax
|
||||
*
|
||||
* @return The class <code>DocumentFormatSupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return DocumentFormatSupported.class;
|
||||
}
|
||||
|
||||
+85
-86
@@ -43,6 +43,7 @@ import gnu.javax.print.ipp.IppUtilities;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.EnumSyntax;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
import javax.print.attribute.standard.Finishings;
|
||||
@@ -51,7 +52,7 @@ import javax.print.attribute.standard.Finishings;
|
||||
/**
|
||||
* The <code>FinishingsSupported</code> attribute provides the supported
|
||||
* values for finishings of a job.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class FinishingsSupported extends EnumSyntax
|
||||
@@ -60,122 +61,122 @@ public final class FinishingsSupported extends EnumSyntax
|
||||
|
||||
/** No finishing. */
|
||||
public static final FinishingsSupported NONE = new FinishingsSupported(3);
|
||||
|
||||
|
||||
/** Staple the document(s) */
|
||||
public static final FinishingsSupported STAPLE = new FinishingsSupported(4);
|
||||
|
||||
|
||||
/** Cover a document */
|
||||
public static final FinishingsSupported COVER = new FinishingsSupported(6);
|
||||
|
||||
|
||||
/**
|
||||
* This value indicates that a binding is to be applied to the document.
|
||||
* The type and placement of the binding is site-defined.
|
||||
*/
|
||||
public static final FinishingsSupported BIND = new FinishingsSupported(7);
|
||||
|
||||
|
||||
/**
|
||||
* Bind the document(s) with one or more staples (wire stitches)
|
||||
* along the middle fold.
|
||||
* Bind the document(s) with one or more staples (wire stitches)
|
||||
* along the middle fold.
|
||||
*/
|
||||
public static final FinishingsSupported SADDLE_STITCH =
|
||||
public static final FinishingsSupported SADDLE_STITCH =
|
||||
new FinishingsSupported(8);
|
||||
|
||||
|
||||
/**
|
||||
* Bind the document(s) with one or more staples (wire stitches)
|
||||
* along one edge.
|
||||
* Bind the document(s) with one or more staples (wire stitches)
|
||||
* along one edge.
|
||||
*/
|
||||
public static final FinishingsSupported EDGE_STITCH =
|
||||
public static final FinishingsSupported EDGE_STITCH =
|
||||
new FinishingsSupported(9);
|
||||
|
||||
/**
|
||||
* Bind the document(s) with one or more staples in the top left
|
||||
* corner.
|
||||
|
||||
/**
|
||||
* Bind the document(s) with one or more staples in the top left
|
||||
* corner.
|
||||
*/
|
||||
public static final FinishingsSupported STAPLE_TOP_LEFT =
|
||||
public static final FinishingsSupported STAPLE_TOP_LEFT =
|
||||
new FinishingsSupported(20);
|
||||
|
||||
/**
|
||||
* Bind the document(s) with one or more staples in the bottom
|
||||
* left corner.
|
||||
|
||||
/**
|
||||
* Bind the document(s) with one or more staples in the bottom
|
||||
* left corner.
|
||||
*/
|
||||
public static final FinishingsSupported STAPLE_BOTTOM_LEFT =
|
||||
public static final FinishingsSupported STAPLE_BOTTOM_LEFT =
|
||||
new FinishingsSupported(21);
|
||||
|
||||
|
||||
/**
|
||||
* 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);
|
||||
|
||||
|
||||
/**
|
||||
* 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);
|
||||
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
public static final FinishingsSupported EDGE_STITCH_LEFT =
|
||||
public static final FinishingsSupported EDGE_STITCH_LEFT =
|
||||
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
|
||||
* the bottom edge.
|
||||
* the top edge.
|
||||
*/
|
||||
public static final FinishingsSupported EDGE_STITCH_BOTTOM =
|
||||
new FinishingsSupported(27);
|
||||
|
||||
public static final FinishingsSupported EDGE_STITCH_TOP =
|
||||
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.
|
||||
*/
|
||||
public static final FinishingsSupported STAPLE_DUAL_LEFT =
|
||||
public static final FinishingsSupported STAPLE_DUAL_LEFT =
|
||||
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.
|
||||
*/
|
||||
public static final FinishingsSupported STAPLE_DUAL_TOP =
|
||||
public static final FinishingsSupported STAPLE_DUAL_TOP =
|
||||
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.
|
||||
*/
|
||||
public static final FinishingsSupported STAPLE_DUAL_RIGHT =
|
||||
public static final FinishingsSupported STAPLE_DUAL_RIGHT =
|
||||
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.
|
||||
*/
|
||||
public static final FinishingsSupported STAPLE_DUAL_BOTTOM =
|
||||
public static final FinishingsSupported STAPLE_DUAL_BOTTOM =
|
||||
new FinishingsSupported(31);
|
||||
|
||||
private static final String[] stringTable = { "none", "staple", null,
|
||||
private static final String[] stringTable = { "none", "staple", null,
|
||||
"cover", "bind", "saddle-stitch",
|
||||
"edge-stitch", null, null, null,
|
||||
null, null, null, null, null,
|
||||
null, null, "staple-top-left",
|
||||
"staple-bottom-left",
|
||||
"staple-top-right",
|
||||
"staple-bottom-left",
|
||||
"staple-top-right",
|
||||
"staple-bottom-right",
|
||||
"edge-stitch-left",
|
||||
"edge-stitch-top",
|
||||
@@ -185,14 +186,14 @@ public final class FinishingsSupported extends EnumSyntax
|
||||
"staple-dual-top",
|
||||
"staple-dual-right",
|
||||
"staple-dual-bottom" };
|
||||
|
||||
private static final FinishingsSupported[] enumValueTable = { NONE, STAPLE,
|
||||
null, COVER, BIND,
|
||||
|
||||
private static final FinishingsSupported[] enumValueTable = { NONE, STAPLE,
|
||||
null, COVER, BIND,
|
||||
SADDLE_STITCH,
|
||||
EDGE_STITCH, null,
|
||||
null, null, null,
|
||||
null, null, null,
|
||||
null, null, null,
|
||||
EDGE_STITCH, null,
|
||||
null, null, null,
|
||||
null, null, null,
|
||||
null, null, null,
|
||||
STAPLE_TOP_LEFT,
|
||||
STAPLE_BOTTOM_LEFT,
|
||||
STAPLE_TOP_RIGHT,
|
||||
@@ -205,10 +206,10 @@ public final class FinishingsSupported extends EnumSyntax
|
||||
STAPLE_DUAL_TOP,
|
||||
STAPLE_DUAL_RIGHT,
|
||||
STAPLE_DUAL_BOTTOM };
|
||||
|
||||
|
||||
/**
|
||||
* Constructs a <code>FinishingsSupported</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the value
|
||||
*/
|
||||
protected FinishingsSupported(int value)
|
||||
@@ -221,7 +222,7 @@ public final class FinishingsSupported extends EnumSyntax
|
||||
*
|
||||
* @return the class <code>FinishingsSupported</code> itself
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return FinishingsSupported.class;
|
||||
}
|
||||
@@ -235,7 +236,7 @@ public final class FinishingsSupported extends EnumSyntax
|
||||
{
|
||||
return "finishings-supported";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a table with the enumeration values represented as strings
|
||||
* for this object.
|
||||
@@ -266,38 +267,36 @@ public final class FinishingsSupported extends EnumSyntax
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this SupportedValuesAttribute enum.
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public Finishings getAssociatedAttribute()
|
||||
public Finishings getAssociatedAttribute()
|
||||
{
|
||||
return (Finishings) IppUtilities.getEnumAttribute(
|
||||
"finishings", new Integer(getValue()));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructs an array from a set of -supported attributes.
|
||||
* @param set set to process
|
||||
* @return The constructed array.
|
||||
*
|
||||
*
|
||||
* @see #getAssociatedAttribute()
|
||||
*/
|
||||
public static Finishings[] getAssociatedAttributeArray(Set set)
|
||||
public static Finishings[]
|
||||
getAssociatedAttributeArray(Set<Attribute> set)
|
||||
{
|
||||
FinishingsSupported tmp;
|
||||
Finishings[] result = new Finishings[set.size()];
|
||||
Iterator it = set.iterator();
|
||||
Finishings[] result = new Finishings[set.size()];
|
||||
int j = 0;
|
||||
while (it.hasNext())
|
||||
for (Attribute tmp : set)
|
||||
{
|
||||
tmp = (FinishingsSupported) it.next();
|
||||
result[j] = tmp.getAssociatedAttribute();
|
||||
result[j] = ((FinishingsSupported) tmp).getAssociatedAttribute();
|
||||
j++;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
+9
-8
@@ -1,4 +1,4 @@
|
||||
/* GeneratedNaturalLanguageSupported.java --
|
||||
/* GeneratedNaturalLanguageSupported.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
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 javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
|
||||
/**
|
||||
* GeneratedNaturalLanguageSupported attribute as described
|
||||
* GeneratedNaturalLanguageSupported attribute as described
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class GeneratedNaturalLanguageSupported
|
||||
extends NaturalLanguageSyntax
|
||||
public final class GeneratedNaturalLanguageSupported
|
||||
extends NaturalLanguageSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
|
||||
/**
|
||||
* Creates a <code>GeneratedNaturalLanguageSupported</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the charset string value.
|
||||
*/
|
||||
public GeneratedNaturalLanguageSupported(String value)
|
||||
@@ -70,7 +71,7 @@ public final class GeneratedNaturalLanguageSupported
|
||||
*
|
||||
* @return The class <code>GeneratedNaturalLanguageSupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return GeneratedNaturalLanguageSupported.class;
|
||||
}
|
||||
|
||||
+16
-15
@@ -1,4 +1,4 @@
|
||||
/* IppVersionsSupported.java --
|
||||
/* IppVersionsSupported.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -38,6 +38,7 @@ exception statement from your version. */
|
||||
|
||||
package gnu.javax.print.ipp.attribute.supported;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.EnumSyntax;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
|
||||
@@ -45,31 +46,31 @@ import javax.print.attribute.SupportedValuesAttribute;
|
||||
* IppVersionsSupported attribute as described in RFC 2911 section
|
||||
* 4.4.14 provides the value(s) (implemented as EnumSyntax)
|
||||
* of the supported IPP versions.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class IppVersionsSupported extends EnumSyntax
|
||||
public final class IppVersionsSupported extends EnumSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
|
||||
|
||||
// a keyword based attribute in IPP - int values just starting at 0
|
||||
|
||||
|
||||
/** IPP version 1.0 */
|
||||
public static final IppVersionsSupported V_1_0 =
|
||||
public static final IppVersionsSupported V_1_0 =
|
||||
new IppVersionsSupported(0);
|
||||
|
||||
|
||||
/** IPP version 1.1 */
|
||||
public static final IppVersionsSupported V_1_1 =
|
||||
public static final IppVersionsSupported V_1_1 =
|
||||
new IppVersionsSupported(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 };
|
||||
|
||||
/**
|
||||
* Constructs a <code>IppVersionsSupported</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the enum 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.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return IppVersionsSupported.class;
|
||||
}
|
||||
@@ -96,7 +97,7 @@ public final class IppVersionsSupported extends EnumSyntax
|
||||
{
|
||||
return "ipp-versions-supported";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a table with the enumeration values represented as strings
|
||||
* for this object.
|
||||
|
||||
+34
-33
@@ -1,4 +1,4 @@
|
||||
/* JobHoldUntilSupported.java --
|
||||
/* JobHoldUntilSupported.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -40,63 +40,64 @@ package gnu.javax.print.ipp.attribute.supported;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
import javax.print.attribute.TextSyntax;
|
||||
|
||||
/**
|
||||
* JobHoldUntilSupported attribute provides the supported
|
||||
* values for the attribute type job-hold-until.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class JobHoldUntilSupported extends TextSyntax
|
||||
public final class JobHoldUntilSupported extends TextSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
|
||||
// a keyword/name based attribute in IPP
|
||||
|
||||
// a keyword/name based attribute in IPP
|
||||
// can be extended by administrators
|
||||
// standard values are predefined
|
||||
|
||||
|
||||
/** Job should be printed immediately. */
|
||||
public static final JobHoldUntilSupported NO_HOLD =
|
||||
public static final JobHoldUntilSupported NO_HOLD =
|
||||
new JobHoldUntilSupported("no-hold", null);
|
||||
|
||||
|
||||
/** Job should be hold indefinitely. */
|
||||
public static final JobHoldUntilSupported INDEFINITE =
|
||||
public static final JobHoldUntilSupported INDEFINITE =
|
||||
new JobHoldUntilSupported("indefinite", null);
|
||||
|
||||
|
||||
/** Job should be processed during the day. */
|
||||
public static final JobHoldUntilSupported DAY_TIME =
|
||||
public static final JobHoldUntilSupported DAY_TIME =
|
||||
new JobHoldUntilSupported("day-time", null);
|
||||
|
||||
|
||||
/** Job should be processed in the evening. */
|
||||
public static final JobHoldUntilSupported EVENING =
|
||||
public static final JobHoldUntilSupported EVENING =
|
||||
new JobHoldUntilSupported("evening", null);
|
||||
|
||||
|
||||
/** Job should be processed during night. */
|
||||
public static final JobHoldUntilSupported NIGHT =
|
||||
public static final JobHoldUntilSupported NIGHT =
|
||||
new JobHoldUntilSupported("night", null);
|
||||
|
||||
|
||||
/** Job should be processed during the weekend. */
|
||||
public static final JobHoldUntilSupported WEEKEND =
|
||||
public static final JobHoldUntilSupported WEEKEND =
|
||||
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.
|
||||
*
|
||||
* @param value the value for this syntax
|
||||
@@ -115,7 +116,7 @@ public final class JobHoldUntilSupported extends TextSyntax
|
||||
*
|
||||
* @return The class <code>JobHoldUntilSupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return JobHoldUntilSupported.class;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* JobSheetsSupported.java --
|
||||
/* JobSheetsSupported.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -53,26 +53,26 @@ import javax.print.attribute.standard.JobSheets;
|
||||
/**
|
||||
* JobSheetsSupported attribute provides the supported values
|
||||
* of the job-sheets attribute.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class JobSheetsSupported extends TextSyntax
|
||||
public final class JobSheetsSupported extends TextSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
//a keyword/name based attribute in IPP
|
||||
//a keyword/name based attribute in IPP
|
||||
// can be extended by administrators
|
||||
// standard values are predefined
|
||||
|
||||
|
||||
/** No job sheet is the default */
|
||||
public static final JobSheetsDefault NONE =
|
||||
public static final JobSheetsDefault NONE =
|
||||
new JobSheetsDefault("none", Locale.getDefault());
|
||||
|
||||
|
||||
/** A job sheet is the default */
|
||||
public static final JobSheetsDefault STANDARD =
|
||||
public static final JobSheetsDefault STANDARD =
|
||||
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.
|
||||
*
|
||||
* @param value the value for this syntax
|
||||
@@ -85,13 +85,13 @@ public final class JobSheetsSupported extends TextSyntax
|
||||
{
|
||||
super(value, locale);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns category of this class.
|
||||
*
|
||||
* @return The class <code>JobSheetsSupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return JobSheetsSupported.class;
|
||||
}
|
||||
@@ -105,46 +105,44 @@ public final class JobSheetsSupported extends TextSyntax
|
||||
{
|
||||
return "job-sheets-supported";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this SupportedValuesAttribute enum.
|
||||
* <p>May return null if no value exists in JPS API.</p>
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public JobSheets getAssociatedAttribute()
|
||||
public JobSheets getAssociatedAttribute()
|
||||
{
|
||||
if (this.equals(JobSheetsDefault.NONE))
|
||||
return JobSheets.NONE;
|
||||
if (this.equals(JobSheetsDefault.STANDARD))
|
||||
return JobSheets.STANDARD;
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructs an array from a set of -supported attributes.
|
||||
* @param set set to process
|
||||
* @return The constructed array.
|
||||
*
|
||||
*
|
||||
* @see #getAssociatedAttribute()
|
||||
*/
|
||||
public static JobSheets[] getAssociatedAttributeArray(Set set)
|
||||
public static JobSheets[]
|
||||
getAssociatedAttributeArray(Set<Attribute> set)
|
||||
{
|
||||
JobSheetsSupported tmp;
|
||||
ArrayList result = new ArrayList();
|
||||
Iterator it = set.iterator();
|
||||
ArrayList<JobSheets> result = new ArrayList<JobSheets>();
|
||||
int j = 0;
|
||||
while (it.hasNext())
|
||||
for (Attribute tmp : set)
|
||||
{
|
||||
tmp = (JobSheetsSupported) it.next();
|
||||
Attribute att = tmp.getAssociatedAttribute();
|
||||
JobSheets att = ((JobSheetsSupported) tmp).getAssociatedAttribute();
|
||||
if (att != null)
|
||||
result.add(att);
|
||||
j++;
|
||||
}
|
||||
return (JobSheets[]) result.toArray(new JobSheets[result.size()]);
|
||||
}
|
||||
return result.toArray(new JobSheets[result.size()]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* MediaSupported.java --
|
||||
/* MediaSupported.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -45,6 +45,7 @@ import java.util.Iterator;
|
||||
import java.util.Locale;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
import javax.print.attribute.TextSyntax;
|
||||
import javax.print.attribute.standard.Media;
|
||||
@@ -52,15 +53,15 @@ import javax.print.attribute.standard.Media;
|
||||
/**
|
||||
* MediaSupported attribute provides the keyword values
|
||||
* of the media types supported by the printer object.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class MediaSupported extends TextSyntax
|
||||
public final class MediaSupported extends TextSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
|
||||
/**
|
||||
* Creates a <code>MediaSupported</code> object with the
|
||||
* Creates a <code>MediaSupported</code> object with the
|
||||
* given value and locale.
|
||||
*
|
||||
* @param value the value for this syntax
|
||||
@@ -79,7 +80,7 @@ public final class MediaSupported extends TextSyntax
|
||||
*
|
||||
* @return The class <code>MediaSupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return MediaSupported.class;
|
||||
}
|
||||
@@ -93,26 +94,23 @@ public final class MediaSupported extends TextSyntax
|
||||
{
|
||||
return "media-supported";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructs an array from a set of -supported attributes.
|
||||
* @param set set to process
|
||||
* @return The constructed array.
|
||||
*/
|
||||
public static Media[] getAssociatedAttributeArray(Set set)
|
||||
public static Media[] getAssociatedAttributeArray(Set<Attribute> set)
|
||||
{
|
||||
MediaSupported tmp;
|
||||
Media tmp2;
|
||||
ArrayList result = new ArrayList();
|
||||
Iterator it = set.iterator();
|
||||
while (it.hasNext())
|
||||
ArrayList<Media> result = new ArrayList<Media>();
|
||||
for (Attribute tmp : set)
|
||||
{
|
||||
tmp = (MediaSupported) it.next();
|
||||
tmp2 = (Media) IppUtilities.getEnumAttribute("media", tmp.toString());
|
||||
if (tmp2 != null)
|
||||
result.add(tmp2);
|
||||
}
|
||||
return (Media[]) result.toArray(new Media[result.size()]);
|
||||
}
|
||||
return result.toArray(new Media[result.size()]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+29
-30
@@ -42,6 +42,7 @@ import gnu.javax.print.ipp.IppUtilities;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.EnumSyntax;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
import javax.print.attribute.standard.MultipleDocumentHandling;
|
||||
@@ -50,49 +51,49 @@ import javax.print.attribute.standard.MultipleDocumentHandling;
|
||||
/**
|
||||
* <code>MultipleDocumentHandlingSupported</code> provides the
|
||||
* supported values for the MultipleDocumentHandling attribute.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class MultipleDocumentHandlingSupported extends EnumSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
|
||||
|
||||
//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.
|
||||
*/
|
||||
public static final MultipleDocumentHandlingSupported SINGLE_DOCUMENT =
|
||||
new MultipleDocumentHandlingSupported(0);
|
||||
|
||||
|
||||
/** Supports multiple documents as uncollated copies */
|
||||
public static final MultipleDocumentHandlingSupported SEPARATE_DOCUMENTS_UNCOLLATED_COPIES =
|
||||
new MultipleDocumentHandlingSupported(1);
|
||||
|
||||
|
||||
/** Supports multiple documents as collated copies */
|
||||
public static final MultipleDocumentHandlingSupported SEPARATE_DOCUMENTS_COLLATED_COPIES =
|
||||
new MultipleDocumentHandlingSupported(2);
|
||||
|
||||
/**
|
||||
|
||||
/**
|
||||
* Supports multiple documents where every single document starts
|
||||
* with a new sheet.
|
||||
* with a new sheet.
|
||||
*/
|
||||
public static final MultipleDocumentHandlingSupported SINGLE_DOCUMENT_NEW_SHEET =
|
||||
new MultipleDocumentHandlingSupported(3);
|
||||
|
||||
private static final String[] stringTable = { "single-document",
|
||||
private static final String[] stringTable = { "single-document",
|
||||
"separate-documents-uncollated-copies",
|
||||
"separate-documents-collated-copies",
|
||||
"single-document-new-sheet" };
|
||||
|
||||
private static final MultipleDocumentHandlingSupported[] enumValueTable =
|
||||
|
||||
private static final MultipleDocumentHandlingSupported[] enumValueTable =
|
||||
{ SINGLE_DOCUMENT, SEPARATE_DOCUMENTS_UNCOLLATED_COPIES,
|
||||
SEPARATE_DOCUMENTS_COLLATED_COPIES, SINGLE_DOCUMENT_NEW_SHEET};
|
||||
|
||||
|
||||
/**
|
||||
* Constructs a <code>MultipleDocumentHandlingSupported</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the enum value
|
||||
*/
|
||||
protected MultipleDocumentHandlingSupported(int value)
|
||||
@@ -105,7 +106,7 @@ public final class MultipleDocumentHandlingSupported extends EnumSyntax
|
||||
*
|
||||
* @return The class <code>MultipleDocumentHandlingSupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return MultipleDocumentHandlingSupported.class;
|
||||
}
|
||||
@@ -119,7 +120,7 @@ public final class MultipleDocumentHandlingSupported extends EnumSyntax
|
||||
{
|
||||
return "multiple-document-handling-supported";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a table with the enumeration values represented as strings
|
||||
* for this object.
|
||||
@@ -140,38 +141,36 @@ public final class MultipleDocumentHandlingSupported extends EnumSyntax
|
||||
{
|
||||
return enumValueTable;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this SupportedValuesAttribute enum.
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public MultipleDocumentHandling getAssociatedAttribute()
|
||||
public MultipleDocumentHandling getAssociatedAttribute()
|
||||
{
|
||||
return (MultipleDocumentHandling) IppUtilities.getEnumAttribute(
|
||||
"multiple-document-handling", new Integer(getValue()));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructs an array from a set of -supported attributes.
|
||||
* @param set set to process
|
||||
* @return The constructed array.
|
||||
*
|
||||
*
|
||||
* @see #getAssociatedAttribute()
|
||||
*/
|
||||
public static MultipleDocumentHandling[] getAssociatedAttributeArray(Set set)
|
||||
public static MultipleDocumentHandling[]
|
||||
getAssociatedAttributeArray(Set<Attribute> set)
|
||||
{
|
||||
MultipleDocumentHandlingSupported tmp;
|
||||
MultipleDocumentHandling[] result = new MultipleDocumentHandling[set.size()];
|
||||
Iterator it = set.iterator();
|
||||
MultipleDocumentHandling[] result = new MultipleDocumentHandling[set.size()];
|
||||
int j = 0;
|
||||
while (it.hasNext())
|
||||
for (Attribute tmp : set)
|
||||
{
|
||||
tmp = (MultipleDocumentHandlingSupported) it.next();
|
||||
result[j] = tmp.getAssociatedAttribute();
|
||||
result[j] = ((MultipleDocumentHandlingSupported) tmp).getAssociatedAttribute();
|
||||
j++;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
+14
-13
@@ -1,4 +1,4 @@
|
||||
/* MultipleDocumentJobsSupported.java --
|
||||
/* MultipleDocumentJobsSupported.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -38,35 +38,36 @@ exception statement from your version. */
|
||||
|
||||
package gnu.javax.print.ipp.attribute.supported;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.EnumSyntax;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
|
||||
/**
|
||||
* <code>MultipleDocumentJobsSupported</code> specifies if a printer
|
||||
* supported multiple documents in one job.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public class MultipleDocumentJobsSupported extends EnumSyntax
|
||||
public class MultipleDocumentJobsSupported extends EnumSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
|
||||
|
||||
/** Multiple documents per job are not supported. */
|
||||
public static final MultipleDocumentJobsSupported NOT_SUPPORTED =
|
||||
public static final MultipleDocumentJobsSupported NOT_SUPPORTED =
|
||||
new MultipleDocumentJobsSupported(0);
|
||||
|
||||
|
||||
/** Multiple documents per job are supported. */
|
||||
public static final MultipleDocumentJobsSupported SUPPORTED =
|
||||
public static final MultipleDocumentJobsSupported SUPPORTED =
|
||||
new MultipleDocumentJobsSupported(1);
|
||||
|
||||
private static final String[] stringTable = { "not-supported", "supported" };
|
||||
|
||||
private static final MultipleDocumentJobsSupported[] enumValueTable =
|
||||
|
||||
private static final MultipleDocumentJobsSupported[] enumValueTable =
|
||||
{ NOT_SUPPORTED, SUPPORTED };
|
||||
|
||||
|
||||
/**
|
||||
* Constructs a <code>MultipleDocumentJobsSupported</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the enum value
|
||||
*/
|
||||
protected MultipleDocumentJobsSupported(int value)
|
||||
@@ -79,7 +80,7 @@ public class MultipleDocumentJobsSupported extends EnumSyntax
|
||||
*
|
||||
* @return The class <code>MultipleDocumentJobsSupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return MultipleDocumentJobsSupported.class;
|
||||
}
|
||||
@@ -93,7 +94,7 @@ public class MultipleDocumentJobsSupported extends EnumSyntax
|
||||
{
|
||||
return "multiple-document-jobs-supported";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a table with the enumeration values represented as strings
|
||||
* for this object.
|
||||
|
||||
+58
-57
@@ -1,4 +1,4 @@
|
||||
/* OperationsSupported.java --
|
||||
/* OperationsSupported.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -38,6 +38,7 @@ exception statement from your version. */
|
||||
|
||||
package gnu.javax.print.ipp.attribute.supported;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.EnumSyntax;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
|
||||
@@ -45,12 +46,12 @@ import javax.print.attribute.SupportedValuesAttribute;
|
||||
* <code>OperationsSupported</code> specifies the enums of the operations
|
||||
* supported by a given printer or job object. The attribute is further
|
||||
* specified in RFC 2911 section 4.4.15.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class OperationsSupported extends EnumSyntax
|
||||
public final class OperationsSupported extends EnumSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
{
|
||||
/*
|
||||
* Value Operation Name
|
||||
----------------- -------------------------------------
|
||||
@@ -76,104 +77,104 @@ public final class OperationsSupported extends EnumSyntax
|
||||
0x0013-0x3FFF reserved for future IETF standards track operations
|
||||
0x4000-0x8FFF reserved for vendor extensions
|
||||
*/
|
||||
|
||||
|
||||
// standard ipp 1.1 operations
|
||||
|
||||
/**
|
||||
/**
|
||||
* Operation to print a job in one request/response. */
|
||||
public static final OperationsSupported PRINT_JOB =
|
||||
public static final OperationsSupported PRINT_JOB =
|
||||
new OperationsSupported(0x02);
|
||||
|
||||
|
||||
/** Operation to print a document from an URI */
|
||||
public static final OperationsSupported PRINT_URI =
|
||||
public static final OperationsSupported PRINT_URI =
|
||||
new OperationsSupported(0x03);
|
||||
|
||||
|
||||
/** Operation to validate a job before submission. */
|
||||
public static final OperationsSupported VALIDATE_JOB =
|
||||
public static final OperationsSupported VALIDATE_JOB =
|
||||
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);
|
||||
|
||||
/**
|
||||
* 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);
|
||||
|
||||
/**
|
||||
* Operation to send a document uri to a multidoc job created
|
||||
* via CREATE_JOB. The document accessible from this URI will be printed.
|
||||
|
||||
/**
|
||||
* Operation to send a document uri to a multidoc job created
|
||||
* 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);
|
||||
|
||||
|
||||
/** 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);
|
||||
|
||||
|
||||
/** 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);
|
||||
|
||||
|
||||
/** Operation to pause a printer. */
|
||||
public static final OperationsSupported PAUSE_PRINTER =
|
||||
public static final OperationsSupported PAUSE_PRINTER =
|
||||
new OperationsSupported(0x10);
|
||||
|
||||
|
||||
/** Operation to get all currently queued or processed jobs. */
|
||||
public static final OperationsSupported GET_JOBS =
|
||||
public static final OperationsSupported GET_JOBS =
|
||||
new OperationsSupported(0x0A);
|
||||
|
||||
|
||||
/** 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);
|
||||
|
||||
|
||||
/** 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);
|
||||
|
||||
|
||||
/** 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);
|
||||
|
||||
|
||||
/** 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);
|
||||
|
||||
|
||||
/** Not yet an operation - reserved for futher use. */
|
||||
public static final OperationsSupported RESERVED =
|
||||
public static final OperationsSupported RESERVED =
|
||||
new OperationsSupported(0x0F);
|
||||
|
||||
|
||||
/** Operation to resume a printer. */
|
||||
public static final OperationsSupported RESUME_PRINTER =
|
||||
public static final OperationsSupported RESUME_PRINTER =
|
||||
new OperationsSupported(0x11);
|
||||
|
||||
|
||||
/** 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);
|
||||
|
||||
|
||||
private static final String[] stringTable = { "print-job", "print-uri",
|
||||
private static final String[] stringTable = { "print-job", "print-uri",
|
||||
"validate-job", "create-job",
|
||||
"send-document", "send-uri",
|
||||
"send-document", "send-uri",
|
||||
"cancel-job", "get-job-attributes",
|
||||
"pause-printer", "get-jobs",
|
||||
"pause-printer", "get-jobs",
|
||||
"get-printer-attributes", "hold-job",
|
||||
"release-job", "restart-job", "reserved",
|
||||
"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,
|
||||
CANCEL_JOB, GET_JOB_ATTRIBUTES, PAUSE_PRINTER, GET_JOBS, GET_PRINTER_ATTRIBUTES,
|
||||
HOLD_JOB, RELEASE_JOB, RESTART_JOB, RESERVED, RESUME_PRINTER, PURGE_JOBS};
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Constructs a <code>OperationsSupported</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the enum value
|
||||
*/
|
||||
protected OperationsSupported(int value)
|
||||
@@ -186,7 +187,7 @@ public final class OperationsSupported extends EnumSyntax
|
||||
*
|
||||
* @return The class <code>OperationsSupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return OperationsSupported.class;
|
||||
}
|
||||
@@ -200,7 +201,7 @@ public final class OperationsSupported extends EnumSyntax
|
||||
{
|
||||
return "operations-supported";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a table with the enumeration values represented as strings
|
||||
* for this object.
|
||||
@@ -226,5 +227,5 @@ public final class OperationsSupported extends EnumSyntax
|
||||
protected int getOffset()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+26
-27
@@ -42,33 +42,34 @@ import gnu.javax.print.ipp.IppUtilities;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.EnumSyntax;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
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.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class OrientationRequestedSupported extends EnumSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
|
||||
|
||||
/** Orientation as portrait. */
|
||||
public static final OrientationRequestedSupported PORTRAIT =
|
||||
new OrientationRequestedSupported(3);
|
||||
|
||||
|
||||
/** Orientation as landscape. */
|
||||
public static final OrientationRequestedSupported LANDSCAPE =
|
||||
new OrientationRequestedSupported(4);
|
||||
|
||||
|
||||
/** Orientation as reversed landscape. */
|
||||
public static final OrientationRequestedSupported REVERSE_LANDSCAPE =
|
||||
new OrientationRequestedSupported(5);
|
||||
|
||||
|
||||
/** Orientation as reversed portrait. */
|
||||
public static final OrientationRequestedSupported REVERSE_PORTRAIT =
|
||||
new OrientationRequestedSupported(6);
|
||||
@@ -77,14 +78,14 @@ public final class OrientationRequestedSupported extends EnumSyntax
|
||||
private static final String[] stringTable = { "portrait", "landscape",
|
||||
"reverse-landscape",
|
||||
"reverse-portrait" };
|
||||
|
||||
private static final OrientationRequestedSupported[]
|
||||
enumValueTable = { PORTRAIT, LANDSCAPE,
|
||||
|
||||
private static final OrientationRequestedSupported[]
|
||||
enumValueTable = { PORTRAIT, LANDSCAPE,
|
||||
REVERSE_LANDSCAPE, REVERSE_PORTRAIT };
|
||||
|
||||
|
||||
/**
|
||||
* Constructs a <code>OrientationRequestedSupported</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the value
|
||||
*/
|
||||
protected OrientationRequestedSupported(int value)
|
||||
@@ -97,7 +98,7 @@ public final class OrientationRequestedSupported extends EnumSyntax
|
||||
*
|
||||
* @return The class <code>OrientationRequestedSupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return OrientationRequestedSupported.class;
|
||||
}
|
||||
@@ -111,7 +112,7 @@ public final class OrientationRequestedSupported extends EnumSyntax
|
||||
{
|
||||
return "orientation-requested-supported";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a table with the enumeration values represented as strings
|
||||
* for this object.
|
||||
@@ -132,7 +133,7 @@ public final class OrientationRequestedSupported extends EnumSyntax
|
||||
{
|
||||
return enumValueTable;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the lowest used value by the enumerations of this class.
|
||||
* .
|
||||
@@ -142,38 +143,36 @@ public final class OrientationRequestedSupported extends EnumSyntax
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this SupportedValuesAttribute enum.
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public OrientationRequested getAssociatedAttribute()
|
||||
public OrientationRequested getAssociatedAttribute()
|
||||
{
|
||||
return (OrientationRequested) IppUtilities.getEnumAttribute(
|
||||
"orientation-requested", new Integer(getValue()));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructs an array from a set of -supported attributes.
|
||||
* @param set set to process
|
||||
* @return The constructed array.
|
||||
*
|
||||
*
|
||||
* @see #getAssociatedAttribute()
|
||||
*/
|
||||
public static OrientationRequested[] getAssociatedAttributeArray(Set set)
|
||||
public static OrientationRequested[]
|
||||
getAssociatedAttributeArray(Set<Attribute> set)
|
||||
{
|
||||
OrientationRequestedSupported tmp;
|
||||
OrientationRequested[] result = new OrientationRequested[set.size()];
|
||||
Iterator it = set.iterator();
|
||||
OrientationRequested[] result = new OrientationRequested[set.size()];
|
||||
int j = 0;
|
||||
while (it.hasNext())
|
||||
for (Attribute tmp : set)
|
||||
{
|
||||
tmp = (OrientationRequestedSupported) it.next();
|
||||
result[j] = tmp.getAssociatedAttribute();
|
||||
result[j] = ((OrientationRequestedSupported) tmp).getAssociatedAttribute();
|
||||
j++;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
+10
-10
@@ -37,36 +37,36 @@ exception statement from your version. */
|
||||
|
||||
package gnu.javax.print.ipp.attribute.supported;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.EnumSyntax;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
|
||||
|
||||
/**
|
||||
* <code>PageRangesSupported</code> is a boolean typed
|
||||
* attribute indicating (as EnumSyntax) if page ranges
|
||||
* are supported.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class PageRangesSupported extends EnumSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
/** Page ranges are not supported. */
|
||||
public static final PageRangesSupported NOT_SUPPORTED =
|
||||
public static final PageRangesSupported NOT_SUPPORTED =
|
||||
new PageRangesSupported(0);
|
||||
|
||||
|
||||
/** Page ranges are supported. */
|
||||
public static final PageRangesSupported SUPPORTED =
|
||||
public static final PageRangesSupported SUPPORTED =
|
||||
new PageRangesSupported(1);
|
||||
|
||||
private static final String[] stringTable = { "not-supported", "supported" };
|
||||
|
||||
|
||||
private static final PageRangesSupported[] enumValueTable = { NOT_SUPPORTED,
|
||||
SUPPORTED };
|
||||
|
||||
|
||||
/**
|
||||
* Constructs a <code>PageRangesSupported</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the enum value
|
||||
*/
|
||||
protected PageRangesSupported(int value)
|
||||
@@ -79,7 +79,7 @@ public final class PageRangesSupported extends EnumSyntax
|
||||
*
|
||||
* @return The class <code>PageRangesSupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return PageRangesSupported.class;
|
||||
}
|
||||
@@ -93,7 +93,7 @@ public final class PageRangesSupported extends EnumSyntax
|
||||
{
|
||||
return "page-ranges-supported";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a table with the enumeration values represented as strings
|
||||
* for this object.
|
||||
|
||||
+25
-27
@@ -42,6 +42,7 @@ import gnu.javax.print.ipp.IppUtilities;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.EnumSyntax;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
import javax.print.attribute.standard.PrintQuality;
|
||||
@@ -50,33 +51,33 @@ import javax.print.attribute.standard.PrintQuality;
|
||||
/**
|
||||
* <code>PrintQualitySupported</code> provides the
|
||||
* supported values for the print-quality attribute.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class PrintQualitySupported extends EnumSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
/** Draft quality of the printer. */
|
||||
public static final PrintQualitySupported DRAFT =
|
||||
public static final PrintQualitySupported DRAFT =
|
||||
new PrintQualitySupported(3);
|
||||
|
||||
|
||||
/** Normal quality of the printer. */
|
||||
public static final PrintQualitySupported NORMAL =
|
||||
public static final PrintQualitySupported NORMAL =
|
||||
new PrintQualitySupported(4);
|
||||
|
||||
|
||||
/** High quality of the printer. */
|
||||
public static final PrintQualitySupported HIGH =
|
||||
public static final PrintQualitySupported HIGH =
|
||||
new PrintQualitySupported(5);
|
||||
|
||||
private static final String[] stringTable = { "draft", "normal", "high" };
|
||||
|
||||
private static final PrintQualitySupported[] enumValueTable = { DRAFT,
|
||||
NORMAL,
|
||||
|
||||
private static final PrintQualitySupported[] enumValueTable = { DRAFT,
|
||||
NORMAL,
|
||||
HIGH };
|
||||
|
||||
|
||||
/**
|
||||
* Constructs a <code>PrintQualitySupported</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the value of the enum
|
||||
*/
|
||||
protected PrintQualitySupported(int value)
|
||||
@@ -89,7 +90,7 @@ public final class PrintQualitySupported extends EnumSyntax
|
||||
*
|
||||
* @return The class <code>PrintQualitySupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return PrintQualitySupported.class;
|
||||
}
|
||||
@@ -103,7 +104,7 @@ public final class PrintQualitySupported extends EnumSyntax
|
||||
{
|
||||
return "print-quality-supported";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a table with the enumeration values represented as strings
|
||||
* for this object.
|
||||
@@ -124,7 +125,7 @@ public final class PrintQualitySupported extends EnumSyntax
|
||||
{
|
||||
return enumValueTable;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the lowest used value by the enumerations of this class.
|
||||
* .
|
||||
@@ -134,38 +135,35 @@ public final class PrintQualitySupported extends EnumSyntax
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this SupportedValuesAttribute enum.
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public PrintQuality getAssociatedAttribute()
|
||||
public PrintQuality getAssociatedAttribute()
|
||||
{
|
||||
return (PrintQuality) IppUtilities.getEnumAttribute(
|
||||
"print-quality", new Integer(getValue()));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructs an array from a set of -supported attributes.
|
||||
* @param set set to process
|
||||
* @return The constructed array.
|
||||
*
|
||||
*
|
||||
* @see #getAssociatedAttribute()
|
||||
*/
|
||||
public static PrintQuality[] getAssociatedAttributeArray(Set set)
|
||||
public static PrintQuality[] getAssociatedAttributeArray(Set<Attribute> set)
|
||||
{
|
||||
PrintQualitySupported tmp;
|
||||
PrintQuality[] result = new PrintQuality[set.size()];
|
||||
Iterator it = set.iterator();
|
||||
PrintQuality[] result = new PrintQuality[set.size()];
|
||||
int j = 0;
|
||||
while (it.hasNext())
|
||||
for (Attribute tmp : set)
|
||||
{
|
||||
tmp = (PrintQualitySupported) it.next();
|
||||
result[j] = tmp.getAssociatedAttribute();
|
||||
result[j] = ((PrintQualitySupported) tmp).getAssociatedAttribute();
|
||||
j++;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
+22
-23
@@ -40,23 +40,24 @@ package gnu.javax.print.ipp.attribute.supported;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.ResolutionSyntax;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
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.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class PrinterResolutionSupported extends ResolutionSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* Creates a <code>PrinterResolutionSupported</code> object with the
|
||||
* Creates a <code>PrinterResolutionSupported</code> object with the
|
||||
* given arguments.
|
||||
*
|
||||
* @param crossFeedResolution the cross feed resolution
|
||||
@@ -65,25 +66,25 @@ public final class PrinterResolutionSupported extends ResolutionSyntax
|
||||
*
|
||||
* @exception IllegalArgumentException if preconditions fail
|
||||
*/
|
||||
public PrinterResolutionSupported(int crossFeedResolution,
|
||||
public PrinterResolutionSupported(int crossFeedResolution,
|
||||
int feedResolution, int units)
|
||||
{
|
||||
super(crossFeedResolution, feedResolution, units);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Tests if the given object is equal to this object.
|
||||
*
|
||||
* @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.
|
||||
*/
|
||||
public boolean equals(Object obj)
|
||||
{
|
||||
if(! (obj instanceof PrinterResolutionSupported))
|
||||
return false;
|
||||
|
||||
|
||||
return super.equals(obj);
|
||||
}
|
||||
|
||||
@@ -92,7 +93,7 @@ public final class PrinterResolutionSupported extends ResolutionSyntax
|
||||
*
|
||||
* @return The class <code>PrinterResolutionSupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return PrinterResolutionSupported.class;
|
||||
}
|
||||
@@ -106,38 +107,36 @@ public final class PrinterResolutionSupported extends ResolutionSyntax
|
||||
{
|
||||
return "printer-resolution-supported";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the equally enum of the standard attribute class
|
||||
* of this SupportedValuesAttribute enum.
|
||||
*
|
||||
*
|
||||
* @return The enum of the standard attribute class.
|
||||
*/
|
||||
public PrinterResolution getAssociatedAttribute()
|
||||
public PrinterResolution getAssociatedAttribute()
|
||||
{
|
||||
return new PrinterResolution(getCrossFeedResolutionDphi(),
|
||||
return new PrinterResolution(getCrossFeedResolutionDphi(),
|
||||
getFeedResolutionDphi(), 1);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructs an array from a set of -supported attributes.
|
||||
* @param set set to process
|
||||
* @return The constructed array.
|
||||
*
|
||||
*
|
||||
* @see #getAssociatedAttribute()
|
||||
*/
|
||||
public static PrinterResolution[] getAssociatedAttributeArray(Set set)
|
||||
public static PrinterResolution[]
|
||||
getAssociatedAttributeArray(Set<Attribute> set)
|
||||
{
|
||||
PrinterResolutionSupported tmp;
|
||||
PrinterResolution[] result = new PrinterResolution[set.size()];
|
||||
Iterator it = set.iterator();
|
||||
PrinterResolution[] result = new PrinterResolution[set.size()];
|
||||
int j = 0;
|
||||
while (it.hasNext())
|
||||
for (Attribute tmp : set)
|
||||
{
|
||||
tmp = (PrinterResolutionSupported) it.next();
|
||||
result[j] = tmp.getAssociatedAttribute();
|
||||
result[j] = ((PrinterResolutionSupported) tmp).getAssociatedAttribute();
|
||||
j++;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* PrinterUriSupported.java --
|
||||
/* PrinterUriSupported.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -40,6 +40,7 @@ package gnu.javax.print.ipp.attribute.supported;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
import javax.print.attribute.URISyntax;
|
||||
|
||||
@@ -47,10 +48,10 @@ import javax.print.attribute.URISyntax;
|
||||
* PrinterUriSupported attribute as described in RFC 2911 section
|
||||
* 4.4.1 contains one of the URIs the printer supported for
|
||||
* job processing (e.g. one with authentication).
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class PrinterUriSupported extends URISyntax
|
||||
public final class PrinterUriSupported extends URISyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
|
||||
@@ -70,7 +71,7 @@ public final class PrinterUriSupported extends URISyntax
|
||||
*
|
||||
* @return The class <code>PrinterUriSupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return PrinterUriSupported.class;
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ exception statement from your version. */
|
||||
|
||||
package gnu.javax.print.ipp.attribute.supported;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.EnumSyntax;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
|
||||
@@ -44,45 +45,45 @@ import javax.print.attribute.SupportedValuesAttribute;
|
||||
/**
|
||||
* <code>SidesSupported</code> provides the
|
||||
* supported values for the sides attribute.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class SidesSupported extends EnumSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
|
||||
|
||||
/** Specifies that each page should be printed on one sheet. */
|
||||
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.
|
||||
*/
|
||||
public static final SidesSupported TWO_SIDED_LONG_EDGE =
|
||||
public static final SidesSupported TWO_SIDED_LONG_EDGE =
|
||||
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.
|
||||
*/
|
||||
public static final SidesSupported TWO_SIDED_SHORT_EDGE =
|
||||
public static final SidesSupported TWO_SIDED_SHORT_EDGE =
|
||||
new SidesSupported(2);
|
||||
|
||||
|
||||
/** An alias constant for "two sided long edge". */
|
||||
public static final SidesSupported DUPLEX = new SidesSupported(1);
|
||||
|
||||
|
||||
/** An alias constant for "two sided short edge". */
|
||||
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-short-edge" };
|
||||
|
||||
private static final SidesSupported[]
|
||||
enumValueTable = { ONE_SIDED, TWO_SIDED_LONG_EDGE,
|
||||
|
||||
private static final SidesSupported[]
|
||||
enumValueTable = { ONE_SIDED, TWO_SIDED_LONG_EDGE,
|
||||
TWO_SIDED_SHORT_EDGE };
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Creates a <code>SidesSupported</code> object.
|
||||
*
|
||||
@@ -98,7 +99,7 @@ public final class SidesSupported extends EnumSyntax
|
||||
*
|
||||
* @return The class <code>SidesSupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return SidesSupported.class;
|
||||
}
|
||||
@@ -112,7 +113,7 @@ public final class SidesSupported extends EnumSyntax
|
||||
{
|
||||
return "sides-supported";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a table with the enumeration values represented as strings
|
||||
* for this object.
|
||||
|
||||
+26
-25
@@ -1,4 +1,4 @@
|
||||
/* UriAuthenticationSupported.java --
|
||||
/* UriAuthenticationSupported.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -38,58 +38,59 @@ exception statement from your version. */
|
||||
|
||||
package gnu.javax.print.ipp.attribute.supported;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.EnumSyntax;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
|
||||
/**
|
||||
* 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
|
||||
* includes a value of none.
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class UriAuthenticationSupported extends EnumSyntax
|
||||
public final class UriAuthenticationSupported extends EnumSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
|
||||
|
||||
// a keyword based attribute in IPP - int values just starting at 0
|
||||
|
||||
|
||||
/** Supports no authentication - assumes anonymous process */
|
||||
public static final UriAuthenticationSupported NONE =
|
||||
public static final UriAuthenticationSupported NONE =
|
||||
new UriAuthenticationSupported(0);
|
||||
|
||||
/**
|
||||
|
||||
/**
|
||||
* The authenticated user assumed is the value of the
|
||||
* "requesting-user-name" operation attribute supplied
|
||||
* with the operation.
|
||||
*/
|
||||
public static final UriAuthenticationSupported REQUESTING_USER_NAME =
|
||||
public static final UriAuthenticationSupported REQUESTING_USER_NAME =
|
||||
new UriAuthenticationSupported(1);
|
||||
|
||||
|
||||
/** Supports HTTP basic authentication (RFC 2617) */
|
||||
public static final UriAuthenticationSupported BASIC =
|
||||
public static final UriAuthenticationSupported BASIC =
|
||||
new UriAuthenticationSupported(2);
|
||||
|
||||
|
||||
/** Supports HTTP digest authentication (RFC 2617) */
|
||||
public static final UriAuthenticationSupported DIGEST =
|
||||
public static final UriAuthenticationSupported DIGEST =
|
||||
new UriAuthenticationSupported(3);
|
||||
|
||||
|
||||
/** Supports authentication through a client provided certificate */
|
||||
public static final UriAuthenticationSupported CERTIFICATE =
|
||||
public static final UriAuthenticationSupported CERTIFICATE =
|
||||
new UriAuthenticationSupported(4);
|
||||
|
||||
private static final String[] stringTable = { "none",
|
||||
"requesting-user-name",
|
||||
"basic", "digest",
|
||||
|
||||
private static final String[] stringTable = { "none",
|
||||
"requesting-user-name",
|
||||
"basic", "digest",
|
||||
"certificate" };
|
||||
|
||||
private static final UriAuthenticationSupported[] enumValueTable =
|
||||
|
||||
private static final UriAuthenticationSupported[] enumValueTable =
|
||||
{ NONE, REQUESTING_USER_NAME, BASIC, DIGEST, CERTIFICATE };
|
||||
|
||||
/**
|
||||
* Constructs a <code>UriAuthenticationSupported</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the enum value
|
||||
*/
|
||||
public UriAuthenticationSupported(int value)
|
||||
@@ -102,7 +103,7 @@ public final class UriAuthenticationSupported extends EnumSyntax
|
||||
*
|
||||
* @return The class <code>UriAuthenticationSupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return UriAuthenticationSupported.class;
|
||||
}
|
||||
@@ -116,7 +117,7 @@ public final class UriAuthenticationSupported extends EnumSyntax
|
||||
{
|
||||
return "uri-authentication-supported";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a table with the enumeration values represented as strings
|
||||
* for this object.
|
||||
|
||||
+17
-16
@@ -1,4 +1,4 @@
|
||||
/* UriSecuritySupported.java --
|
||||
/* UriSecuritySupported.java --
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -38,6 +38,7 @@ exception statement from your version. */
|
||||
|
||||
package gnu.javax.print.ipp.attribute.supported;
|
||||
|
||||
import javax.print.attribute.Attribute;
|
||||
import javax.print.attribute.EnumSyntax;
|
||||
import javax.print.attribute.SupportedValuesAttribute;
|
||||
|
||||
@@ -46,35 +47,35 @@ import javax.print.attribute.SupportedValuesAttribute;
|
||||
* 4.4.3 provides the keywords (implemented as EnumSyntax) for
|
||||
* the security mechanisms supported by the corresponding uri's
|
||||
* supported (same place in setOf).
|
||||
*
|
||||
*
|
||||
* @author Wolfgang Baer (WBaer@gmx.de)
|
||||
*/
|
||||
public final class UriSecuritySupported extends EnumSyntax
|
||||
public final class UriSecuritySupported extends EnumSyntax
|
||||
implements SupportedValuesAttribute
|
||||
{
|
||||
|
||||
|
||||
// a keyword based attribute in IPP - int values just starting at 0
|
||||
|
||||
|
||||
/** The URI has no secure communication */
|
||||
public static final UriSecuritySupported NONE =
|
||||
public static final UriSecuritySupported NONE =
|
||||
new UriSecuritySupported(0);
|
||||
|
||||
|
||||
/** The URI has SSL3 communication */
|
||||
public static final UriSecuritySupported SSL3 =
|
||||
public static final UriSecuritySupported SSL3 =
|
||||
new UriSecuritySupported(1);
|
||||
|
||||
|
||||
/** The URI has TLS (RFC 2246) communication */
|
||||
public static final UriSecuritySupported TLS =
|
||||
public static final UriSecuritySupported TLS =
|
||||
new UriSecuritySupported(2);
|
||||
|
||||
|
||||
private static final String[] stringTable = { "none", "ssl3", "tls" };
|
||||
|
||||
private static final UriSecuritySupported[] enumValueTable = { NONE,
|
||||
|
||||
private static final UriSecuritySupported[] enumValueTable = { NONE,
|
||||
SSL3, TLS };
|
||||
|
||||
/**
|
||||
* Constructs a <code>UriSecuritySupported</code> object.
|
||||
*
|
||||
*
|
||||
* @param value the enum value
|
||||
*/
|
||||
public UriSecuritySupported(int value)
|
||||
@@ -87,7 +88,7 @@ public final class UriSecuritySupported extends EnumSyntax
|
||||
*
|
||||
* @return The class <code>UriSecuritySupported</code> itself.
|
||||
*/
|
||||
public Class getCategory()
|
||||
public Class<? extends Attribute> getCategory()
|
||||
{
|
||||
return UriSecuritySupported.class;
|
||||
}
|
||||
@@ -101,7 +102,7 @@ public final class UriSecuritySupported extends EnumSyntax
|
||||
{
|
||||
return "uri-security-supported";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns a table with the enumeration values represented as strings
|
||||
* for this object.
|
||||
|
||||
@@ -38,6 +38,9 @@ exception statement from your version. */
|
||||
|
||||
package gnu.javax.swing.text.html.css;
|
||||
|
||||
import gnu.java.lang.CPStringBuilder;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
@@ -97,7 +100,7 @@ public class Selector
|
||||
* @return <code>true</code> when this selector matches the element path,
|
||||
* <code>false</code> otherwise
|
||||
*/
|
||||
public boolean matches(String[] tags, Map[] attributes)
|
||||
public boolean matches(String[] tags, List<Map<String,String>> attributes)
|
||||
{
|
||||
// TODO: This implements class, id and descendent matching. These are
|
||||
// the most commonly used selector matchers in CSS together with HTML.
|
||||
@@ -118,11 +121,11 @@ public class Selector
|
||||
boolean tagMatch = false;
|
||||
for (; tagIndex < numTags && tagMatch == false; tagIndex++)
|
||||
{
|
||||
Object pathClass = attributes[tagIndex].get("class");
|
||||
Object pathClass = attributes.get(tagIndex).get("class");
|
||||
// Try pseudo class too.
|
||||
Object pseudoClass = attributes[tagIndex].get("_pseudo");
|
||||
Object dynClass = attributes[tagIndex].get("_dynamic");
|
||||
Object pathId = attributes[tagIndex].get("id");
|
||||
Object pseudoClass = attributes.get(tagIndex).get("_pseudo");
|
||||
Object dynClass = attributes.get(tagIndex).get("_dynamic");
|
||||
Object pathId = attributes.get(tagIndex).get("id");
|
||||
String tag = elements[j];
|
||||
String clazz = classes[j];
|
||||
String id = ids[j];
|
||||
@@ -167,7 +170,7 @@ public class Selector
|
||||
*/
|
||||
public String toString()
|
||||
{
|
||||
StringBuilder b = new StringBuilder();
|
||||
CPStringBuilder b = new CPStringBuilder();
|
||||
for (int i = selector.length - 1; i >= 0; i--)
|
||||
{
|
||||
b.append(selector[i]);
|
||||
|
||||
@@ -40,10 +40,10 @@ package gnu.xml.stream;
|
||||
import javax.xml.stream.StreamFilter;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
import javax.xml.stream.XMLStreamReader;
|
||||
import javax.xml.stream.util.ReaderDelegate;
|
||||
import javax.xml.stream.util.StreamReaderDelegate;
|
||||
|
||||
class FilteredStreamReader
|
||||
extends ReaderDelegate
|
||||
extends StreamReaderDelegate
|
||||
{
|
||||
|
||||
final XMLStreamReader reader;
|
||||
|
||||
@@ -39,6 +39,7 @@ package gnu.xml.stream;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.Writer;
|
||||
import javax.xml.namespace.QName;
|
||||
import javax.xml.stream.Location;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
import javax.xml.stream.events.Namespace;
|
||||
@@ -55,12 +56,15 @@ public class NamespaceImpl
|
||||
|
||||
protected final String prefix;
|
||||
protected final String uri;
|
||||
protected final boolean specified;
|
||||
|
||||
protected NamespaceImpl(Location location, String prefix, String uri)
|
||||
protected NamespaceImpl(Location location, String prefix, String uri,
|
||||
boolean specified)
|
||||
{
|
||||
super(location);
|
||||
this.prefix = prefix;
|
||||
this.uri = uri;
|
||||
this.specified = specified;
|
||||
}
|
||||
|
||||
public int getEventType()
|
||||
@@ -78,6 +82,29 @@ public class NamespaceImpl
|
||||
return uri;
|
||||
}
|
||||
|
||||
public boolean isSpecified()
|
||||
{
|
||||
return specified;
|
||||
}
|
||||
|
||||
public QName getName()
|
||||
{
|
||||
if (isDefaultNamespaceDeclaration())
|
||||
return new QName("", "xmlns", null);
|
||||
else
|
||||
return new QName("", prefix, "xmlns");
|
||||
}
|
||||
|
||||
public String getDTDType()
|
||||
{
|
||||
return "CDATA";
|
||||
}
|
||||
|
||||
public String getValue()
|
||||
{
|
||||
return uri;
|
||||
}
|
||||
|
||||
public boolean isDefaultNamespaceDeclaration()
|
||||
{
|
||||
return (prefix == null || "".equals(prefix));
|
||||
|
||||
@@ -54,7 +54,7 @@ import javax.xml.parsers.ParserConfigurationException;
|
||||
import javax.xml.stream.XMLStreamConstants;
|
||||
import javax.xml.stream.XMLStreamException;
|
||||
import javax.xml.stream.XMLStreamReader;
|
||||
import javax.xml.stream.util.ReaderDelegate;
|
||||
import javax.xml.stream.util.StreamReaderDelegate;
|
||||
|
||||
import org.w3c.dom.Attr;
|
||||
import org.w3c.dom.Document;
|
||||
@@ -81,7 +81,7 @@ import org.xml.sax.SAXException;
|
||||
* @author <a href='mailto:dog@gnu.org'>Chris Burdess</a>
|
||||
*/
|
||||
class XIncludeFilter
|
||||
extends ReaderDelegate
|
||||
extends StreamReaderDelegate
|
||||
{
|
||||
|
||||
static final String XINCLUDE_NS_URI = "http://www.w3.org/2001/XInclude";
|
||||
|
||||
@@ -110,7 +110,8 @@ public class XMLEventAllocatorImpl
|
||||
for (int i = 0; i < len; i++)
|
||||
namespaces.add(new NamespaceImpl(location,
|
||||
reader.getNamespacePrefix(i),
|
||||
reader.getNamespaceURI(i)));
|
||||
reader.getNamespaceURI(i),
|
||||
false));
|
||||
return new EndElementImpl(location,
|
||||
reader.getName(),
|
||||
namespaces);
|
||||
@@ -158,7 +159,8 @@ public class XMLEventAllocatorImpl
|
||||
for (int i = 0; i < len; i++)
|
||||
namespaces.add(new NamespaceImpl(location,
|
||||
reader.getNamespacePrefix(i),
|
||||
reader.getNamespaceURI(i)));
|
||||
reader.getNamespaceURI(i),
|
||||
false));
|
||||
len = reader.getAttributeCount();
|
||||
List attributes = new LinkedList();
|
||||
for (int i = 0; i < len; i++)
|
||||
|
||||
@@ -98,12 +98,14 @@ public class XMLEventFactoryImpl
|
||||
public Namespace createNamespace(String namespaceURI)
|
||||
{
|
||||
return new NamespaceImpl(location,
|
||||
XMLConstants.DEFAULT_NS_PREFIX, namespaceURI);
|
||||
XMLConstants.DEFAULT_NS_PREFIX,
|
||||
namespaceURI,
|
||||
true);
|
||||
}
|
||||
|
||||
public Namespace createNamespace(String prefix, String namespaceUri)
|
||||
{
|
||||
return new NamespaceImpl(location, prefix, namespaceUri);
|
||||
return new NamespaceImpl(location, prefix, namespaceUri, true);
|
||||
}
|
||||
|
||||
public StartElement createStartElement(QName name,
|
||||
|
||||
@@ -242,7 +242,7 @@ public class XMLStreamWriterImpl
|
||||
{
|
||||
if (namespaceURI != null && !isURI(namespaceURI))
|
||||
throw new IllegalArgumentException("illegal URI: " + namespaceURI);
|
||||
if (prefix != null && !isNCName(prefix))
|
||||
if (prefix != null && !isPrefix(prefix))
|
||||
throw new IllegalArgumentException("illegal NCName: " + prefix);
|
||||
if (!isNCName(localName))
|
||||
throw new IllegalArgumentException("illegal NCName: " + localName);
|
||||
@@ -394,7 +394,7 @@ public class XMLStreamWriterImpl
|
||||
{
|
||||
if (namespaceURI != null && !isURI(namespaceURI))
|
||||
throw new IllegalArgumentException("illegal URI: " + namespaceURI);
|
||||
if (prefix != null && !isNCName(prefix))
|
||||
if (prefix != null && !isPrefix(prefix))
|
||||
throw new IllegalArgumentException("illegal NCName: " + prefix);
|
||||
if (!isNCName(localName))
|
||||
throw new IllegalArgumentException("illegal NCName: " + localName);
|
||||
@@ -490,13 +490,18 @@ public class XMLStreamWriterImpl
|
||||
public void writeNamespace(String prefix, String namespaceURI)
|
||||
throws XMLStreamException
|
||||
{
|
||||
if (prefix == null || "".equals(prefix) || "xmlns".equals(prefix))
|
||||
{
|
||||
writeDefaultNamespace(namespaceURI);
|
||||
return;
|
||||
}
|
||||
if (!inStartElement)
|
||||
throw new IllegalStateException();
|
||||
try
|
||||
{
|
||||
if (!isURI(namespaceURI))
|
||||
throw new IllegalArgumentException("illegal URI: " + namespaceURI);
|
||||
if (!isNCName(prefix))
|
||||
if (!isPrefix(prefix))
|
||||
throw new IllegalArgumentException("illegal NCName: " + prefix);
|
||||
}
|
||||
catch (IOException e)
|
||||
@@ -790,7 +795,7 @@ public class XMLStreamWriterImpl
|
||||
{
|
||||
if (!isURI(uri))
|
||||
throw new IllegalArgumentException("illegal URI: " + uri);
|
||||
if (!isNCName(prefix))
|
||||
if (!isPrefix(prefix))
|
||||
throw new IllegalArgumentException("illegal NCName: " + prefix);
|
||||
}
|
||||
catch (IOException e)
|
||||
@@ -938,6 +943,15 @@ public class XMLStreamWriterImpl
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean isPrefix(String text)
|
||||
throws IOException
|
||||
{
|
||||
if (XMLConstants.DEFAULT_NS_PREFIX.equals(text)) {
|
||||
return true;
|
||||
}
|
||||
return isNCName(text);
|
||||
}
|
||||
|
||||
private boolean isNCName(String text)
|
||||
throws IOException
|
||||
{
|
||||
@@ -1001,3 +1015,4 @@ public class XMLStreamWriterImpl
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user