8176046: Replace package.html files with package-info.java in the java.desktop module

Reviewed-by: alexsch
This commit is contained in:
Sergey Bylokhov 2017-03-05 23:02:04 +03:00
parent 502d959a2d
commit 1d0cc3c1bd
46 changed files with 2446 additions and 2350 deletions

View File

@ -0,0 +1,34 @@
/*
* Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Classes for receiving gesture events. Provides a mechanism to receive various
* gesture events on JComponents. Gesture notifications are relayed up the
* component hierarchy from the deepest component under the cursor to the
* top-level container. Events may be consumed by deeper components to prevent
* them from propagating to higher components. Gesture listeners are added to
* components using the GestureUtilities helper class.
*/
package com.apple.eawt.event;

View File

@ -1,13 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body bgcolor="white">
Classes for receiving gesture events.
Provides a mechanism to receive various gesture events on JComponents. Gesture notifications are relayed up the component hierarchy from the deepest component under the cursor to the top-level container. Events may be consumed by deeper components to prevent them from propagating to higher components.
Gesture listeners are added to components using the GestureUtilities helper class.
</body>
</html>

View File

@ -0,0 +1,36 @@
/*
* Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides classes for integrating Java applications with the native
* application environment. These classes provide a simple way to implement
* native features to fine tune Java applications on Mac OS X. These listeners
* and handlers can help make Java applications behaviors and user interface
* indistinguishable from native applications. For further information on the
* Mac OS X user interface, consult the <a target=_blank
* href="http://developer.apple.com/mac/library/documentation/UserExperience/Conceptual/AppleHIGuidelines">
* Aqua Human Interface Guidelines</a>.
*/
package com.apple.eawt;

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body bgcolor="white">
Provides classes for integrating Java applications with the native application environment.
These classes provide a simple way to implement native features to fine tune Java applications on Mac OS X. These listeners and handlers can help make Java applications behaviors and user interface indistinguishable from native applications. For further information on the Mac OS X user interface, consult the <a target=_blank href="http://developer.apple.com/mac/library/documentation/UserExperience/Conceptual/AppleHIGuidelines"> Aqua Human Interface Guidelines</a>.</body>
</html>

View File

@ -0,0 +1,36 @@
/*
* Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides classes to allow you to take advantage of functionality of the
* underlying Mac OS X operating system. The classes in this package provide
* access to features of Mac OS X that may or may not be present on other
* platforms. It should be noted that depending on any of these features ties
* Java applications to Mac OS X. For more thorough explanation of some of the
* topics discussed here, please refer to <a target=_blank
* href="http://developer.apple.com/techpubs/macosx/Essentials/SystemOverview/index.html">
* Inside Mac OS X: System Overview</a>.
*/
package com.apple.eio;

View File

@ -1,7 +0,0 @@
<html>
<head>
</head>
<body bgcolor="white">
Provides classes to allow you to take advantage of functionality of the underlying Mac OS X operating system.
The classes in this package provide access to features of Mac OS X that may or may not be present on other platforms. It should be noted that depending on any of these features ties Java applications to Mac OS X. For more thorough explanation of some of the topics discussed here, please refer to <a target=_blank href="http://developer.apple.com/techpubs/macosx/Essentials/SystemOverview/index.html">Inside Mac OS X: System Overview</a>.</body>
</html>

View File

@ -0,0 +1,49 @@
/*
* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides the classes necessary to create an applet and the classes an applet
* uses to communicate with its applet context.
* <p>
* The applet framework involves two entities: the <i>applet</i> and the
* <i>applet context</i>. An applet is an embeddable window (see the Panel
* class) with a few extra methods that the applet context can use to
* initialize, start, and stop the applet.
* <p>
* The applet context is an application that is responsible for loading and
* running applets. For example, the applet context could be a Web browser or an
* applet development environment.
* <p>
* The APIs in this package are all deprecated. Alternative technologies such as
* Java Web Start or installable applications should be used instead.
* See <a href="http://openjdk.java.net/jeps/289">JEP 289</a> and
* the Oracle White Paper
* <a href="http://www.oracle.com/technetwork/java/javase/migratingfromapplets-2872444.pdf">
* "Migrating from Java Applets to plugin-free Java technologies"</a> for more
* information.
*
* @since 1.0
*/
package java.applet;

View File

@ -1,65 +0,0 @@
<!--
Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<body bgcolor="white">
Provides the classes necessary to create an applet and the classes an applet
uses to communicate with its applet context.
<p>
The applet framework involves two
entities: the <i>applet</i> and the <i>applet context</i>. An applet is an
embeddable window (see the Panel class) with a few extra methods that the applet
context can use to initialize, start, and stop the applet.
<p>
The applet context is an application that is responsible for loading and running
applets. For example, the applet context could be a Web browser or an applet
development environment.
<p>
The APIs in this package are all deprecated. Alternative technologies such as Java Web Start
or installable applications should be used instead. See <a href="http://openjdk.java.net/jeps/289">JEP 289</a>
and the Oracle White Paper <a href="http://www.oracle.com/technetwork/java/javase/migratingfromapplets-2872444.pdf">
"Migrating from Java Applets to plugin-free Java technologies"</a> for more information.
<p>
<!--
<h2>Package Specification</h2>
##### FILL IN ANY SPECS NEEDED BY JAVA COMPATIBILITY KIT #####
<ul>
<li><a href="">##### REFER TO ANY FRAMEMAKER SPECIFICATION HERE #####</a>
</ul>
<h2>Related Documentation</h2>
For overviews, tutorials, examples, guides, and tool documentation, please see:
<ul>
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
</ul>
-->
@since 1.0
</body>
</html>

View File

@ -0,0 +1,36 @@
/*
* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides classes and interfaces relating to bean context. A bean context is a
* container for beans and defines the execution environment for the beans it
* contains. There can be several beans in a single bean context, and a bean
* context can be nested within another bean context. This package also
* contains events and listener interface for beans being added and removed from
* a bean context.
*
* @since 1.2
*/
package java.beans.beancontext;

View File

@ -1,55 +0,0 @@
<!--
Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<body bgcolor="white">
Provides classes and interfaces relating to bean context.
A bean context is a container for beans and defines the execution
environment for the beans it contains. There can be several beans in
a single bean context, and a bean context can be nested within another
bean context. This package also contains events and listener
interface for beans being added and removed from a bean context.
<!--
<h2>Package Specification</h2>
##### FILL IN ANY SPECS NEEDED BY JAVA COMPATIBILITY KIT #####
<ul>
<li><a href="">##### REFER TO ANY FRAMEMAKER SPECIFICATION HERE #####</a>
</ul>
<h2>Related Documentation</h2>
For overviews, tutorials, examples, guides, and tool documentation, please see:
<ul>
<li><a href="">##### REFER TO NON-SPEC DOCUMENTATION HERE #####</a>
</ul>
-->
@since 1.2
</body>
</html>

View File

@ -0,0 +1,112 @@
/*
* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Contains classes related to developing <em>beans</em> -- components based on
* the JavaBeans&trade; architecture. A few of the classes are used by beans
* while they run in an application. For example, the event classes are used by
* beans that fire property and vetoable change events (see
* {@link java.beans.PropertyChangeEvent}). However, most of the classes in this
* package are meant to be used by a bean editor (that is, a development
* environment for customizing and putting together beans to create an
* application). In particular, these classes help the bean editor create a user
* interface that the user can use to customize the bean. For example, a bean
* may contain a property of a special type that a bean editor may not know how
* to handle. By using the {@code PropertyEditor} interface, a bean developer
* can provide an editor for this special type.
* <p>
* To minimize the resources used by a bean, the classes used by bean editors
* are loaded only when the bean is being edited. They are not needed while the
* bean is running in an application and therefore not loaded. This information
* is kept in what's called a bean-info (see {@link java.beans.BeanInfo}).
* <p>
* Unless explicitly stated, null values or empty Strings are not valid
* parameters for the methods in this package. You may expect to see exceptions
* if these parameters are used.
*
* <h2>Long-Term Persistence</h2>
* As of v1.4, the {@code java.beans} package provides support for <em>long-term
* persistence</em> -- reading and writing a bean as a textual representation of
* its property values. The property values are treated as beans, and are
* recursively read or written to capture their publicly available state. This
* approach is suitable for long-term storage because it relies only on public
* API, rather than the likely-to-change private implementation.
*
* <blockquote><hr><b>Note:</b> The persistence scheme cannot automatically
* instantiate custom inner classes, such as you might use for event handlers.
* By using the {@link java.beans.EventHandler} class instead of inner classes
* for custom event handlers, you can avoid this problem.<hr></blockquote>
* <p>
* You read and write beans in XML format using the
* {@link java.beans.XMLDecoder} and {@link java.beans.XMLEncoder} classes,
* respectively. One notable feature of the persistence scheme is that reading
* in a bean requires no special knowledge of the bean.
* <p>
* Writing out a bean, on the other hand, sometimes requires special knowledge
* of the bean's type. If the bean's state can be expressed using only the
* no-argument constructor and public getter and setter methods for properties,
* no special knowledge is required. Otherwise, the bean requires a custom
* <em>persistence delegate</em> -- an object that is in charge of writing out
* beans of a particular type. All classes provided in the JDK that descend from
* {@code java.awt.Component}, as well as all their properties, automatically
* have persistence delegates.
* <p>
* If you need (or choose) to provide a persistence delegate for a bean, you can
* do so either by using a {@link java.beans.DefaultPersistenceDelegate}
* instance or by creating your own subclass of {@code PersistenceDelegate}. If
* the only reason a bean needs a persistence delegate is because you want to
* invoke the bean's constructor with property values as arguments, you can
* create the bean's persistence delegate with the one-argument
* {@code DefaultPersistenceDelegate} constructor. Otherwise, you need to
* implement your own persistence delegate, for which you're likely to need the
* following classes:
* <dl>
* <dt>{@link java.beans.PersistenceDelegate}</dt>
* <dd>The abstract class from which all persistence delegates descend. Your
* subclass should use its knowledge of the bean's type to provide whatever
* {@code Statement}s and {@code Expression}s are necessary to create the
* bean and restore its state.</dd>
* <dt>{@link java.beans.Statement}</dt>
* <dd>Represents the invocation of a single method on an object. Includes
* a set of arguments to the method.</dd>
* <dt>{@link java.beans.Expression}</dt>
* <dd>A subclass of {@code Statement} used for methods that return a
* value.</dd>
* </dl>
* <p>
* Once you create a persistence delegate, you register it using the
* {@code setPersistenceDelegate} method of {@code XMLEncoder}.
*
* <h2>Related Documentation</h2>
* For overview, architecture, and tutorial documentation, please see:
* <ul>
* <li><a href="http://docs.oracle.com/javase/tutorial/javabeans/">
* JavaBeans</a>, a trail in <em>The Java Tutorial</em>.</li>
* <li><a href="http://www.oracle.com/technetwork/java/persistence2-141443.html">
* Long-Term Persistence</a>, an article in
* <em>The Swing Connection</em>.</li>
* </ul>
*/
package java.beans;

View File

@ -1,155 +0,0 @@
<!--
Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<body bgcolor="white">
Contains classes related to developing
<em>beans</em> -- components
based on the JavaBeans&trade; architecture.
A few of the
classes are used by beans while they run in an application.
For example, the event classes are
used by beans that fire property and vetoable change
events (see
{@link java.beans.PropertyChangeEvent}). However, most of the classes in this
package are meant to be used by a bean editor (that is, a development environment
for customizing and putting together beans to create an application). In
particular, these classes help the bean editor create a user
interface that the user can use to customize the bean. For example, a bean may
contain a property of a special type that a bean editor may not know how to handle.
By using the <code>PropertyEditor</code> interface, a bean developer can
provide an editor for this special type.
<p>
To minimize the resources used by a bean, the classes used by bean editors are loaded only
when the bean is being edited. They are not needed while the bean is running in an application
and therefore not loaded. This information is kept in what's called a bean-info (see {@link java.beans.BeanInfo}).
<p>
Unless explicitly stated, null values or empty Strings are not valid
parameters for the methods in this package. You may expect to see
exceptions if these parameters are used.
<h2>Long-Term Persistence</h2>
As of v1.4,
the <code>java.beans</code> package provides support for
<em>long-term persistence</em> -- reading and
writing a bean as a textual representation of its property values.
The property values are treated as beans,
and are recursively read or written to capture
their publicly available state.
This approach is suitable for long-term storage
because it relies only on public API,
rather than the likely-to-change private implementation.
<blockquote>
<hr>
<b>Note:</b>
The persistence scheme cannot automatically instantiate
custom inner classes, such as you might use for event handlers.
By using the {@link java.beans.EventHandler} class
instead of inner classes for custom event handlers,
you can avoid this problem.
<hr>
</blockquote>
<p>
You read and write beans in XML format using the
{@link java.beans.XMLDecoder}
and
{@link java.beans.XMLEncoder}
classes, respectively.
One notable feature of the persistence scheme is that
reading in a bean requires no special knowledge of the bean.
<p>
Writing out a bean, on the other hand,
sometimes requires special knowledge of the bean's type.
If the bean's state can be
expressed using only the no-argument constructor and
public getter and setter methods for properties,
no special knowledge is required.
Otherwise, the bean requires a custom <em>persistence delegate</em> --
an object that is in charge of writing out beans of a particular type.
All classes provided in the JDK that descend
from <code>java.awt.Component</code>,
as well as all their properties,
automatically have persistence delegates.
<p>
If you need (or choose) to provide a persistence delegate for a bean,
you can do so either by using a
{@link java.beans.DefaultPersistenceDelegate}
instance
or by creating your own subclass of <code>PersistenceDelegate</code>.
If the only reason a bean needs a persistence delegate
is because you want to invoke the bean's constructor with
property values as arguments,
you can create the bean's persistence delegate
with the one-argument
<code>DefaultPersistenceDelegate</code>
constructor.
Otherwise,
you need to implement your own persistence delegate,
for which you're likely to need the following classes:
<dl>
<dt> {@link java.beans.PersistenceDelegate}
<dd> The abstract class from which all persistence delegates descend.
Your subclass should use its knowledge of the bean's type to provide
whatever <code>Statement</code>s and <code>Expression</code>s
are necessary to create the bean
and restore its state.
<dt> {@link java.beans.Statement}
<dd> Represents the invocation of a single method on an object.
Includes a set of arguments to the method.
<dt> {@link java.beans.Expression}
<dd> A subclass of <code>Statement</code>
used for methods that return a value.
</dl>
<p>
Once you create a persistence delegate,
you register it using the
<code>setPersistenceDelegate</code> method of
<code>XMLEncoder</code>.
<h2>Related Documentation</h2>
For overview, architecture, and tutorial documentation, please see:
<ul>
<li><a href="http://docs.oracle.com/javase/tutorial/javabeans/">JavaBeans</a>, a trail in <em>The Java Tutorial</em>.
<li><a href="http://www.oracle.com/technetwork/java/persistence2-141443.html">Long-Term Persistence</a>, an article in <em>The Swing Connection</em>.
</ul>
</body>
</html>

View File

@ -0,0 +1,275 @@
/*
* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Defines a contract between user-interface components and an assistive
* technology that provides access to those components. If a Java application
* fully supports the Java Accessibility API, then it should be compatible with,
* and friendly toward, assistive technologies such as screen readers, screen
* magnifiers, etc. With a Java application that fully supports the Java
* Accessibility API, no screen reader off screen model would be necessary
* because the API provides all of the information normally contained in an off
* screen model.
* <p>
* The Java Accessibility API package consists of 8 Java programming language
* interfaces, and 6 Java programming language classes. These are described
* below.
*
* <h3><a name="Accessible"></a><a href="Accessible.html">Interface
* Accessible</a></h3>
* <a href="Accessible.html">Interface Accessible</a> is the main interface of
* the Java Accessibility API. All components that support the Java
* Accessibility API must implement this interface. It contains a single method,
* {@code getAccessibleContext}, that returns an instance of the class
* <a href="#AccessibleContext">AccessibleContext</a>. Sun thinks that
* implementing this interface is the absolute minimum requirement of every
* object that is part of the user interface of a Java application, if that
* program is to be compatible with assistive technologies.
*
* <h3><a name="AccessibleContext"></a><a href="AccessibleContext.html">Class
* AccessibleContext</a></h3>
* <a href="AccessibleContext.html">AccessibleContext</a> represents the minimum
* information all accessible objects return and is obtained by calling the
* {@code getAccessibleContext} method on an object that implements the
* <a href="#Accessible">Accessible</a> interface. This information includes the
* accessible name, description, <a href="#AccessibleRole">role</a>, and
* <a href="#AccessibleState">state</a> of the object, as well as information
* about the parent and children of the object.&nbsp; In addition,
* JavaBeans&trade; property change support is also included to allow assisitive
* technologies learn when the values of the accessible properties change.
* AccessibleContext also contains methods for obtaining more specific
* accessibility information about a component. If the component supports it,
* these methods will return an object that implements one or more of the
* following interfaces:
* <ul>
* <li><b><a href="#AccessibleAction">AccessibleAction</a></b> - the object
* can perform one or more actions. This interface provides the standard
* mechanism for an assistive technology to determine what those actions are
* and tell the object to perform those actions. Any object that can be
* manipulated should return an object that implements this interface when
* the {@code getAccessibleAction} method is called on an AccessibleContext.
* </li>
* <li><b><a href="#AccessibleComponent">AccessibleComponent</a></b> - the
* object has a graphical representation. This interface provides the
* standard mechanism for an assistive technology to determine and set the
* graphical representation of the object. Any object that is rendered on
* the screen should return an object that implements this interface when
* the {@code getAccessibleComponent} method is called on an
* AccessibleContext.</li>
* <li><b><a href="#AccessibleSelection">AccessibleSelection</a></b> - the
* object allows its children to be selected. This interface provides the
* standard mechanism for an assistive technology to determine the currently
* selected children as well as modify the selection set. Any object that
* has children that can be selected should return an object that implements
* this interface when the {@code getAccessibleSelection} method is called
* on an AccessibleContext.</li>
* <li><b><a href="#AccessibleText">AccessibleText</a></b> - the object
* presents editable textual information on the display. This interface
* provides the standard mechanism for an assistive technology to access
* that text via its content, attributes, and spatial location. Any object
* that contains editable text should return an object that implements this
* interface when the {@code getAccessibleText} method is called on an
* AccessibleContext.</li>
* <li><b><a href="#AccessibleHypertext">AccessibleHypertext</a></b> - the
* object presents hypertext information on the display. This interface
* provides the standard mechanism for an assistive technology to access that
* hypertext via its content, attributes, and spatial location. Any object
* that contains hypertext should return an object that implements this
* interface when the {@code getAccessibleText} method is called on an
* AccessibleContext.</li>
* <li><b><a href="#AccessibleValue">AccessibleValue</a></b> - the object
* supports a numerical value. This interface provides the standard
* mechanism for an assistive technology to determine and set the current
* value of the object, as well as the minimum and maximum values. Any
* object that supports a numerical value should return an object that
* implements this interface when the {@code getAccessibleValue} method is
* called on an AccessibleContext.</li>
* </ul>
*
* <h3><a name="AccessibleRole"></a><a href="AccessibleRole.html">Class
* AccessibleRole</a></h3>
* This class encapsulates the Accessible object's role in the user interface
* and is obtained by calling the {@code getAccessibleRole} method on an
* <a href="#AccessibleContext">AccessibleContext</a>. Accessible roles include
* "Check box", "Menu Item", "Panel", etc. These roles are identified by the
* constants in this class such as {@code AccessibleRole.CHECK_BOX,
* AccessibleRole.MENU_ITEM,} and {@code AccessibleRole.PANEL}. The constants in
* this class present a strongly typed enumeration of common object roles. A
* public constructor for this class has been purposely omitted and applications
* should use one of the constants from this class. Although this class
* pre-defines a large list of standard roles, it is extensible so additional
* programmer-defined roles can be added in the future without needing to modify
* the base class.
*
* <h3><a name="AccessibleState"></a><a href="AccessibleState.html">Class
* AccessibleState</a></h3>
* This class encapsulates a particular state of the Accessible object.
* Accessible states include things like "Armed", "Busy", "Checked", "Focused",
* etc. These roles are identified by the constants in this class such as
* {@code AccessibleState.ARMED, AccessibleState.BUSY, AccessibleState.CHECKED,}
* and {@code AccessibleState.FOCUSED}. The sum of all the states of an
* Accessible object is called the
* <a href="#AccessibleStateSet">AccessibleStateSet</a>, and can be obtained by
* calling the {@code getAccessibleStateSet} method on an
* <a href="#AccessibleContext">AccessibleContext</a>.
* <p>
* The constants in this class present a strongly typed enumeration of common
* object roles. A public constructor for this class has been purposely omitted
* and applications should use one of the constants from this class. Although
* this class pre-defines a large list of standard roles, it is extensible so
* additional, programmer-defined roles can be added in the future without
* needing to modify the base class.
*
* <h3><a name="AccessibleStateSet"></a><a href="AccessibleStateSet.html">Class
* AccessibleStateSet</a></h3>
* This class encapsulates a collection of states of the Accessible object and
* is obtained by calling the {@code getAccessibleStateSet} method on an
* <a href="#AccessibleContext">AccessibleContext</a>. Since an object might
* have multiple states (e.g. it might be both "Checked" and "Focused"), this
* class is needed to encapsulate a collection of these states. Methods in the
* class provide for retrieving the individual
* <a href="#AccessibleState">AccessibleStates</a> on the state set.
*
* <h3><a name="AccessibleBundle"></a><a href="AccessibleBundle.html">Class
* AccessibleBundle</a></h3>
* This class is used to maintain a strongly typed enumeration. It is the super
* class of both the <a href="#AccessibleRole">AccessibleRole</a> and
* <a href="#AccessibleState">AccessibleState</a> classes. Programmers normally
* do not interact with this class directly, but will instead use the
* <a href="#AccessibleRole">AccessibleRole</a> and
* <a href="#AccessibleState">AccessibleState</a> classes.
*
* <h3><a name="AccessibleAction"></a><a href="AccessibleAction.html">Interface
* AccessibleAction</a></h3>
* The <a href="AccessibleAction.html">AccessibleAction</a> interface should be
* supported by any object that can perform one or more actions. This interface
* provides the standard mechanism for an assistive technology to determine what
* those actions are as well as tell the object to perform those actions. Any
* object that can be manipulated should support this interface.
* <p>
* Applications can determine if an object supports the AccessibleAction
* interface by first obtaining its
* <a href="#AccessibleContext">AccessibleContext</a> (see
* <a href="#Accessible">Accessible</a>) and then calling the
* {@code getAccessibleAction} method of
* <a href="#AccessibleContext">AccessibleContext</a>. If the return value is
* not null, the object supports this interface.
*
* <h3> <a name="AccessibleComponent"></a><a href="AccessibleComponent.html">
* Interface AccessibleComponent</a></h3>
* The <a href="AccessibleComponent.html">AccessibleComponent</a> interface
* should be supported by any object that is rendered on the screen. This
* interface provides the standard mechanism for an assistive technology to
* determine and set the graphical representation of an object. <p>Applications
* can determine if an object supports the AccessibleComponent interface by
* first obtaining its <a href="#AccessibleContext">AccessibleContext</a> (see
* <a href="#Accessible">Accessible</a>) and then calling the
* {@code getAccessibleComponent} method of
* <a href="#AccessibleContext">AccessibleContext</a>. If the return value is
* not null, the object supports this interface.
*
* <h3><a name="AccessibleSelection"></a><a href="AccessibleSelection.html">
* Interface AccessibleSelection</a></h3>
* The <a href="AccessibleSelection.html">AccessibleSelection</a> interface
* provides the standard mechanism for an assistive technology to determine what
* the current selected children are, as well as modify the selection set. Any
* object that has children that can be selected should support this the
* AccessibleSelection interface.
* <p>
* Applications can determine if an object supports the AccessibleSelection
* interface by first obtaining its
* <a href="#AccessibleContext">AccessibleContext</a> (see
* <a href="#Accessible">Accessible</a>) and then calling the
* {@code getAccessibleSelection} method of
* <a href="#AccessibleContext">AccessibleContext</a>. If the return value is
* not null, the object supports this interface.
*
* <h3><a name="AccessibleText"></a><a href="AccessibleText.html">Interface
* AccessibleText</a></h3>
* Interface <a href="AccessibleText.html">AccessibleText</a> is the contract
* for making rich, editable text Accessible. Not all text displayed on the
* screen is rich and editable (e.g. text contained in buttons, labels, menus,
* etc., which users aren't expected to manipulate). However, objects containing
* editable text must implement interface AccessibleText if they are to
* interoperate with assistive technologies.
* <p>
* This interface provides support for going between pixel coordinates and the
* text at a given pixel coordinate, for retrieving the letter, word, and
* sentence at, before, or after a given position in the text. This interface
* provides support for retrieving the attributes of the character at a given
* position in the text (font, font size, style, etc.), as well as getting the
* selected text (if any), the length of the text, and the location of the text
* caret.
* <p>
* Applications can determine if an object supports the AccessibleText interface
* by first obtaining its <a href="#AccessibleContext">AccessibleContext</a>
* (see <a href="#Accessible">Accessible</a>) and then calling the
* {@code getAccessibleText} method of
* <a href="#AccessibleContext">AccessibleContext</a>. If the return value is
* not null, the object supports this interface.
*
* <h3><a name="AccessibleHypertext"></a> <a href="AccessibleHypertext.html">
* Interface AccessibleHypertext</a></h3>
* The <a href="AccessibleHypertext.html">AccessibleHypertext</a> interface
* should be supported by any object that presents hypertext information on the
* display. This interface provides the standard mechanism for an assistive
* technology to access that text via its content, attributes, and spatial
* location. It also provides standard mechanisms for manipulating
* <a href="#AccessibleHyperlink">hyperlinks</a>. Applications can determine if
* an object supports the AccessibleHypertext interface by first obtaining its
* <a href="#AccessibleContext">AccessibleContext</a> (see
* <a href="#Accessible">Accessible</a>) and then calling the
* AccessibleContext.getAccessibleText() method of
* <a href="#AccessibleContext">AccessibleContext</a>. If the return value is a
* class which extends AccessibleHypertext, then that object supports
* AccessibleHypertext.
*
* <h3><a name="AccessibleHyperlink"></a><a href="AccessibleHyperlink.html">
* Interface AccessibleHyperlink</a></h3>
* An object that is a hyperlink should support the
* <a href="AccessibleHyperlink.html">AccessibleHyperlink</a> interface.&nbsp;
* An object that implements this interface will be returned by calling the
* getLink method on an <a href="#AccessibleHypertext">AccessibleHypertext</a>
* object.
*
* <h3><a name="AccessibleValue"></a><a href="AccessibleValue.html">Interface
* AccessibleValue</a></h3>
* The <a href="AccessibleValue.html">AccessibleValue</a> interface should be
* supported by any object that supports a numerical value (e.g., a scroll bar).
* This interface provides the standard mechanism for an assistive technology to
* determine and set the numerical value as well as get the minimum and maximum
* values.
* <p>
* Applications can determine if an object supports the AccessibleValue
* interface by first obtaining its
* <a href="#AccessibleContext">AccessibleContext</a> (see
* <a href="#Accessible">Accessible</a>) and then calling the
* {@code getAccessibleValue} method of
* <a href="#AccessibleContext">AccessibleContext</a>. If the return value is
* not null, the object supports this interface.
*
* @since 1.2
*/
package javax.accessibility;

View File

@ -1,266 +0,0 @@
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (WinNT; I) [Netscape]">
<!--
Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</HEAD>
<BODY BGCOLOR="#FFFFFF">
Defines a contract between user-interface components and an assistive technology
that provides access to those components. If a Java application fully supports
the Java Accessibility API, then it should be compatible with, and friendly
toward, assistive technologies such as screen readers, screen magnifiers,
etc. With a Java application that fully supports the Java Accessibility
API, no screen reader off screen model would be necessary because the API
provides all of the information normally contained in an off screen model.
<P>The Java Accessibility API package consists of 8 Java programming language
interfaces, and 6 Java programming language classes. These are described
below.
<H3>
<A NAME="Accessible"></A><A HREF="Accessible.html">Interface Accessible</A></H3>
<A HREF="Accessible.html">Interface Accessible</A> is the main interface
of the Java Accessibility API. All components that support the Java Accessibility
API must implement this interface. It contains a single method, <code>getAccessibleContext</code>,
that returns an instance of the class <A HREF="#AccessibleContext">AccessibleContext</A>.
Sun thinks that implementing this interface is the absolute minimum requirement
of every object that is part of the user interface of a Java application,
if that program is to be compatible with assistive technologies.
<H3>
<A NAME="AccessibleContext"></A><A HREF="AccessibleContext.html">Class
AccessibleContext</A></H3>
<A HREF="AccessibleContext.html">AccessibleContext</A> represents the minimum
information all accessible objects return and is obtained by calling the
<code>getAccessibleContext</code> method on an object that implements the <A HREF="#Accessible">Accessible</A>
interface. This information includes the accessible name, description,
<A HREF="#AccessibleRole">role</A>, and <A HREF="#AccessibleState">state</A>
of the object, as well as information about the parent and children of
the object.&nbsp; In addition, JavaBeans <SUP><FONT SIZE=-2>TM</FONT></SUP>
property change support is also included to allow assisitive technologies
learn when the values of the accessible properties change. AccessibleContext
also contains methods for obtaining more specific accessibility information
about a component. If the component supports it, these methods will return
an object that implements one or more of the following interfaces:
<UL>
<LI>
<B><A HREF="#AccessibleAction">AccessibleAction</A></B> - the object can
perform one or more actions. This interface provides the standard mechanism
for an assistive technology to determine what those actions are and tell
the object to perform those actions. Any object that can be manipulated
should return an object that implements this interface when the <code>getAccessibleAction</code>
method is called on an AccessibleContext.</LI>
<LI>
<B><A HREF="#AccessibleComponent">AccessibleComponent</A></B> - the object
has a graphical representation. This interface provides the standard mechanism
for an assistive technology to determine and set the graphical representation
of the object. Any object that is rendered on the screen should return
an object that implements this interface when the <code>getAccessibleComponent</code>
method is called on an AccessibleContext.</LI>
<LI>
<B><A HREF="#AccessibleSelection">AccessibleSelection</A></B> - the object
allows its children to be selected. This interface provides the standard
mechanism for an assistive technology to determine the currently selected
children as well as modify the selection set. Any object that has children
that can be selected should return an object that implements this interface
when the <code>getAccessibleSelection</code> method is called on an AccessibleContext.</LI>
<LI>
<B><A HREF="#AccessibleText">AccessibleText</A></B> - the object presents
editable textual information on the display. This interface provides the
standard mechanism for an assistive technology to access that text via
its content, attributes, and spatial location. Any object that contains
editable text should return an object that implements this interface when
the <code>getAccessibleText</code> method is called on an AccessibleContext.</LI>
<LI>
<B><A HREF="#AccessibleHypertext">AccessibleHypertext</A></B> - the object
presents hypertext information on the display. This interface provides
the standard mechanism for an assistive technology to access that hypertext
via its content, attributes, and spatial location. Any object that contains
hypertext should return an object that implements this interface when the
<code>getAccessibleText</code> method is called on an AccessibleContext.</LI>
<LI>
<B><A HREF="#AccessibleValue">AccessibleValue</A></B> - the object supports
a numerical value. This interface provides the standard mechanism for an
assistive technology to determine and set the current value of the object,
as well as the minimum and maximum values. Any object that supports a numerical
value should return an object that implements this interface when the <code>getAccessibleValue</code>
method is called on an AccessibleContext.</LI>
</UL>
<H3>
<A NAME="AccessibleRole"></A><A HREF="AccessibleRole.html">Class AccessibleRole</A></H3>
This class encapsulates the Accessible object's role in the user interface
and is obtained by calling the <code>getAccessibleRole</code> method on an
<A HREF="#AccessibleContext">AccessibleContext</A>. Accessible roles include
"Check box", "Menu Item", "Panel", etc. These roles are identified by the
constants in this class such as <code>AccessibleRole.CHECK_BOX, AccessibleRole.MENU_ITEM,</code>
and <code>AccessibleRole.PANEL</code>. The constants in this class present
a strongly typed enumeration of common object roles. A public constructor
for this class has been purposely omitted and applications should use one
of the constants from this class. Although this class pre-defines a large
list of standard roles, it is extensible so additional programmer-defined
roles can be added in the future without needing to modify the base class.
<H3>
<A NAME="AccessibleState"></A><A HREF="AccessibleState.html">Class AccessibleState</A></H3>
This class encapsulates a particular state of the Accessible object. Accessible
states include things like "Armed", "Busy", "Checked", "Focused", etc.
These roles are identified by the constants in this class such as <code>AccessibleState.ARMED,
AccessibleState.BUSY, AccessibleState.CHECKED,</code> and <code>AccessibleState.FOCUSED</code>.
The sum of all the states of an Accessible object is called the <A HREF="#AccessibleStateSet">AccessibleStateSet</A>,
and can be obtained by calling the <code>getAccessibleStateSet</code> method
on an <A HREF="#AccessibleContext">AccessibleContext</A>.
<P>The constants in this class present a strongly typed enumeration of
common object roles. A public constructor for this class has been purposely
omitted and applications should use one of the constants from this class.
Although this class pre-defines a large list of standard roles, it is extensible
so additional, programmer-defined roles can be added in the future without
needing to modify the base class.
<H3>
<A NAME="AccessibleStateSet"></A><A HREF="AccessibleStateSet.html">Class
AccessibleStateSet</A></H3>
This class encapsulates a collection of states of the Accessible object
and is obtained by calling the <code>getAccessibleStateSet</code> method on
an <A HREF="#AccessibleContext">AccessibleContext</A>. Since an object
might have multiple states (e.g. it might be both "Checked" and "Focused"),
this class is needed to encapsulate a collection of these states. Methods
in the class provide for retrieving the individual <A HREF="#AccessibleState">AccessibleStates</A>
on the state set.
<H3>
<A NAME="AccessibleBundle"></A><A HREF="AccessibleBundle.html">Class AccessibleBundle</A></H3>
This class is used to maintain a strongly typed enumeration. It is the
super class of both the <A HREF="#AccessibleRole">AccessibleRole</A> and
<A HREF="#AccessibleState">AccessibleState</A> classes. Programmers normally
do not interact with this class directly, but will instead use the <A HREF="#AccessibleRole">AccessibleRole</A>
and <A HREF="#AccessibleState">AccessibleState</A> classes.
<H3>
<A NAME="AccessibleAction"></A><A HREF="AccessibleAction.html">Interface
AccessibleAction</A></H3>
The <A HREF="AccessibleAction.html">AccessibleAction</A> interface should
be supported by any object that can perform one or more actions. This interface
provides the standard mechanism for an assistive technology to determine
what those actions are as well as tell the object to perform those actions.
Any object that can be manipulated should support this interface.
<P>Applications can determine if an object supports the AccessibleAction
interface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>
(see <A HREF="#Accessible">Accessible</A>) and then calling the <code>getAccessibleAction</code>
method of <A HREF="#AccessibleContext">AccessibleContext</A>. If the return
value is not null, the object supports this interface.
<H3>
<A NAME="AccessibleComponent"></A><A HREF="AccessibleComponent.html">Interface
AccessibleComponent</A></H3>
The <A HREF="AccessibleComponent.html">AccessibleComponent</A> interface
should be supported by any object that is rendered on the screen. This
interface provides the standard mechanism for an assistive technology to
determine and set the graphical representation of an object.
<P>Applications can determine if an object supports the AccessibleComponent
interface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>
(see <A HREF="#Accessible">Accessible</A>) and then calling the <code>getAccessibleComponent</code>
method of <A HREF="#AccessibleContext">AccessibleContext</A>. If the return
value is not null, the object supports this interface.
<H3>
<A NAME="AccessibleSelection"></A><A HREF="AccessibleSelection.html">Interface
AccessibleSelection</A></H3>
The <A HREF="AccessibleSelection.html">AccessibleSelection</A> interface
provides the standard mechanism for an assistive technology to determine
what the current selected children are, as well as modify the selection
set. Any object that has children that can be selected should support this
the AccessibleSelection interface.
<P>Applications can determine if an object supports the AccessibleSelection
interface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>
(see <A HREF="#Accessible">Accessible</A>) and then calling the <code>getAccessibleSelection</code>
method of <A HREF="#AccessibleContext">AccessibleContext</A>. If the return
value is not null, the object supports this interface.
<H3>
<A NAME="AccessibleText"></A><A HREF="AccessibleText.html">Interface AccessibleText</A></H3>
Interface <A HREF="AccessibleText.html">AccessibleText</A> is the contract
for making rich, editable text Accessible. Not all text displayed on the
screen is rich and editable (e.g. text contained in buttons, labels, menus,
etc., which users aren't expected to manipulate). However, objects containing
editable text must implement interface AccessibleText if they are to interoperate
with assistive technologies.
<P>This interface provides support for going between pixel coordinates
and the text at a given pixel coordinate, for retrieving the letter, word,
and sentence at, before, or after a given position in the text. This interface
provides support for retrieving the attributes of the character at a given
position in the text (font, font size, style, etc.), as well as getting
the selected text (if any), the length of the text, and the location of
the text caret.
<P>Applications can determine if an object supports the AccessibleText
interface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>
(see <A HREF="#Accessible">Accessible</A>) and then calling the <code>getAccessibleText</code>
method of <A HREF="#AccessibleContext">AccessibleContext</A>. If the return
value is not null, the object supports this interface.
<H3><A NAME="AccessibleHypertext"></A>
<A HREF="AccessibleHypertext.html">Interface AccessibleHypertext</A></H3>
The <A HREF="AccessibleHypertext.html">AccessibleHypertext</A> interface
should be supported by any object that presents hypertext information on
the display. This interface provides the standard mechanism for an assistive
technology to access that text via its content, attributes, and spatial
location. It also provides standard mechanisms for manipulating <A HREF="#AccessibleHyperlink">hyperlinks</A>.
Applications can determine if an object supports the AccessibleHypertext
interface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>
(see <A HREF="#Accessible">Accessible</A>) and then calling the AccessibleContext.getAccessibleText()
method of <A HREF="#AccessibleContext">AccessibleContext</A>. If the return
value is a class which extends AccessibleHypertext, then that object supports
AccessibleHypertext.
<H3>
<A NAME="AccessibleHyperlink"></A><A HREF="AccessibleHyperlink.html">Interface
AccessibleHyperlink</A></H3>
An object that is a hyperlink should support the <A HREF="AccessibleHyperlink.html">AccessibleHyperlink</A>
interface.&nbsp; An object that implements this interface will be returned
by calling the getLink method on an <A HREF="#AccessibleHypertext">AccessibleHypertext</A>
object.
<H3>
<A NAME="AccessibleValue"></A><A HREF="AccessibleValue.html">Interface
AccessibleValue</A></H3>
The <A HREF="AccessibleValue.html">AccessibleValue</A> interface should
be supported by any object that supports a numerical value (e.g., a scroll
bar). This interface provides the standard mechanism for an assistive technology
to determine and set the numerical value as well as get the minimum and
maximum values.
<P>Applications can determine if an object supports the AccessibleValue
interface by first obtaining its <A HREF="#AccessibleContext">AccessibleContext</A>
(see <A HREF="#Accessible">Accessible</A>) and then calling the <code>getAccessibleValue</code>
method of <A HREF="#AccessibleContext">AccessibleContext</A>. If the return
value is not null, the object supports this interface.
@since 1.2
</BODY>
</HTML>

View File

@ -0,0 +1,45 @@
/*
* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* A package of the Java Image I/O API dealing with synchronous notification of
* events during the reading and writing of images.
* <p>
* The {@code IIOReadProgressListener} interface allows for notification of the
* percentage of an image that has been read successfully.
* <p>
* The {@code IIOReadUpdateListener} interface allows for notification of the
* portions of an image that have been read. This is useful, for example, for
* implementing dynamic display of an image as it is loaded.
* <p>
* The {@code IIOReadWarningListener} interface allows for notification of
* non-fatal errors during reading.
* <p>
* The {@code IIOWriteWarningListener} and {@code IIOWriteProgressListener}
* interfaces perform analogous functions for writers.
*
* @since 1.4
*/
package javax.imageio.event;

View File

@ -1,62 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
A package of the Java Image I/O API dealing with synchronous
notification of events during the reading and writing of images.
<p>
The <code>IIOReadProgressListener</code> interface allows for
notification of the percentage of an image that has been read
successfully.
<p>
The <code>IIOReadUpdateListener</code> interface allows for
notification of the portions of an image that have been read. This is
useful, for example, for implementing dynamic display of an image as
it is loaded.
<p>
The <code>IIOReadWarningListener</code> interface allows for
notification of non-fatal errors during reading.
<p>
The <code>IIOWriteWarningListener</code> and
<code>IIOWriteProgressListener</code> interfaces perform analogous
functions for writers.
@since 1.4
</body>
</html>

View File

@ -0,0 +1,73 @@
/*
* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* A package of the Java Image I/O API dealing with reading and writing
* metadata.
* <p>
* When reading an image, its per-stream and per-image metadata is made
* available as an {@code IIOMetadata} object. The internals of this object are
* specific to the plug-in that created it. Its contents may be accessed in the
* form of an XML {@code Document}, which is implemented as a tree of
* {@code IIOMetadataNode} objects.
* <p>
* When writing an image, its metadata may be set by defining or modifying an
* {@code IIOMetadata} object. Such an object may be obtained from an
* {@code ImageWriter} or {@code ImageTranscoder} (from the
* {@code javax.imageio} package). Once such an object has been obtained, its
* contents may be set of modified via a {@code Document} consisting of
* {@code IIOMetadataNode}s. The document format may optionally be described
* using an {@code IIOMetadataFormat} object.
* <p>
* The format of the metadata contained in the XML {@code Document} is
* identified by a string which appears as the root node of the tree of
* {@code IIOMetadataNode} objects. This string contains a version number, e.g.
* "javax_imageio_jpeg_image_1.0". Readers and writers may support multiple
* versions of the same basic format and the Image I/O API has methods that
* allow specifying which version to use by passing the string to the
* method/constructor used to obtain an {@code IIOMetadata} object. In some
* cases, a more recent version may not be strictly compatible with a program
* written expecting an older version (for an example, see the Native Metadata
* Format section of the JPEG Metadata Usage Notes below).
* <p>
* Plug-ins may choose to support a
* <A HREF="doc-files/standard_metadata.html">standard (plug-in neutral) format
* </A>. This format does not provide lossless encoding of metadata, but allows
* a portion of the metadata to be accessed in a generic manner.
* <p>
* Each of the standard plug-ins supports a so-called "native" metadata format,
* which encodes its metadata losslessly:
* <ul>
* <li><A HREF="doc-files/bmp_metadata.html">BMP metadata</A></li>
* <li><A HREF="doc-files/gif_metadata.html">GIF metadata</A></li>
* <li><A HREF="doc-files/jpeg_metadata.html">JPEG metadata</A></li>
* <li><A HREF="doc-files/png_metadata.html">PNG metadata</A></li>
* <li><A HREF="doc-files/tiff_metadata.html#StreamMetadata">
* TIFF metadata</A></li>
* <li><A HREF="doc-files/wbmp_metadata.html">WBMP metadata</A></li>
* </ul>
* @since 1.4
*/
package javax.imageio.metadata;

View File

@ -1,119 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
A package of the Java Image I/O API dealing with reading and writing
metadata.
<p>
When reading an image, its per-stream and per-image metadata is made
available as an <code>IIOMetadata</code> object. The internals of
this object are specific to the plug-in that created it. Its contents
may be accessed in the form of an XML <code>Document</code>, which is
implemented as a tree of <code>IIOMetadataNode</code> objects.
<p>
When writing an image, its metadata may be set by defining or
modifying an <code>IIOMetadata</code> object. Such an object may be
obtained from an <code>ImageWriter</code> or
<code>ImageTranscoder</code> (from the
<code>javax.imageio</code> package). Once such an object has
been obtained, its contents may be set of modified via a
<code>Document</code> consisting of <code>IIOMetadataNode</code>s.
The document format may optionally be described using an
<code>IIOMetadataFormat</code> object.
<p>
The format of the metadata contained in the XML <code>Document</code>
is identified by a string which appears as the root node of the tree
of <code>IIOMetadataNode</code> objects. This string contains a version
number, e.g. "javax_imageio_jpeg_image_1.0". Readers and writers may
support multiple versions of the same basic format and the Image I/O
API has methods that allow specifying which version to use by passing
the string to the method/constructor used to obtain an <code>IIOMetadata</code>
object. In some cases, a more recent version may not be strictly
compatible with a program written expecting an older version (for
an example, see the Native Metadata Format section of the JPEG Metadata
Usage Notes below).
<p>
Plug-ins may choose to support a <A
HREF="doc-files/standard_metadata.html">standard (plug-in neutral)
format</A>. This format does not provide lossless encoding of
metadata, but allows a portion of the metadata to be accessed in a
generic manner.
<p>
Each of the standard plug-ins supports a so-called "native" metadata
format, which encodes its metadata losslessly:
<ul>
<li>
<A HREF="doc-files/bmp_metadata.html">
BMP metadata
</A>
<li>
<A HREF="doc-files/gif_metadata.html">
GIF metadata
</A>
<li>
<A HREF="doc-files/jpeg_metadata.html">
JPEG metadata
</A>
<li>
<A HREF="doc-files/png_metadata.html">
PNG metadata
</A>
<li>
<A HREF="doc-files/tiff_metadata.html#StreamMetadata">
TIFF metadata
</A>
<li>
<A HREF="doc-files/wbmp_metadata.html">
WBMP metadata
</A>
</ul>
@since 1.4
</body>
</html>

View File

@ -0,0 +1,212 @@
/*
* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* The main package of the Java Image I/O API.
* <p>
* Many common image I/O operations may be performed using the static methods of
* the {@code ImageIO} class.
* <p>
* This package contains the basic classes and interfaces for describing the
* contents of image files, including metadata and thumbnails
* ({@code IIOImage}); for controlling the image reading process
* ({@code ImageReader}, {@code ImageReadParam}, and {@code ImageTypeSpecifier})
* and image writing process ({@code ImageWriter} and {@code ImageWriteParam});
* for performing transcoding between formats ({@code ImageTranscoder}), and for
* reporting errors ({@code IIOException}).
* <p>
* All implementations of javax.imageio provide the following standard image
* format plug-ins:
* <div>
* <table border=1 cellpadding=5 style="margin: 0px auto;" summary="Standard
* image format plug-ins">
* <tr>
* <th>&nbsp;</th><th>Reading</th><th>Writing</th><th>Notes</th>
* <th>Metadata</th>
* </tr>
*
* <!-- BMP plugin -->
* <tr>
* <td><a href="https://msdn.microsoft.com/en-us/library/dd183391.aspx">
* BMP</a></td>
* <td align='center'>yes</td>
* <td align='center'>yes</td>
* <td align='center'>none</td>
* <td align='center'><a href='metadata/doc-files/bmp_metadata.html'>BMP
* metadata format</a></td>
* </tr>
*
* <!-- GIF plugin -->
* <tr>
* <td><a href="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">GIF</a>
* </td>
* <td align='center'>yes</td>
* <td align='center'>yes</td>
* <td align='center'><a href="#gif_plugin_notes">GIF plug-in notes</a>
* </td>
* <td align='center'><a href='metadata/doc-files/gif_metadata.html'>GIF
* metadata format</a></td>
* </tr>
*
* <!-- JPEG plugin -->
* <tr>
* <td><a href="http://www.jpeg.org">JPEG</a></td>
* <td align='center'>yes</td>
* <td align='center'>yes</td>
* <td align='center'>none</td>
* <td align='center'><a href='metadata/doc-files/jpeg_metadata.html'>
* JPEG metadata format</a></td>
* </tr>
*
* <!-- PNG plugin -->
* <tr>
* <td><a href="http://www.libpng.org/pub/png/spec/">PNG</a></td>
* <td align='center'>yes</td>
* <td align='center'>yes</td>
* <td align='center'>none</td>
* <td align='center'><a href='metadata/doc-files/png_metadata.html'>PNG
* metadata format</a></td>
* </tr>
*
* <!-- TIFF plugin -->
* <tr>
* <td><a href="https://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf">
* TIFF</a></td>
* <td align='center'>yes</td>
* <td align='center'>yes</td>
* <td align='center'><a href='metadata/doc-files/tiff_metadata.html#Reading'>
* TIFF plug-in notes</a></td>
* <td align='center'><a href='metadata/doc-files/tiff_metadata.html#StreamMetadata'>
* TIFF metadata format</a></td>
* </tr>
*
* <!-- WBMP plugin -->
* <tr>
* <td><a href="http://www.wapforum.org/what/technical/SPEC-WAESpec-19990524.pdf">
* WBMP</a></td>
* <td align='center'>yes</td>
* <td align='center'>yes</td>
* <td align='center'>none</td>
* <td align='center'><a href='metadata/doc-files/wbmp_metadata.html'>
* WBMP metadata format</a></td>
* </tr>
* </table>
* </div>
* <BR>
* <BR>
* <BR>
*
* <h2> Standard Plug-in Notes</h2>
*
* <h3><a name="gif_plugin_notes">Standard plug-in for GIF image format</a></h3>
* ImageIO provides {@code ImageReader} and {@code ImageWriter}plug-ins for the
* <a href="http://www.w3.org/Graphics/GIF/spec-gif89a.txt"> Graphics
* Interchange Format (GIF)</a> image format. These are the "standard" GIF
* plug-ins, meaning those that are included in the JRE, as distinct from those
* included in standard extensions, or 3rd party plug-ins. The following notes
* and metadata specification apply to the standard plug-ins.
*
* <h3>Writing GIF images</h3>
* The GIF image writer plug-in guarantees lossless writing for images which
* meet the following requirements:
* <ul>
* <li>the number of bands is 1;</li>
* <li>the number of bits per sample is not greater than 8;</li>
* <li>the size of a color component is not greater than 8;</li>
* </ul>
* <p>
* By default the GIF writer plug-in creates version "89a" images. This can be
* changed to "87a" by explicitly setting the version in the stream metadata
* (see
* <a href="metadata/doc-files/gif_metadata.html#gif_stream_metadata_format">
* GIF Stream Metadata Format Specification</a>).
*
* <!-- animated images -->
* <p>
* The GIF writer plug-in supports the creation of animated GIF images through
* the standard sequence writing methods defined in the {@code ImageWriter}
* class.
*
* <!-- TODO: add example here -->
*
* <!-- color tables -->
* <p>
* A global color table is written to the output stream if one of the following
* conditions is met:
* <ul>
* <li>stream metadata containing a GlobalColorTable element is supplied;
* </li>
* <li>a sequence is being written and image metadata containing a
* LocalColorTable element is supplied for the first image in the sequence;
* </li>
* <li>image metadata is not supplied or does not contain a LocalColorTable
* element.</li>
* </ul>
* <p>
* In the first case the global color table in the stream metadata is used, in
* the second the local color table in the image metadata is used, and in the
* third a global color table is created from the ColorModel or SampleModel of
* the (first) image.
* <p>
* A local color table is written to the output stream only if image metadata
* containing a LocalColorTable element is supplied to the writer, or no image
* metadata is supplied to the writer and the local color table which would be
* generated from the image itself is not equal to the global color table.
* <p>
* A Graphic Control Extension block is written to the output stream only if
* image metadata containing a GraphicControlExtension element is supplied to
* the writer, or no image metadata is supplied and the local color table
* generated from the image requires a transparent index. Application, Plain
* Text, and Comment Extension blocks are written only if they are supplied to
* the writer via image metadata.
*
* <!-- writing interlaced images -->
* <p>
* The writing of interlaced images can be controlled by the progressive mode of
* the provided {@code ImageWriteParam} instance. If progressive mode is
* {@code MODE_DISABLED} then a non-interlaced image will be written. If
* progressive mode is {@code MODE_DEFAULT} then an interlaced image will be
* written. If progressive mode is {@code MODE_COPY_FROM_METADATA}, then the
* metadata setting is used (if it is provided, otherwise an interlaced image
* will be written).
* <p>
* The GIF image writer plug-in supports setting output stream metadata from
* metadata supplied to the writer in either the native GIF stream metadata
* format
* <a href="metadata/doc-files/gif_metadata.html#gif_stream_metadata_format">
* javax_imageio_gif_stream_1.0</a> or the standard metadata format
* <a href="metadata/doc-files/standard_metadata.html">javax_imageio_1.0</a>,
* and setting output image metadata from metadata supplied to the writer in
* either the native GIF image metadata format
* <a href="metadata/doc-files/gif_metadata.html#gif_image_metadata_format">
* javax_imageio_gif_image_1.0</a> or the standard metadata format
* <a href="metadata/doc-files/standard_metadata.html">javax_imageio_1.0</a>.
* The mapping of standard metadata format to the GIF native stream and image
* metadata formats is given in the tables
* <a href="metadata/doc-files/gif_metadata.html#mapping">here</a>.
*
* @since 1.4
*/
package javax.imageio;

View File

@ -1,253 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
The main package of the Java Image I/O API.
<p>
Many common image I/O operations may be performed using the static
methods of the <code>ImageIO</code> class.
<p>
This package contains the basic classes and interfaces for describing
the contents of image files, including metadata and thumbnails
(<code>IIOImage</code>); for controlling the image reading process
(<code>ImageReader</code>, <code>ImageReadParam</code>, and
<code>ImageTypeSpecifier</code>) and image writing process
(<code>ImageWriter</code> and <code>ImageWriteParam</code>); for
performing transcoding between formats (<code>ImageTranscoder</code>),
and for reporting errors (<code>IIOException</code>).
<p>
All implementations of javax.imageio provide the following standard
image format plug-ins:
</p>
<div>
<table border=1 align='center' cellpadding=5>
<tr>
<th>&nbsp;</th> <th>Reading</th> <th>Writing</th>
<th>Notes</th> <th>Metadata</th>
</tr>
<!-- BMP plugin -->
<tr>
<td><a href="https://msdn.microsoft.com/en-us/library/dd183391.aspx">BMP</a></td>
<td align='center'>yes</td>
<td align='center'>yes</td>
<td align='center'>none</td>
<td align='center'><a href='metadata/doc-files/bmp_metadata.html'>
BMP metadata format</a></td>
</tr>
<!-- GIF plugin -->
<tr>
<td><a href="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">GIF</a></td>
<td align='center'>yes</td>
<td align='center'>yes</td>
<td align='center'><a href="#gif_plugin_notes">
GIF plug-in notes</a></td>
<td align='center'><a href='metadata/doc-files/gif_metadata.html'>
GIF metadata format</a></td>
</tr>
<!-- JPEG plugin -->
<tr>
<td> <a href="http://www.jpeg.org">JPEG</a></td>
<td align='center'>yes</td>
<td align='center'>yes</td>
<td align='center'>none</td>
<td align='center'><a href='metadata/doc-files/jpeg_metadata.html'>
JPEG metadata format</a></td>
</tr>
<!-- PNG plugin -->
<tr>
<td><a href="http://www.libpng.org/pub/png/spec/">PNG</a></td>
<td align='center'>yes</td>
<td align='center'>yes</td>
<td align='center'>none</td>
<td align='center'><a href='metadata/doc-files/png_metadata.html'>
PNG metadata format</a></td>
</tr>
<!-- TIFF plugin -->
<tr>
<td><a href="https://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf">TIFF</a></td>
<td align='center'>yes</td>
<td align='center'>yes</td>
<td align='center'><a href='metadata/doc-files/tiff_metadata.html#Reading'>
TIFF plug-in notes</td>
<td align='center'><a href='metadata/doc-files/tiff_metadata.html#StreamMetadata'>
TIFF metadata format</a></td>
</tr>
<!-- WBMP plugin -->
<tr>
<td><a href="http://www.wapforum.org/what/technical/SPEC-WAESpec-19990524.pdf">WBMP</a></td>
<td align='center'>yes</td>
<td align='center'>yes</td>
<td align='center'>none</td>
<td align='center'><a href='metadata/doc-files/wbmp_metadata.html'>
WBMP metadata format</a></td>
</tr>
</table>
</div>
<BR>
<BR>
<BR>
<h2> Standard Plug-in Notes</h2>
<h3><a name="gif_plugin_notes">Standard plug-in for GIF image format</a></h3>
<p>
ImageIO provides <code>ImageReader</code> and <code>ImageWriter</code>
plug-ins for the <a href="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">
Graphics Interchange Format (GIF)</a> image format.
These are the "standard" GIF plug-ins, meaning those that are included in the
JRE, as distinct from those included in standard extensions, or 3rd party
plug-ins. The following notes and metadata specification apply to the
standard plug-ins.
<h3>Writing GIF images</h3>
The GIF image writer plug-in guarantees lossless writing for images which meet
the following requirements:
<ul>
<li>the number of bands is 1;
<li>the number of bits per sample is not greater than 8;
<li>the size of a color component is not greater than 8;
</ul>
<p>
By default the GIF writer plug-in creates version "89a" images. This can be
changed to "87a" by explicitly setting the version in the
stream metadata (see <a
href="metadata/doc-files/gif_metadata.html#gif_stream_metadata_format">
GIF Stream Metadata Format Specification</a>).
</p>
<!-- animated images -->
<p>
The GIF writer plug-in supports the creation of animated GIF images through
the standard sequence writing methods defined in the
<code>ImageWriter</code> class.
<!-- TODO: add example here -->
</p>
<!-- color tables -->
<p>
A global color table is written to the output stream if one of the
following conditions is met:
<ul>
<li> stream metadata containing a GlobalColorTable element is
supplied; </li>
<li> a sequence is being written and image metadata containing a
LocalColorTable element is supplied for the first image in the
sequence;</li>
<li>image metadata is not supplied or does not contain a LocalColorTable
element. </li>
</ul>
<p>
In the first case the global color table in the stream metadata is
used, in the second the local color table in the image metadata is
used, and in the third a global color table is created from the
ColorModel or SampleModel of the (first) image.
</p>
<p>
A local color table is written to the output stream only if image
metadata containing a LocalColorTable element is supplied to the
writer, or no image metadata is supplied to the writer and the local
color table which would be generated from the image itself is not
equal to the global color table.
</p>
<p>
A Graphic Control Extension block is written to the output stream only
if image metadata containing a GraphicControlExtension element is
supplied to the writer, or no image metadata is supplied and the
local color table generated from the image requires a transparent
index. Application, Plain Text, and Comment Extension blocks are
written only if they are supplied to the writer via image metadata.
</p>
<!-- writing interlaced images -->
<p>
The writing of interlaced images can be controlled by the progressive
mode of the provided <code>ImageWriteParam</code> instance.
If progressive mode is
<code>MODE_DISABLED</code> then a non-interlaced image will be written. If
progressive mode is <code>MODE_DEFAULT</code> then an interlaced image will
be written. If progressive mode is <code>MODE_COPY_FROM_METADATA</code>, then
the metadata setting is used (if it is provided, otherwise an interlaced
image will be written).
</p>
<p>
The GIF image writer plug-in supports setting output stream metadata from
metadata supplied to the writer in either the native GIF stream
metadata format <a href="metadata/doc-files/gif_metadata.html#gif_stream_metadata_format">
javax_imageio_gif_stream_1.0 </a> or the standard metadata format
<a href="metadata/doc-files/standard_metadata.html">
javax_imageio_1.0</a>, and setting
output image metadata from metadata supplied to the writer in either
the native GIF image metadata format <a href="metadata/doc-files/gif_metadata.html#gif_image_metadata_format">
javax_imageio_gif_image_1.0 </a> or the standard metadata format
<a href="metadata/doc-files/standard_metadata.html">javax_imageio_1.0</a>.
The mapping of standard metadata format to the GIF native stream and
image metadata formats is given in the tables <a
href="metadata/doc-files/gif_metadata.html#mapping"> here </a>.
</p>
<!--
<HR>
Java<SUP><FONT SIZE="-2">TM</FONT></SUP> Image I/O API Specification
<BR>
<BR>
Public Draft 2 (specification version 0.5)
<BR>
Release: October 1, 2000
<BR>
<BR>
<HR>
-->
@since 1.4
</body>
</html>

View File

@ -0,0 +1,31 @@
/*
* Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Package containing the public classes used by the built-in BMP plug-in.
*
* @since 1.5
*/
package javax.imageio.plugins.bmp;

View File

@ -1,37 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Package containing the public classes used by the built-in BMP plug-in.
@since 1.5
</body>

View File

@ -0,0 +1,40 @@
/*
* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Classes supporting the built-in JPEG plug-in.
* <p>
* This package contains some support classes for the built-in JPEG reader and
* writer plug-ins. Classes are provided for representing quantization and
* Huffman tables, and extensions of {@code ImageReadParam} and
* {@code ImageWriteParam} are provided to supply tables during the reading and
* writing process. For more information about the operation of the built-in
* JPEG plug-ins, see the
* <a href="../../metadata/doc-files/jpeg_metadata.html">JPEG metadata format
* specification and usage notes</a>.
*
* @since 1.4
*/
package javax.imageio.plugins.jpeg;

View File

@ -1,69 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Classes supporting the built-in JPEG plug-in.
<P>
This package contains some support classes for the built-in JPEG
reader and writer plug-ins. Classes are provided for representing
quantization and Huffman tables, and extensions of
<code>ImageReadParam</code> and <code>ImageWriteParam</code> are
provided to supply tables during the reading and writing process. For
more information about the operation of the built-in JPEG plug-ins,
see the <A HREF="../../metadata/doc-files/jpeg_metadata.html">JPEG
metadata format specification and usage notes</A>.
<BR>
<BR>
<BR>
<!--
<HR>
Java<SUP><FONT SIZE="-2">TM</FONT></SUP> Image I/O API Specification
<BR>
<BR>
Public Draft 2 (specification version 0.5)
<BR>
Release: October 1, 2000
<BR>
<BR>
<HR>
-->
@since 1.4
</body>
</html>

View File

@ -0,0 +1,40 @@
/*
* Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Public classes used by the built-in TIFF plug-ins.
* <p>
* This package contains classes supporting the built-in TIFF reader and writer
* plug-ins. Classes are provided for simplifying interaction with metadata,
* including Exif metadata common in digital photography, and an extension of
* {@link javax.imageio.ImageReadParam} which permits specifying which metadata
* tags are allowed to be read. For more information about the operation of the
* built-in TIFF plug-ins, see the
* <a HREF="../../metadata/doc-files/tiff_metadata.html">TIFF metadata format
* specification and usage notes</a>.
*
* @since 9
*/
package javax.imageio.plugins.tiff;

View File

@ -1,49 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Public classes used by the built-in TIFF plug-ins.
<p>
This package contains classes supporting the built-in TIFF reader and writer
plug-ins. Classes are provided for simplifying interaction with metadata,
including Exif metadata common in digital photography, and an extension of
{@link javax.imageio.ImageReadParam} which permits specifying which metadata
tags are allowed to be read. For more information about the operation of the
built-in TIFF plug-ins, see the
<a HREF="../../metadata/doc-files/tiff_metadata.html">TIFF metadata format
specification and usage notes</a>.
<br>
<br>
<br>
@since 9
</body>
</html>

View File

@ -0,0 +1,38 @@
/*
* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* A package of the Java Image I/O API containing the plug-in interfaces for
* readers, writers, transcoders, and streams, and a runtime registry.
* <p>
* The {@code javax.imageio.spi} package contains service provider interfaces
* for reading, writing, and transcoding images, and obtaining image input and
* output streams, as well as a run-time registry that discovers installed
* instances of Image I/O service providers and allows new instances to be
* registered dynamically.
*
* @since 1.4
*/
package javax.imageio.spi;

View File

@ -1,48 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
A package of the Java Image I/O API containing the plug-in interfaces
for readers, writers, transcoders, and streams, and a runtime
registry.
<p>
The <code>javax.imageio.spi</code> package contains service
provider interfaces for reading, writing, and transcoding images, and
obtaining image input and output streams, as well as a run-time registry
that discovers installed instances of Image I/O service providers and allows new
instances to be registered dynamically.
@since 1.4
</body>
</html>

View File

@ -0,0 +1,50 @@
/*
* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* A package of the Java Image I/O API dealing with low-level I/O from files and
* streams.
* <p>
* The {@code ImageInputStream} interface unifies streaming and file-based
* operations. An abstract base class, {@code ImageInputStreamImpl} is provided
* to simplify writing a new {@code ImageInputStream} class. Concrete
* implementation classes ({@code FileImageInputStream},
* {@code FileCacheImageInputStream}, and {@code MemoryCacheImageInputStream})
* are provided that allow input to come from a {@code File} or
* {@code InputStream} with or without the use of a temporary cache file.
* <p>
* The {@code ImageOutputStream} interface performs an analogous function for
* output. An abstract base class, {@code ImageOutputStreamImpl} is provided,
* along with concrete implementation classes ({@code FileImageOutputStream},
* {@code FileCacheImageOutputStream}, and {@code MemoryCacheImageOutputStream})
* are provided that allow output to go to a {@code File} or
* {@code OutputStream} with or without the use of a temporary cache file.
* <p>
* The {@code IIOByteBuffer} class provides an alternative way to perform reads
* of sequences of bytes that reduces the amount of internal data copying.
*
* @since 1.4
*/
package javax.imageio.stream;

View File

@ -1,67 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
A package of the Java Image I/O API dealing with low-level I/O from
files and streams.
<p>
The <code>ImageInputStream</code> interface unifies streaming and
file-based operations. An abstract base class,
<code>ImageInputStreamImpl</code> is provided to simplify writing
a new <code>ImageInputStream</code> class. Concrete implementation
classes (<code>FileImageInputStream</code>,
<code>FileCacheImageInputStream</code>, and
<code>MemoryCacheImageInputStream</code>) are provided that allow
input to come from a <code>File</code> or <code>InputStream</code>
with or without the use of a temporary cache file.
<p>
The <code>ImageOutputStream</code> interface performs an analogous
function for output. An abstract base class,
<code>ImageOutputStreamImpl</code> is provided, along with
concrete implementation classes (<code>FileImageOutputStream</code>,
<code>FileCacheImageOutputStream</code>, and
<code>MemoryCacheImageOutputStream</code>) are provided that allow
output to go to a <code>File</code> or <code>OutputStream</code> with
or without the use of a temporary cache file.
<p>
The <code>IIOByteBuffer</code> class provides an alternative way to
perform reads of sequences of bytes that reduces the amount of
internal data copying.
@since 1.4
</body>
</html>

View File

@ -0,0 +1,376 @@
/*
* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides classes and interfaces that describe the types of Java&trade; Print
* Service attributes and how they can be collected into attribute sets.
*
* <h3>What is an Attribute?</h3>
* When setting up a print job, a client specifies two things: <b>print data</b>
* and <b>processing instructions.</b> The print data is the actual content to
* be printed. The processing instructions tell the printer how to print the
* print data, such as: what media to use, how many copies to print, and whether
* to print on one or both sides of a sheet. The client specifies these
* processing instructions with the attribute definitions of the Java Print
* Service API.
* <p>
* The print data and the processing instructions are separate entities. This
* means that:
* <ul>
* <li>You can print the same print data at different times using different
* processing instructions.<br>For example, you can print a slide
* presentation on US letter-sized white paper, double-sided, stapled, 20
* copies to make handouts for a talk; and you could print the same slide
* presentation on US letter-sized transparencies, single-sided, one copy to
* make the actual slides for the talk.</li>
* <li>You can use the same processing instructions at different times to
* print different data. For example, you could set your default processing
* instructions to: US letter-sized paper, double sided, stapled. Whenever
* you print a job, it prints with these settings, unless you explicitly
* override them.</li>
* </ul>
* <p>
* The processing instruction does not specify how the print job processes the
* request; each processing instruction is only a description of the results of
* a print job. The print job determines the manner in which it achieves the
* results specified by the processing instructions. Representing processing
* instructions as descriptive items provides more flexibility for implementing
* print jobs.
*
* <h4>Attribute Categories and Values</h4>
* Each printer has a set of capabilities, such as the ability to print on
* different paper sizes or the ability to print more than one copy. Each of the
* capabilities has a range of values. For example, a printer's orientation
* capability might have this range of values: [landscape, portrait]. For each
* print request, the capability is set to one of these values. The Java Print
* Service API uses the term <b>attribute category</b> to refer to a printer
* capability and the term <b>attribute value</b> to refer to the value of the
* capability.
* <p>
* In the Java Print Service API, an attribute category is represented by a Java
* class implementing the <a href="Attribute.html">Attribute</a> interface.
* Attribute values are instances of such a class or one of its subclasses. For
* example, to specify the number of copies, an application constructs an
* instance of the <a href="standard/Copies.html">Copies</a> class with the
* number of desired copies and uses the {@code Copies} instance as part of the
* print request. In this case, the {@code Copies} class represents the
* attribute category, and the {@code Copies} instance represents the attribute
* value.
*
* <h4><a name="role"></a>Attribute Roles</h4>
* When submitting a print job to a printer, the client provides the attributes
* describing the characteristics of the print data, such as the document name,
* and how the print data should be printed, such as double-sided, five copies.
* If a print job consists of multiple pieces of print data, different pieces
* might have different processing instructions, such as 8 x 11 inch media for
* the first document, and 11 x 17 inch media for another document.
* <p>
* Once the printer starts processing the print job, additional information
* about the job becomes available, which might include: the job state (such as
* <i>completed</i> or <i>queued</i>) and the number of pages printed so far.
* These pieces of information are also attributes. Attributes can also describe
* the printer itself, such as: the printer name, the printer location, and the
* number of jobs queued.
* <p>
* The Java Print Service API defines these different kinds of attributes with
* five subinterfaces of {@code Attribute}:
* <ul>
* <li><a href="DocAttribute.html">DocAttribute</a> specifies a
* characteristic of an individual document and the print job settings to be
* applied to an individual document.</li>
* <li><a href="PrintRequestAttribute.html">PrintRequestAttribute</a>
* specifies a setting applied to a whole print job and to all the documents
* in the print job.</li>
* <li><a href="PrintJobAttribute.html">PrintJobAttribute</a> reports the
* status of a print job.</li>
* <li><a href="PrintServiceAttribute.html">PrintServiceAttribute</a>
* reports the status of a print service.</li>
* <li><a href="SupportedValuesAttribute.html">SupportedValuesAttribute</a>
* gives the supported values for another attribute.</li>
* </ul>
* Each attribute class implements one or more of these tagging subinterfaces to
* indicate where the attribute can be used in the API. If an attribute class
* implements multiple tagging subinterfaces, the attribute can be used in
* multiple contexts. For example, the media attribute can apply to one document
* in a print job as a {@code DocAttribute} or to an entire print job as a
* {@code PrintRequestAttribute}. Certain low-level attributes are never used on
* their own but are always aggregated into higher-level attributes. These
* low-level attribute classes only implement interface
* <a href="Attribute.html">Attribute</a>, not any of the tagging subinterfaces.
* <p>
* The Java Print Service API defines a group of standard attribute classes
* modeled upon the attributes in the Internet Printing Protocol (IPP) version
* 1.1. The standard attribute classes are in the subpackage
* javax.print.attribute.standard to keep the actual attribute classes
* conceptually separate from the generic apparatus defined in package
* javax.print.attribute.
*
* <h3>Attribute Sets</h3>
* A client usually needs to provide more than one processing instruction when
* submitting a print job. For example, the client might need to specify a
* media size of A4 and a landscape orientation. To send more than one
* processing instruction, the client collects the attributes into an attribute
* set, which the Java Print Service API represents with the
* <a href="AttributeSet.html">AttributeSet</a> interface.
* <p>
* The {@code AttributeSet} interface is similar to the
* <a href="../../../java/util/Map.html">Map</a> interface: it provides a map of
* key to values, in which each key is unique and can contain no more than one
* value. However, the {@code AttributeSet} interface is designed to
* specifically support the needs of the Java Print Service API. An {@code
* AttributeSet} requires that:
* <ol type=1>
* <li>Each key in an {@code AttributeSet} corresponds to a category, and
* the value of the key can only be one of the attribute values that belong
* to the category represented by the key. Thus, unlike a {@code Map}, an
* {@code AttributeSet} restricts the possible values of a key: an attribute
* category cannot be set to an attribute value that does not belong to that
* category.</li>
* <li>No two attributes from the same category can exist in the same set.
* For example, an attribute collection must not contain both a "one-sided"
* attribute and a "two-sided" attribute because these two attributes give
* the printer conflicting instructions.</li>
* <li>Only attributes implementing the {@code Attribute} interface can be
* added to the set.</li>
* </ol>
* <p>
* The javax.print.attribute package includes
* <a href="HashAttributeSet.html">HashAttributeSet</a> as a concrete
* implementation of the attribute set interface. {@code HashAttributeSet}
* provides an attribute set based on a hash map. You can use this
* implementation or provide your own implementation of interface
* {@code AttributeSet}.
* <p>
* The Java Print Service API provides four specializations of an attribute set
* that are restricted to contain just one of the four kinds of attributes, as
* discussed in the <a href="#role">Attribute Roles</a> section:
* <ul>
* <li><a href="DocAttributeSet.html">DocAttributeSet</a></li>
* <li><a href="PrintRequestAttributeSet.html">
* PrintRequestAttributeSet</a></li>
* <li><a href="PrintJobAttributeSet.html">
* PrintJobAttributeSet</a></li>
* <li><a href="PrintServiceAttributeSet.html">
* PrintServiceAttributeSet</a></li>
* </ul>
* Notice that only four kinds of attribute sets are listed here, but there are
* five kinds of attributes. Interface
* <a href="SupportedValuesAttribute.html">SupportedValuesAttribute</a>
* denotes an attribute that gives the supported values for another attribute.
* Supported-values attributes are never aggregated into attribute sets, so
* there is no attribute set subinterface defined for them.
* <p>
* In some contexts, an attribute set is read-only, which means that the client
* is only allowed to examine an attribute set's contents but not change them.
* In other contexts, the attribute set is read-write, which means that the
* client is allowed both to examine and to change an attribute set's contents.
* For a read-only attribute set, calling a mutating operation throws an
* {@code UnmodifiableSetException}.
* <p>
* Package javax.print.attribute includes one concrete implementation of each of
* the attribute set subinterfaces:
* <ul>
* <li><a href="HashDocAttributeSet.html">
* HashDocAttributeSet</a></li>
* <li><a href="HashPrintRequestAttributeSet.html">
* HashPrintRequestAttributeSet</a>,</li>
* <li><a href="HashPrintJobAttributeSet.html">
* HashPrintJobAttributeSet</a>,</li>
* <li><a href="HashPrintServiceAttributeSet.html">
* HashPrintServiceAttributeSet</a>.</li>
* </ul>
* All of these classes extend
* <a href="HashAttributeSet.html">HashAttributeSet</a> and enforce the
* restriction that the attribute set is only allowed to contain the
* corresponding kind of attribute.
*
* <h3>Attribute Class Design</h3>
* An attribute value is a small, atomic data item, such as an integer or an
* enumerated value. The Java Print Service API does not use primitive data
* types, such as int, to represent attribute values for these reasons:
* <ul>
* <li>Primitive data types are not type-safe. For example, a compiler
* should not allow a "copies" attribute value to be used for a "sides"
* attribute.</li>
* <li>Some attributes must be represented as a record of several values.
* One example is printer resolution, which requires two numbers, such as
* 600 and 300 representing 600 x 300 dpi.</li>
* </ul>
* For type-safety and to represent all attributes uniformly, the Java Print
* Service API defines each attribute category as a class, such as class
* {@code Copies}, class <a href="standard/Sides.html">Sides</a>, and class
* <a href="standard/PrinterResolution.html">PrinterResolution</a>. Each
* attribute class wraps one or more primitive data items containing the
* attribute's value. Attribute set operations perform frequent comparisons
* between attribute category objects when adding attributes, finding existing
* attributes in the same category, and looking up an attribute given its
* category. Because an attribute category is represented by a class, fast
* attribute-value comparisons can be performed with the {@code Class.equals}
* method.
* <p>
* Even though the Java Print Service API includes a large number of different
* attribute categories, there are only a few different types of attribute
* values. Most attributes can be represented by a small number of data types,
* such as: integer values, integer ranges, text, or an enumeration of integer
* values. The type of the attribute value that a category accepts is called the
* attribute's abstract syntax. To provide consistency and reduce code
* duplication, the Java Print Service API defines abstract syntax classes to
* represent each abstract syntax, and these classes are used as the parent of
* standard attributes whenever possible. The abstract syntax classes are:
* <ul>
* <li><a href="EnumSyntax.html">EnumSyntax</a> provides a type-safe
* enumeration in which enumerated values are represented as singleton
* objects. Each enumeration singleton is an instance of the enumeration
* class that wraps a hidden int value.</li>
* <li><a href="IntegerSyntax.html">IntegerSyntax</a> is the abstract syntax
* for integer-valued attributes.</li>
* <li><a href="TextSyntax.html">TextSyntax</a> is the abstract syntax for
* text-valued attributes, and includes a locale giving the text string's
* natural language.</li>
* <li><a href="SetOfIntegerSyntax.html">SetOfIntegerSyntax</a> is the
* abstract syntax for attributes representing a range or set of integers
* <li><a href="ResolutionSyntax.html">ResolutionSyntax</a> is the abstract
* syntax for attributes representing resolution values, such as 600x300
* dpi.</li>
* <li><a href="Size2DSyntax.html">Size2DSyntax</a> is the abstract syntax
* for attributes representing a two-dimensional size, such as a paper size
* of 8.5 x 11 inches.</li>
* <li><a href="DateTimeSyntax.html">DateTimeSyntax</a> is the abstract
* syntax for attributes whose value is a date and time.</li>
* <li><a href="URISyntax.html">URISyntax</a> is the abstract syntax for
* attributes whose value is a Uniform Resource Indicator.</li>
* </ul>
* The abstract syntax classes are independent of the attributes that use them.
* In fact, applications that have nothing to do with printing can use the
* abstract syntax classes. Although most of the standard attribute classes
* extend one of the abstract syntax classes, no attribute class is required to
* extend one of these classes. The abstract syntax classes merely provide a
* convenient implementation that can be shared by many attribute classes.
* <p>
* Each attribute class implements the {@code Attribute} interface, either
* directly or indirectly, to mark it as a printing attribute. An attribute
* class that can appear in restricted attribute sets in certain contexts also
* implements one or more subinterfaces of {@code Attribute}. Most attribute
* classes also extend the appropriate abstract syntax class to get the
* implementation. Consider the {@code Sides} attribute class:
* <blockquote>
* <pre>{@code
* public class Sides
* extends EnumSyntax
* implements DocAttribute, PrintRequestAttribute, PrintJobAttribute
* {
* public final Object getCategory()
* {
* return Sides.class;
* }
* ...
* }}
* </pre>
* </blockquote>
* <p>
* Since every attribute class implements {@code Attribute}, every attribute
* class must provide an implementation for the
* {@link javax.print.attribute.Attribute#getCategory() getCategory} method,
* which returns the attribute category. In the case of {@code Sides}, the
* {@code getCategory} method returns {@code Sides.class}. The
* {@code getCategory} method is final to ensure that any vendor-defined
* subclasses of a standard attribute class appear in the same category. Every
* attribute object is immutable once constructed so that attribute object
* references can be passed around freely. To get a different attribute value,
* construct a different attribute object.
*
* <h3>Attribute Vendors</h3>
* The Java Print Service API is designed so that vendors can:
* <ul>
* <li>define new vendor-specific values for any standard attribute defined
* in <a href="standard/package-summary.html">javax.print.attribute.standard
* </a>.</li>
* <li>define new attribute categories representing the vendor printer's
* proprietary capabilities not already supported by the standard
* attributes.</li>
* </ul>
* To define a new value for an attribute, a client can construct instances of
* such attributes with arbitrary values at runtime. However, an enumerated
* attribute using an abstract syntax class of {@code EnumSyntax} specifies all
* the possible attribute values at compile time as singleton instances of the
* attribute class. This means that new enumerated values cannot be constructed
* at run time. To define new vendor-specific values for a standard enumerated
* attribute, the vendor must define a new attribute class specifying the new
* singleton instances. To ensure that the new attribute values fall in the same
* category as the standard attribute values, the new attribute class must be a
* subclass of the standard attribute class.
* <p>
* To define a new attribute category, a vendor defines a new attribute class.
* This attribute class, like the standard attribute classes, implements
* {@code Attribute} or one of its subinterfaces and extends an abstract syntax
* class. The vendor can either use an existing abstract syntax class or define
* a new one. The new vendor-defined attribute can be used wherever an
* {@code Attribute} is used, such as in an {@code AttributeSet}.
*
* <h3>Using Attributes</h3>
* A typical printing application uses the {@code PrintRequestAttributeSet}
* because print-request attributes are the types of attributes that client
* usually specifies. This example demonstrates creating an attribute set of
* print-request attributes and locating a printer that can print the document
* according to the specified attributes:
* <blockquote>
* <pre>{@code
* FileInputStream psStream;
* try {
* psstream = new FileInputStream("file.ps");
* } catch (FileNotFoundException ffne) {
* }
* if (psstream == null) {
* return;
* }
* //Set the document type. See the DocFlavor documentation for
* //more information.
* DocFlavor psInFormat = DocFlavor.INPUT_STREAM.POSTSCRIPT;
* Doc myDoc = new SimpleDoc(pstream, psInFormat, null);
* PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
* aset.add(new Copies(5));
* aset.add(MediaSize.A4);
* aset.add(Sides.DUPLEX);
* PrintService[] services =
* PrintServiceLookup.lookupPrintServices(psInFormat, aset);
* if (services.length > 0) {
* DocPrintJob job = services[0].createPrintJob();
* try {
* job.print(myDoc, aset);
* } catch (PrintException pe) {}
* }
* }</pre>
* </blockquote>
* <p>
* Please note: In the javax.print APIs, a null reference parameter to methods
* is incorrect unless explicitly documented on the method as having a
* meaningful interpretation. Usage to the contrary is incorrect coding and may
* result in a run time exception either immediately or at some later time.
* IllegalArgumentException and NullPointerException are examples of typical and
* acceptable run time exceptions for such cases.
*
* @since 1.4
*/
package javax.print.attribute;

View File

@ -1,404 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>javax.print.attribute package</title>
<!--
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Provides classes and interfaces
that describe the types of Java<sup><font size="-2">TM</font></sup> Print
Service attributes and how they can be collected into attribute sets.
<H3>What is an Attribute?</H3>
When setting up a print job,
a client specifies two things:
<B>print data</B> and <B>processing instructions.</B>
The print data is the actual content to be printed.
The processing instructions tell the printer how to print the print data,
such as: what media to use, how many copies to print, and
whether to print on one or both sides of a sheet. The client specifies
these processing instructions with the attribute definitions of the Java
Print Service API.
<P>
The print data and the processing instructions
are separate entities. This means that:
<ul>
<li>You can print the same print data
at different times using different processing instructions.
<br>
For example, you can print a slide presentation
on US letter-sized white paper,
double-sided, stapled, 20 copies
to make handouts for a talk;
and you could print the same slide presentation
on US letter-sized transparencies,
single-sided, one copy
to make the actual slides for the talk.
<li>You can use the same processing instructions
at different times to print different data.
For example, you could set your default processing
instructions to: US letter-sized paper, double sided, stapled.
Whenever you print a job, it prints with these settings,
unless you explicitly override them.
</ul>
<P>
The processing instruction does not specify how the print job
processes the request; each processing instruction is only a description
of the results of a print job. The print job determines the manner in
which it achieves the results specified by the processing instructions.
Representing processing instructions as descriptive items
provides more flexibility for implementing print jobs.
<h4>Attribute Categories and Values</h4>
Each printer has a set of capabilities, such as the ability to print on
different paper sizes or the ability to print more than one copy. Each of
the capabilities has a range of values. For example, a printer's orientation
capability might have this range of values: [landscape, portrait].
For each print request, the capability is set to one of these values. The
Java Print Service API uses the term <b>attribute category</b> to refer to
a printer capability and the term <b>attribute value</b> to refer to the value
of the capability.
<p>
In the Java Print Service API, an attribute category is represented by a Java
class implementing the <a href="Attribute.html">Attribute</a> interface.
Attribute values are instances of such a class or
one of its subclasses. For example, to specify the number of copies, an
application constructs an instance of the
<a href="standard/Copies.html">Copies</a> class with the
number of desired copies and uses the <code>Copies</code> instance as part of
the print request. In this case, the <code>Copies</code> class represents the
attribute category, and the <code>Copies</code> instance represents the
attribute value.
<h4><a name="role"></a>Attribute Roles</h4>
When submitting a print job to a printer, the client provides the
attributes describing the characteristics of the print data, such as
the document name, and how the print data should be printed, such as
double-sided, five copies. If a print job consists of multiple
pieces of print data, different pieces might have different processing
instructions, such as 8 x 11 inch media for the first document, and
11 x 17 inch media for another document.
<p>
Once the printer starts processing the print job,
additional information about the job becomes available, which might include:
the job state (such as <i>completed</i> or <i>queued</i>) and
the number of pages printed so far. These pieces of information are also
attributes. Attributes can also describe the printer itself, such as:
the printer name, the printer location, and the number of jobs queued.
<p>
The Java Print Service API defines these different kinds of attributes
with five subinterfaces of <code>Attribute</code>:
<ul>
<li><A HREF="DocAttribute.html">DocAttribute</A> specifies a characteristic
of an individual document and the print job settings to be applied to an
individual document.
<li><A HREF="PrintRequestAttribute.html">PrintRequestAttribute</A> specifies
a setting applied to a whole print job and to all the documents in
the print job.
<li><A HREF="PrintJobAttribute.html">PrintJobAttribute</A> reports the status
of a print job.
<li><A HREF="PrintServiceAttribute.html">PrintServiceAttribute</A> reports the
status of a print service.
<li><A HREF="SupportedValuesAttribute.html">SupportedValuesAttribute</A> gives
the supported values for another attribute.
</ul>
Each attribute class
implements one or more of these tagging subinterfaces
to indicate where the attribute can be used in the API.
If an attribute class implements multiple tagging subinterfaces,
the attribute can be used in multiple contexts. For example, the media
attribute can apply to one document in a print job as a <code>DocAttribute</code>
or to an entire print job as a <code>PrintRequestAttribute</code>.
Certain low-level attributes
are never used on their own
but are always aggregated into higher-level attributes.
These low-level attribute classes only
implement interface <A HREF="Attribute.html">Attribute</A>,
not any of the tagging subinterfaces.
<P>
The Java Print Service API defines a group of
standard attribute classes modeled upon the attributes in
the Internet Printing Protocol (IPP) version 1.1. The
standard attribute classes are in the subpackage
javax.print.attribute.standard to keep the actual
attribute classes conceptually separate from the generic
apparatus defined in package javax.print.attribute.
<H3>Attribute Sets</H3>
A client usually needs to provide more than one processing
instruction when submitting a print job. For example, the client might need to
specify a media size of A4 and a landscape orientation. To send more than one
processing instruction, the client collects the attributes into an
attribute set, which the Java Print Service API represents with the
<a href="AttributeSet.html">AttributeSet</a>
interface.
<p>
The <code>AttributeSet</code> interface is similar to the
<a href="../../../java/util/Map.html">Map</a> interface: it provides a map of
key to values, in which each key is unique and can contain no more than one
value. However, the <code>AttributeSet</code> interface is designed to
specifically support the needs of the Java Print Service API. An
<code>AttributeSet</code> requires that:
<OL TYPE=1>
<LI>Each key in an <code>AttributeSet</code> corresponds to a category, and
the value of the key can only be one of the attribute values that belong
to the category represented by the key. Thus, unlike a <code>Map</code>, an
<code>AttributeSet</code> restricts the possible values of a key: an
attribute category cannot be set to an attribute value that does not belong to
that category.
<LI>No two attributes from the same category can exist in the same set.
For example, an attribute collection
must not contain both a "one-sided" attribute and a "two-sided" attribute
because these two attributes give the printer conflicting instructions.
<LI>Only attributes implementing the <code>Attribute</code> interface can
be added to the set.
</OL>
<P>
The javax.print.attribute package includes
<A HREF="HashAttributeSet.html">HashAttributeSet</A>
as a concrete implementation of the attribute set interface.
<code>HashAttributeSet</code> provides an attribute set based on a hash map.
You can use this implementation or provide your own implementation
of interface <code>AttributeSet</code>.
<p>
The Java Print Service API provides four specializations of an attribute set
that are restricted to contain just one of the four kinds of attributes,
as discussed in the <a href="#role">Attribute Roles</a> section:
<ul>
<li><A HREF="DocAttributeSet.html">DocAttributeSet</A>
<li><A HREF="PrintRequestAttributeSet.html">PrintRequestAttributeSet</A>
<li><A HREF="PrintJobAttributeSet.html">PrintJobAttributeSet</A>
<li><A HREF="PrintServiceAttributeSet.html">PrintServiceAttributeSet</A>
</ul>
Notice that only four kinds of attribute sets are listed here, but there are
five kinds of attributes. Interface
<A HREF="SupportedValuesAttribute.html">SupportedValuesAttribute</A>
denotes an attribute that gives the supported values for another attribute.
Supported-values attributes are never aggregated into attribute sets,
so there is no attribute set subinterface defined for them.
<P>
In some contexts, an attribute set is read-only, which means that the
client is only allowed to examine an attribute set's
contents but not change them. In other contexts, the attribute set is read-write,
which means that the client is allowed both to examine and to change an
attribute set's contents. For a read-only attribute set, calling a mutating
operation throws an <code>UnmodifiableSetException</code>.
<P>
Package javax.print.attribute includes
one concrete implementation of each of the attribute set subinterfaces:
<ul>
<li><A HREF="HashDocAttributeSet.html">HashDocAttributeSet</A>
<li><A HREF="HashPrintRequestAttributeSet.html">HashPrintRequestAttributeSet</A>,
<li><A HREF="HashPrintJobAttributeSet.html">HashPrintJobAttributeSet</A>,
<li><A HREF="HashPrintServiceAttributeSet.html">HashPrintServiceAttributeSet</A>.
</ul>
All of these classes extend <A HREF="HashAttributeSet.html">HashAttributeSet</A>
and enforce the restriction that the attribute set is only allowed to contain
the corresponding kind of attribute.
<H3>Attribute Class Design</H3>
An attribute value is a small, atomic data item,
such as an integer or an enumerated value. The Java Print Service API
does not use primitive data types, such as int, to represent attribute
values for these reasons:
<ul>
<li>Primitive data types are not type-safe. For example, a compiler
should not allow a "copies" attribute value to
be used for a "sides" attribute.
<li>Some attributes must be represented as a record of several
values. One example is printer resolution, which requires two
numbers, such as 600 and 300 representing 600 x 300 dpi.
</ul>
For type-safety and to represent all attributes uniformly, the Java
Print Service API defines each attribute category as a class, such as
class <code>Copies</code>, class <a href="standard/Sides.html">Sides</a>, and class
<a href="standard/PrinterResolution.html">PrinterResolution</a>. Each
attribute class wraps one or more primitive data items containing the
attribute's value. Attribute set operations perform frequent
comparisons between attribute category objects when adding attributes,
finding existing attributes in the same category, and looking
up an attribute given its category. Because an attribute category is
represented by a class, fast attribute-value comparisons can be performed
with the <code>Class.equals</code> method.
<p>
Even though the Java Print Service API includes a large number of
different attribute categories, there are only a few different types
of attribute values. Most attributes can be represented by a small
number of data types, such as: integer values, integer ranges, text,
or an enumeration of integer values. The type of the attribute value that
a category accepts is called the attribute's abstract syntax. To
provide consistency and reduce code duplication, the Java Print Service
API defines abstract syntax classes to represent each
abstract syntax, and these classes are used as the parent of standard
attributes whenever possible. The abstract syntax classes are:
<ul>
<li><a href="EnumSyntax.html">EnumSyntax</a>
provides a type-safe enumeration in which enumerated
values are represented as singleton objects. Each enumeration
singleton is an instance of the enumeration class that wraps a hidden
int value.
<li><a href="IntegerSyntax.html">IntegerSyntax</a>
is the abstract syntax for integer-valued attributes.
<li><a href="TextSyntax.html">TextSyntax</a> is
the abstract syntax for text-valued attributes, and
includes a locale giving the text string's natural language.
<li><a href="SetOfIntegerSyntax.html">SetOfIntegerSyntax</a>
is the abstract syntax for attributes
representing a range or set of integers
<li><a href="ResolutionSyntax.html">ResolutionSyntax</a>
is the abstract syntax for attributes representing
resolution values, such as 600x300 dpi.
<li><a href="Size2DSyntax.html">Size2DSyntax</a>
is the abstract syntax for attributes representing a
two-dimensional size, such as a paper size of 8.5 x 11 inches.
<li><a href="DateTimeSyntax.html">DateTimeSyntax</a>
is the abstract syntax for attributes whose value is a date and time.
<li><a href="URISyntax.html">URISyntax</a> is the
abstract syntax for attributes whose value is a Uniform Resource
Indicator.
</ul>
The abstract syntax classes are independent of the attributes that
use them. In fact, applications that have nothing to do with
printing can use the abstract syntax classes. Although most of the
standard attribute classes extend one of the abstract syntax classes,
no attribute class is required to extend one of these classes. The
abstract syntax classes merely provide a convenient implementation that
can be shared by many attribute classes.
<p>
Each attribute class implements the <code>Attribute</code> interface, either
directly or indirectly, to mark it as a printing attribute. An
attribute class that can appear in restricted attribute sets in
certain contexts also implements one or more subinterfaces of
<code>Attribute</code>. Most attribute classes also extend the appropriate
abstract syntax class to get the implementation. Consider the
<code>Sides</code> attribute class:
<blockquote>
<pre>
public class Sides
extends EnumSyntax
implements DocAttribute, PrintRequestAttribute, PrintJobAttribute
{
public final Object getCategory()
{
return Sides.class;
}
...
}
</pre>
</blockquote>
<p>
Since every attribute class implements <code>Attribute</code>, every attribute
class must provide an implementation for the
{@link javax.print.attribute.Attribute#getCategory() getCategory} method,
which returns the attribute category. In the case of <code>Sides</code>, the
<code>getCategory</code> method returns <code>Sides.class</code>. The
<code>getCategory</code> method is final to ensure that any vendor-defined
subclasses of a standard attribute class appear in the same category.
Every attribute object is immutable once constructed so that attribute object
references can be passed around freely. To get a different attribute
value, construct a different attribute object.
<h3>Attribute Vendors</h3>
The Java Print Service API is designed so that vendors can:
<ul>
<li>define new vendor-specific values for any standard attribute
defined in <a href="standard/package-summary.html">
javax.print.attribute.standard</a>.
<li>define new attribute categories representing the vendor printer's
proprietary capabilities not already supported by the standard
attributes.
</ul>
To define a new value for an attribute, a client can construct
instances of such attributes with arbitrary values at runtime.
However, an enumerated attribute using an abstract syntax class
of <code>EnumSyntax</code> specifies all the possible attribute values
at compile time as singleton instances of the attribute class. This
means that new enumerated values cannot be constructed at run time.
To define new vendor-specific values for a standard enumerated
attribute, the vendor must define a new attribute class specifying
the new singleton instances. To ensure that the new attribute values
fall in the same category as the standard attribute values, the new
attribute class must be a subclass of the standard attribute class.
<p>
To define a new attribute category, a vendor defines a new attribute
class. This attribute class, like the standard attribute classes,
implements <code>Attribute</code> or one of its subinterfaces and extends an
abstract syntax class. The vendor can either use an existing
abstract syntax class or define a new one. The new vendor-defined
attribute can be used wherever an <code>Attribute</code> is used, such as in an
<code>AttributeSet</code>.
<h3>Using Attributes</h3>
A typical printing application uses the <code>PrintRequestAttributeSet</code>
because print-request attributes are the types of attributes that
client usually specifies. This example demonstrates creating an attribute
set of print-request attributes and locating a printer that can
print the document according to the specified attributes:
<blockquote>
<pre>
FileInputStream psStream;
try {
psstream = new FileInputStream("file.ps");
} catch (FileNotFoundException ffne) {
}
if (psstream == null) {
return;
}
//Set the document type. See the DocFlavor documentation for
//more information.
DocFlavor psInFormat = DocFlavor.INPUT_STREAM.POSTSCRIPT;
Doc myDoc = new SimpleDoc(pstream, psInFormat, null);
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(new Copies(5));
aset.add(MediaSize.A4);
aset.add(Sides.DUPLEX);
PrintService[] services =
PrintServiceLookup.lookupPrintServices(psInFormat, aset);
if (services.length > 0) {
DocPrintJob job = services[0].createPrintJob();
try {
job.print(myDoc, aset);
} catch (PrintException pe) {}
}
</pre>
</blockquote>
<P>
Please note: In the javax.print APIs, a null reference parameter to methods
is incorrect unless explicitly documented on the method as having a meaningful
interpretation. Usage to the contrary is incorrect coding and may result
in a run time exception either immediately or at some later time.
IllegalArgumentException and NullPointerException are examples of
typical and acceptable run time exceptions for such cases.
@since 1.4
</body>
</html>

View File

@ -0,0 +1,637 @@
/*
* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Package javax.print.attribute.standard contains classes for specific printing
* attributes. The parent package, <a href="../package-summary.html">
* javax.print.attribute</a>, provides classes and interfaces that describe the
* types of Java Print Service attributes and how they can be collected into
* attribute sets.
* <p>
* An attribute represents a printing feature that a print service can provide.
* For each attribute, a print service either does or does not support the
* attribute. For each possible value of a supported attribute, a print service
* either does or does not support the value.
* <p>
* The API requires every print service to support certain attributes; other
* attributes are optional and the service can choose whether or not to support
* them. Each attribute has a set of values that it accepts. The API requires
* every print service to support certain values for certain attributes; other
* attribute values are optional and the service can choose whether or not to
* support them. These support requirements are recorded in the documentation
* for each attribute class.
* <p>
* Package javax.print.attribute.standard contains standard printing attributes
* and standard printing attribute values that are widely used in the printing
* domain. A print service vendor can provide new vendor-specific printing
* attributes in addition to the standard ones. A vendor can also provide
* vendor-specific extensions (subclasses) of the standard printing attributes
* -- for example, to provide additional vendor-specific values for an existing
* standard attribute. Of course, if a vendor wants clients to be able to use
* any added or extended attributes, the vendor must publish the new attribute
* classes.
* <p>
* Many of the standard attribute classes extend one of the abstract syntax
* classes of the javax.print.attribute package. These abstract syntax classes
* each represent a different type. The <a href="../EnumSyntax.html">
* EnumSyntax</a> class, for example, represents a type-safe enumeration. The
* abstract syntax class provides a wrapper for the attribute value.
* <p>
* If an attribute class extends {@code EnumSyntax}, and the value of the
* attribute is an IPP-compatible value, the attribute's {@code toString} method
* returns the IPP string representation of the attribute value, such as
* "processing-stopped" for the <a href="JobState.html">JobState</a> attribute.
* However, because the {@code EnumSyntax} class is extensible, vendors can
* define their own attribute values. If an attribute uses the
* {@code EnumSyntax} class and is set to one of these vendor-defined values
* then the {@code toString} method will not return the IPP string
* representation of the value.
* <p>
* A printing client application will typically not need to use all the printing
* attribute classes in package javax.print.attribute.standard, just the ones
* that pertain to the application.
* <p>
* The attribute classes in package javax.print.attribute.standard are based on
* the Internet Printing Protocol (IPP) attributes as defined in the Internet
* RFC document, <i>RFC 2911 Internet Printing Protocol/1.1: Model and
* Semantics</i> dated September 2000. See
* <a href="http://www.ietf.org/rfc/rfc2911.txt">RFC 2911</a> for more
* information. The descriptive text for each attribute class was taken largely
* from the above documents. The above authors' contribution to the API is
* gratefully acknowledged.
*
* <h3>Attribute Organization</h3>
* There are five kinds of printing attributes: doc attributes, print request
* attributes, print job attributes, print service attributes, and
* supported-values attributes.
*
* <h4>Doc Attributes</h4>
* Doc attributes specify the characteristics of an individual doc and the print
* job settings to be applied to an individual doc. A doc attribute class
* implements interface <a href="../DocAttribute.html">DocAttribute</a>. A doc
* attribute can appear in a <a href="../DocAttributeSet.html">
* DocAttributeSet</a>.
*
* <h4>Print Request Attributes</h4>
* Print request attributes specify the settings to be applied to a whole print
* job and to all the docs in the print job. A print request attribute class
* implements interface <a href="../PrintRequestAttribute.html">
* PrintRequestAttribute</a>. A print request attribute can appear in a
* <a href="../PrintRequestAttributeSet.html">PrintRequestAttributeSet</a>.
* <p>
* Some attributes are doc attributes but not print request attributes and may
* only be specified at the doc level. Some attributes are print request
* attributes but not doc attributes and may only be specified at the Print
* Request level. Some attributes are both doc attributes and print request
* attributes and may be specified either at the doc level or at the Print
* Request level.
* <p>
* When specified at the doc level, an attribute applies just to that one doc.
* When specified at the Print Request level, an attribute applies to the whole
* job, including all the docs in the job. However, an attribute specified at
* the doc level overrides an attribute in the same category specified at the
* Print Request level.
*
* <h4>Print Job Attributes</h4>
* Print job attributes report the status of a Print Job. A print job attribute
* class implements interface <a href="../PrintJobAttribute.html">
* PrintJobAttribute</a>. A print job attribute can appear in a
* <a href="../PrintJobAttributeSet.html">PrintJobAttributeSet</a>.
* <p>
* Some attributes are both print request attributes and print job attributes; a
* client may include such attributes in a Print Request to specify
* characteristics for the ensuing Print Job, and those attributes then also
* appear in the Print Job's attribute set. Some attributes are print job
* attributes but not print request attributes; the print service itself adds
* these attributes to the Print Job's attribute set.
*
* <h4>Print Service Attributes</h4>
* Print service attributes report the status of a print service. A print
* service attribute class implements interface
* <a href="../PrintServiceAttribute.html">PrintServiceAttribute</a>. A print
* service attribute can appear in a <a href="../PrintServiceAttributeSet.html">
* PrintServiceAttributeSet</a>.
*
* <h4>Supported-Values Attributes</h4>
* A supported-value attribute indicates the legal values for another attribute
* that a print service supports. A supported-values attribute class implements
* interface <a href="../SupportedValuesAttribute.html">
* SupportedValuesAttribute</a>. However, supported-values attributes never
* appear in attribute sets, so there is no restricted
* <a href="../AttributeSet.html">AttributeSet</a> subinterface for them.
*
* <h4>Attribute Table</h4>
* The table below lists all the printing attributes. The table shows the
* tagging interfaces each attribute class implements in addition to interface
* <a href="../Attribute.html"> Attribute</a>, thus indicating how each
* attribute is used in the API. For each doc attribute and print request
* attribute, the column marked "SupportedValuesAttribute" lists the
* supported-values attribute class, if any, with which a print service
* indicates the supported values for that attribute category.
* <table border=1 cellpadding=2 cellspacing=1 summary="Lists all printing
* attributes as described in above text">
* <tr style="background-color:#E5E5E5">
* <th valign="bottom">Attribute Class</th>
* <th valign="bottom">Doc<br>Attribute</th>
* <th valign="bottom">Print<br>Request<br>Attribute</th>
* <th valign="bottom">Print<br>Job<br>Attribute</th>
* <th valign="bottom">Print<br>Service<br>Attribute</th>
* <th valign="bottom">SupportedValuesAttribute</th>
* </tr>
* <tr>
* <td><a href="Compression.html">Compression</a></td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="DocumentName.html">DocumentName</a></td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="Chromaticity.html">Chromaticity</a></td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="Copies.html">Copies</a></td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td><a href="CopiesSupported.html">CopiesSupported</a></td>
* </tr>
* <tr>
* <td><a href="Finishings.html">Finishings</a></td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="JobHoldUntil.html">JobHoldUntil</a></td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="JobImpressions.html">JobImpressions</a></td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td><a href="JobImpressionsSupported.html">
* JobImpressionsSupported</a></td>
* </tr>
* <tr>
* <td><a href="JobKOctets.html">JobKOctets</a></td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td><a href="JobKOctetsSupported.html">JobKOctetsSupported</a></td>
* </tr>
* <tr>
* <td><a href="JobMediaSheets.html">JobMediaSheets</a></td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td><a href="JobMediaSheetsSupported.html">
* JobMediaSheetsSupported</a></td>
* </tr>
* <tr>
* <td><a href="JobName.html">JobName</a></td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="JobPriority.html">JobPriority</a></td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td><a href="JobPrioritySupported.html">JobPrioritySupported</a></td>
* </tr>
* <tr>
* <td><a href="JobSheets.html">JobSheets</a></td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="Media.html">Media</a></td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="MediaSize.html">MediaSize</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="MultipleDocumentHandling.html">
* MultipleDocumentHandling</a></td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="NumberUp.html">NumberUp</a></td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td><a href="NumberUpSupported.html">NumberUpSupported</a></td>
* </tr>
* <tr>
* <td><a href="OrientationRequested.html">OrientationRequested</a></td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="PageRanges.html">PageRanges</a></td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="PresentationDirection.html">
* PresentationDirection</a></td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="PrinterResolution.html">PrinterResolution</a></td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="PrintQuality.html">PrintQuality</a></td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="RequestingUserName.html">RequestingUserName</a></td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="SheetCollate.html">SheetCollate</a></td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="Sides.html">Sides</a></td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="DateTimeAtCompleted.html">DateTimeAtCompleted</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="DateTimeAtCreation.html">DateTimeAtCreation</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="DateTimeAtProcessing.html">DateTimeAtProcessing</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="JobImpressionsCompleted.html">
* JobImpressionsCompleted</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="JobKOctetsProcessed.html">JobKOctetsProcessed</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="JobMediaSheetsCompleted.html">
* JobMediaSheetsCompleted</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="JobMessageFromOperator.html">
* JobMessageFromOperator</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="JobOriginatingUserName.html">
* JobOriginatingUserName</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="JobState.html">JobState</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="JobStateReasons.html">JobStateReasons</a><br>
* Contains zero or more --</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td>-- <a href="JobStateReason.html">JobStateReason</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="NumberOfDocuments.html">NumberOfDocuments</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="NumberOfInterveningJobs.html">
* NumberOfInterveningJobs</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="OutputDeviceAssigned.html">OutputDeviceAssigned</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="ColorSupported.html">ColorSupported</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="PagesPerMinute.html">PagesPerMinute</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="PagesPerMinuteColor.html">PagesPerMinuteColor</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="PDLOverrideSupported.html">PDLOverrideSupported</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="PrinterIsAcceptingJobs.html">
* PrinterIsAcceptingJobs</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="PrinterInfo.html">PrinterInfo</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="PrinterLocation.html">PrinterLocation</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="PrinterMessageFromOperator.html">
* PrinterMessageFromOperator</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="PrinterMakeAndModel.html">PrinterMakeAndModel</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="PrinterMoreInfo.html">PrinterMoreInfo</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="PrinterMoreInfoManufacturer.html">
* PrinterMoreInfoManufacturer</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="PrinterName.html">PrinterName</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="PrinterState.html">PrinterState</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="PrinterStateReasons.html">PrinterStateReasons</a><br>
* Contains zero or more --</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td>-- <a href="PrinterStateReason.html">PrinterStateReason</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td>-- <a href="Severity.html">Severity</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="QueuedJobCount.html">QueuedJobCount</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td align="center">X</td>
* <td>&nbsp;</td>
* </tr>
* <tr>
* <td><a href="ReferenceUriSchemesSupported.html">
* ReferenceUriSchemesSupported</a></td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* <td>&nbsp;</td>
* </tr>
* </table>
* <p>
* Please note: In the javax.print APIs, a null reference parameter to methods
* is incorrect unless explicitly documented on the method as having a
* meaningful interpretation. Usage to the contrary is incorrect coding and may
* result in a run time exception either immediately or at some later time.
* IllegalArgumentException and NullPointerException are examples of typical and
* acceptable run time exceptions for such cases.
*
* @since 1.4
*/
package javax.print.attribute.standard;

View File

@ -1,292 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>javax.print.attribute.standard package</title>
<!--
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Package javax.print.attribute.standard
contains classes for specific printing attributes.
The parent package,
<A HREF="../package-summary.html">
javax.print.attribute</A>,
provides classes and interfaces that describe the types of Java
Print Service attributes and how they can be collected into attribute
sets.
<P>
An attribute represents a printing feature
that a print service can provide.
For each attribute,
a print service either does or does not support the attribute.
For each possible value of a supported attribute,
a print service either does or does not support the value.
<P>
The API requires every print service
to support certain attributes;
other attributes are optional
and the service can choose whether or not to support them.
Each attribute has a set of values that it accepts. The API
requires every print service to support certain values for
certain attributes;
other attribute values are optional
and the service can choose whether or not to support them.
These support requirements are recorded in the documentation
for each attribute class.
<P>
Package javax.print.attribute.standard
contains standard printing attributes
and standard printing attribute values
that are widely used in the printing domain.
A print service vendor
can provide new vendor-specific printing attributes
in addition to the standard ones.
A vendor can also provide
vendor-specific extensions (subclasses)
of the standard printing attributes --
for example,
to provide additional vendor-specific values
for an existing standard attribute.
Of course,
if a vendor wants clients
to be able to use any added or extended attributes,
the vendor must publish the new attribute classes.
<P>
Many of the standard attribute classes extend one of
the abstract syntax classes of the javax.print.attribute package.
These abstract syntax classes each represent a
different type. The <a href="../EnumSyntax.html">
EnumSyntax</a> class, for example, represents a type-safe
enumeration. The abstract syntax class provides a wrapper for the attribute
value.
<p>
If an attribute class extends <code>EnumSyntax</code>, and the value of the
attribute is an IPP-compatible value, the attribute's <code>toString</code>
method returns the IPP string representation of the attribute value, such as
"processing-stopped" for the
<a href="JobState.html">JobState</a> attribute. However, because the
<code>EnumSyntax</code> class is extensible, vendors can define their own
attribute values. If an attribute uses the <code>EnumSyntax</code> class
and is set to one of these vendor-defined values then the <code>toString</code>
method will not return the IPP string representation of the value.
<p>
A printing client application
will typically not need to use
all the printing attribute classes
in package javax.print.attribute.standard,
just the ones that pertain to the application.
<P>
The attribute classes in package javax.print.attribute.standard
are based on the Internet Printing Protocol (IPP) attributes
as defined in the Internet RFC document,
<I>RFC 2911 Internet Printing Protocol/1.1: Model and Semantics</I>
dated September 2000.
See <a HREF="http://www.ietf.org/rfc/rfc2911.txt">RFC 2911</a>
for more information.
The descriptive text for each attribute class
was taken largely from the above documents.
The above authors' contribution to the API
is gratefully acknowledged.
<H3>Attribute Organization</H3>
There are five kinds of printing attributes:
doc attributes,
print request attributes,
print job attributes,
print service attributes,
and supported-values attributes.
<H4>Doc Attributes</H4>
Doc attributes specify the characteristics of an individual doc
and the print job settings to be applied to an individual doc.
A doc attribute class implements interface
<A HREF="../DocAttribute.html">DocAttribute</A>.
A doc attribute can appear in a
<a href="../DocAttributeSet.html">
DocAttributeSet</a>.
<H4>Print Request Attributes</H4>
Print request attributes
specify the settings to be applied to a whole print job
and to all the docs in the print job.
A print request attribute class implements interface
<A HREF="../PrintRequestAttribute.html">
PrintRequestAttribute</A>.
A print request attribute can appear in a
<a href="../PrintRequestAttributeSet.html">
PrintRequestAttributeSet</a>.
<P>
Some attributes are doc attributes
but not print request attributes
and may only be specified at the doc level.
Some attributes are print request attributes
but not doc attributes
and may only be specified at the Print Request level.
Some attributes are both doc attributes
and print request attributes
and may be specified either at the doc level
or at the Print Request level.
<P>
When specified at the doc level,
an attribute applies just to that one doc.
When specified at the Print Request level,
an attribute applies to the whole job,
including all the docs in the job.
However, an attribute specified at the doc level
overrides an attribute in the same category
specified at the Print Request level.
<H4>Print Job Attributes</H4>
Print job attributes report the status of a Print Job.
A print job attribute class implements interface
<A HREF="../PrintJobAttribute.html">PrintJobAttribute</A>.
A print job attribute
can appear in a <A HREF="../PrintJobAttributeSet.html">
PrintJobAttributeSet</A>.
<P>
Some attributes are both print request attributes
and print job attributes;
a client may include such attributes in a Print Request
to specify characteristics for the ensuing Print Job,
and those attributes then also appear
in the Print Job's attribute set.
Some attributes are print job attributes
but not print request attributes;
the print service itself
adds these attributes to the Print Job's attribute set.
<H4>Print Service Attributes</H4>
Print service attributes report the status
of a print service.
A print service attribute class implements interface
<A HREF="../PrintServiceAttribute.html">
PrintServiceAttribute</A>.
A print service attribute
can appear in a <A HREF="../PrintServiceAttributeSet.html">
PrintServiceAttributeSet</A>.
<H4>Supported-Values Attributes</H4>
A supported-value attribute
indicates the legal values for another attribute
that a print service supports.
A supported-values attribute class implements interface
<A HREF="../SupportedValuesAttribute.html">
SupportedValuesAttribute</A>.
However, supported-values attributes
never appear in attribute sets,
so there is no restricted <A HREF="../AttributeSet.html">
AttributeSet</A>
subinterface for them.
<H4>Attribute Table</H4>
The table below lists all the printing attributes.
The table shows the tagging interfaces
each attribute class implements
in addition to interface <A HREF="../Attribute.html">
Attribute</A>,
thus indicating how each attribute is used in the API.
For each doc attribute and print request attribute,
the column marked "SupportedValuesAttribute"
lists the supported-values attribute class, if any,
with which a print service
indicates the supported values for that attribute category.
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=1 SUMMARY="Lists all printing attributes as described in above text">
<TR BGCOLOR="#E5E5E5">
<TH VALIGN="bottom">Attribute Class</TH>
<TH VALIGN="bottom">Doc<BR>Attribute</TH>
<TH VALIGN="bottom">Print<BR>Request<BR>Attribute</TH>
<TH VALIGN="bottom">Print<BR>Job<BR>Attribute</TH>
<TH VALIGN="bottom">Print<BR>Service<BR>Attribute</TH>
<TH VALIGN="bottom">SupportedValuesAttribute</TH>
</TR>
<TR><TD><A HREF="Compression.html">Compression</A></TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="DocumentName.html">DocumentName</A></TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="Chromaticity.html">Chromaticity</A></TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="Copies.html">Copies</A></TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD><A HREF="CopiesSupported.html">CopiesSupported</A></TD></TR>
<TR><TD><A HREF="Finishings.html">Finishings</A></TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="JobHoldUntil.html">JobHoldUntil</A></TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="JobImpressions.html">JobImpressions</A></TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD><A HREF="JobImpressionsSupported.html">JobImpressionsSupported</A></TD></TR>
<TR><TD><A HREF="JobKOctets.html">JobKOctets</A></TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD><A HREF="JobKOctetsSupported.html">JobKOctetsSupported</A></TD></TR>
<TR><TD><A HREF="JobMediaSheets.html">JobMediaSheets</A></TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD><A HREF="JobMediaSheetsSupported.html">JobMediaSheetsSupported</A></TD></TR>
<TR><TD><A HREF="JobName.html">JobName</A></TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="JobPriority.html">JobPriority</A></TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD><A HREF="JobPrioritySupported.html">JobPrioritySupported</A></TD></TR>
<TR><TD><A HREF="JobSheets.html">JobSheets</A></TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="Media.html">Media</A></TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="MediaSize.html">MediaSize</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="MultipleDocumentHandling.html">MultipleDocumentHandling</A></TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="NumberUp.html">NumberUp</A></TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD><A HREF="NumberUpSupported.html">NumberUpSupported</A></TD></TR>
<TR><TD><A HREF="OrientationRequested.html">OrientationRequested</A></TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="PageRanges.html">PageRanges</A></TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="PresentationDirection.html">PresentationDirection</A></TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="PrinterResolution.html">PrinterResolution</A></TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="PrintQuality.html">PrintQuality</A></TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="RequestingUserName.html">RequestingUserName</A></TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="SheetCollate.html">SheetCollate</A></TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="Sides.html">Sides</A></TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="DateTimeAtCompleted.html">DateTimeAtCompleted</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="DateTimeAtCreation.html">DateTimeAtCreation</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="DateTimeAtProcessing.html">DateTimeAtProcessing</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="JobImpressionsCompleted.html">JobImpressionsCompleted</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="JobKOctetsProcessed.html">JobKOctetsProcessed</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="JobMediaSheetsCompleted.html">JobMediaSheetsCompleted</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="JobMessageFromOperator.html">JobMessageFromOperator</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="JobOriginatingUserName.html">JobOriginatingUserName</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="JobState.html">JobState</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="JobStateReasons.html">JobStateReasons</A><BR>Contains zero or more --</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD>-- <A HREF="JobStateReason.html">JobStateReason</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="NumberOfDocuments.html">NumberOfDocuments</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="NumberOfInterveningJobs.html">NumberOfInterveningJobs</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="OutputDeviceAssigned.html">OutputDeviceAssigned</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="ColorSupported.html">ColorSupported</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="PagesPerMinute.html">PagesPerMinute</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="PagesPerMinuteColor.html">PagesPerMinuteColor</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="PDLOverrideSupported.html">PDLOverrideSupported</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="PrinterIsAcceptingJobs.html">PrinterIsAcceptingJobs</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="PrinterInfo.html">PrinterInfo</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="PrinterLocation.html">PrinterLocation</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="PrinterMessageFromOperator.html">PrinterMessageFromOperator</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="PrinterMakeAndModel.html">PrinterMakeAndModel</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="PrinterMoreInfo.html">PrinterMoreInfo</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="PrinterMoreInfoManufacturer.html">PrinterMoreInfoManufacturer</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="PrinterName.html">PrinterName</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="PrinterState.html">PrinterState</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="PrinterStateReasons.html">PrinterStateReasons</A><BR>Contains zero or more --</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD></TR>
<TR><TD>-- <A HREF="PrinterStateReason.html">PrinterStateReason</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD>-- <A HREF="Severity.html">Severity</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="QueuedJobCount.html">QueuedJobCount</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD ALIGN="center">X</TD><TD>&nbsp;</TD></TR>
<TR><TD><A HREF="ReferenceUriSchemesSupported.html">ReferenceUriSchemesSupported</A></TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>
</TABLE>
<P>
Please note: In the javax.print APIs, a null reference parameter to methods
is incorrect unless explicitly documented on the method as having a meaningful
interpretation. Usage to the contrary is incorrect coding and may result
in a run time exception either immediately or at some later time.
IllegalArgumentException and NullPointerException are examples of
typical and acceptable run time exceptions for such cases.
@since 1.4
</body>
</html>

View File

@ -0,0 +1,41 @@
/*
* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Package javax.print.event contains event classes and listener interfaces.
* <p>
* They may be used to monitor both print services (such as printers going
* on-line &amp; off-line), and the progress of a specific print job.
* <p>
* Please note: In the javax.print APIs, a null reference parameter to methods
* is incorrect unless explicitly documented on the method as having a
* meaningful interpretation. Usage to the contrary is incorrect coding and may
* result in a run time exception either immediately or at some later time.
* IllegalArgumentException and NullPointerException are examples of typical and
* acceptable run time exceptions for such cases.
*
* @since 1.4
*/
package javax.print.event;

View File

@ -1,45 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>javax.print.event package</title>
<!--
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Package javax.print.event contains event classes and listener interfaces.
<p>
They may be used to monitor both print services (such as printers going
on-line &amp; off-line), and the progress of a specific print job.
<P>
Please note: In the javax.print APIs, a null reference parameter to methods
is incorrect unless explicitly documented on the method as having a meaningful
interpretation. Usage to the contrary is incorrect coding and may result
in a run time exception either immediately or at some later time.
IllegalArgumentException and NullPointerException are examples of
typical and acceptable run time exceptions for such cases.
@since 1.4
</body>
</html>

View File

@ -0,0 +1,133 @@
/*
* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides the principal classes and interfaces for the Java&trade; Print
* Service API. The Java Print Service API enables client and server
* applications to:
* <ul>
* <li>Discover and select print services based on their capabilities</li>
* <li>Specify the format of print data</li>
* <li>Submit print jobs to services that support the document type to be
* printed.</li>
* </ul>
*
* <h3>Print Service Discovery</h3>
* An application invokes the static methods of the abstract class
* {@link javax.print.PrintServiceLookup PrintServiceLookup} to locate print
* services that have the capabilities to satisfy the application's print
* request. For example, to print a double-sided document, the application first
* needs to find printers that have the double-sided printing capability.
* <p>
* The JDK includes {@code PrintServiceLookup} implementations that can locate
* the standard platform printers. To locate other types of printers, such as
* IPP printers or JINI printers, a print-service provider can write
* implementations of {@code PrintServiceLookup}. The print-service provider can
* dynamically install these {@code PrintServiceLookup} implementations using
* the <a href="../../../technotes/guides/jar/jar.html#Service%20Provider">
* SPI JAR file specification</a>.
*
* <h3>Attribute Definitions</h3>
* The {@link javax.print.attribute} and {@link javax.print.attribute.standard}
* packages define print attributes, which describe the capabilities of a print
* service, specify the requirements of a print job, and track the progress of
* a print job.
* <p>
* The {@code javax.print.attribute} package describes the types of attributes
* and how they can be collected into sets. The
* {@code javax.print.attribute.standard} package enumerates all of the standard
* attributes supported by the API, most of which are implementations of
* attributes specified in the IETF Specification,
* <a href="http://www.ietf.org/rfc/rfc2911.txt"> RFC 2911 Internet Printing
* Protocol, 1.1: Model and Semantics</a>, dated September 2000. The attributes
* specified in {@code javax.print.attribute.standard} include common
* capabilities, such as: resolution, copies, media sizes, job priority, and
* page ranges.
*
* <h3>Document Type Specification</h3>
* The {@link javax.print.DocFlavor DocFlavor} class represents the print data
* format, such as JPEG or PostScript. A {@code DocFlavor} object consists of a
* MIME type, which describes the format, and a document representation class
* name that indicates how the document is delivered to the printer or output
* stream. An application uses the {@code DocFlavor} and an attribute set to
* find printers that can print the document type specified by the
* {@code DocFlavor} and have the capabilities specified by the attribute set.
*
* <h3>Using the API</h3>
* A typical application using the Java Print Service API performs these steps
* to process a print request:
* <ol>
* <li>Chooses a {@code DocFlavor}.</li>
* <li>Creates a set of attributes.</li>
* <li>Locates a print service that can handle the print request as
* specified by the {@code DocFlavor} and the attribute set.</li>
* <li>Creates a {@link javax.print.Doc Doc} object encapsulating the
* {@code DocFlavor} and the actual print data, which can take many forms
* including: a Postscript file, a JPEG image, a URL, or plain text.</li>
* <li>Gets a print job, represented by
* {@link javax.print.DocPrintJob DocPrintJob}, from the print service.</li>
* <li>Calls the print method of the print job.</li>
* </ol>
* The following code sample demonstrates a typical use of the Java Print
* Service API: locating printers that can print five double-sided copies of a
* Postscript document on size A4 paper, creating a print job from one of the
* returned print services, and calling print.
* <blockquote>
* <pre>{@code
* FileInputStream psStream;
* try {
* psStream = new FileInputStream("file.ps");
* } catch (FileNotFoundException ffne) {
* }
* if (psStream == null) {
* return;
* }
* DocFlavor psInFormat = DocFlavor.INPUT_STREAM.POSTSCRIPT;
* Doc myDoc = new SimpleDoc(psStream, psInFormat, null);
* PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
* aset.add(new Copies(5));
* aset.add(MediaSizeName.ISO_A4);
* aset.add(Sides.DUPLEX);
* PrintService[] services =
* PrintServiceLookup.lookupPrintServices(psInFormat, aset);
* if (services.length > 0) {
* DocPrintJob job = services[0].createPrintJob();
* try {
* job.print(myDoc, aset);
* } catch (PrintException pe) {}
* }
* }</pre>
* </blockquote>
* <P>
* Please note: In the javax.print APIs, a null reference parameter to methods
* is incorrect unless explicitly documented on the method as having a
* meaningful interpretation. Usage to the contrary is incorrect coding and may
* result in a run time exception either immediately or at some later time.
* IllegalArgumentException and NullPointerException are examples of typical and
* acceptable run time exceptions for such cases.
*
* @since 1.4
*/
package javax.print;

View File

@ -1,147 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>javax.print package</title>
<!--
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Provides the principal classes and interfaces for the
Java<sup><font size="-2">TM</font></sup> Print Service API.
The Java Print Service API enables client and server applications to:
<ul>
<li>Discover and select print services based on their capabilities
<li>Specify the format of print data
<li>Submit print jobs to services that support the document type to
be printed.
</ul>
<h3>Print Service Discovery</h3>
<p>
An application invokes the static methods of the abstract class
{@link javax.print.PrintServiceLookup PrintServiceLookup} to locate print
services that have the capabilities to satisfy the application's print
request. For example, to print a double-sided document, the application
first needs to find printers that have the double-sided printing capability.
<p>
The JDK includes <code>PrintServiceLookup</code> implementations that
can locate the standard platform printers. To locate other types of printers,
such as IPP printers or JINI printers, a print-service provider can write
implementations of <code>PrintServiceLookup</code>. The print-service provider
can dynamically install these <code>PrintServiceLookup</code> implementations
using the
<a href="../../../technotes/guides/jar/jar.html#Service%20Provider">
SPI JAR file specification</a>.
<h3>Attribute Definitions</h3>
The {@link javax.print.attribute} and {@link javax.print.attribute.standard}
packages define print attributes, which describe the capabilities of a print
service, specify the requirements of a print job, and track the progress of
a print job.
<p>
The <code>javax.print.attribute</code> package describes the types of attributes and
how they can be collected into sets. The <code>javax.print.attribute.standard</code>
package enumerates all of the standard attributes supported by the API, most
of which are implementations of attributes specified in the IETF Specification,
<a href="http://www.ietf.org/rfc/rfc2911.txt">
RFC 2911 Internet Printing Protocol, 1.1: Model and Semantics</a>, dated
September 2000. The attributes specified in <code>javax.print.attribute.standard</code>
include common capabilities, such as: resolution, copies, media sizes,
job priority, and page ranges.
<h3>Document Type Specification</h3>
The {@link javax.print.DocFlavor DocFlavor} class represents the print data
format, such as JPEG or PostScript. A <code>DocFlavor</code> object
consists of a MIME type, which describes the format, and a document
representation class name that indicates how the document is delivered
to the printer or output stream. An application uses the
<code>DocFlavor</code> and an attribute set to find printers that can
print the document type specified by the <code>DocFlavor</code> and have
the capabilities specified by the attribute set.
<h3>Using the API</h3>
A typical application using the Java Print Service API performs these steps
to process a print request:
<ol>
<li>Chooses a <code>DocFlavor</code>.</li>
<li>Creates a set of attributes.</li>
<li>Locates a print service that can handle the print request as specified
by the <code>DocFlavor</code> and the attribute set.</li>
<li>Creates a {@link javax.print.Doc Doc} object encapsulating the
<code>DocFlavor</code>
and the actual print data, which can take many forms including: a Postscript
file, a JPEG image, a URL, or plain text.</li>
<li>Gets a print job, represented by {@link javax.print.DocPrintJob DocPrintJob},
from the print service.</li>
<li>Calls the print method of the print job.</li>
</ol>
The following code sample demonstrates a typical use of the Java Print
Service API: locating printers that can print five double-sided copies
of a Postscript document on size A4 paper, creating a print job from
one of the returned print services, and calling print.
<blockquote>
<pre>
FileInputStream psStream;
try {
psStream = new FileInputStream("file.ps");
} catch (FileNotFoundException ffne) {
}
if (psStream == null) {
return;
}
DocFlavor psInFormat = DocFlavor.INPUT_STREAM.POSTSCRIPT;
Doc myDoc = new SimpleDoc(psStream, psInFormat, null);
PrintRequestAttributeSet aset =
new HashPrintRequestAttributeSet();
aset.add(new Copies(5));
aset.add(MediaSizeName.ISO_A4);
aset.add(Sides.DUPLEX);
PrintService[] services =
PrintServiceLookup.lookupPrintServices(psInFormat, aset);
if (services.length > 0) {
DocPrintJob job = services[0].createPrintJob();
try {
job.print(myDoc, aset);
} catch (PrintException pe) {}
}
</pre>
</blockquote>
<P>
Please note: In the javax.print APIs, a null reference parameter to methods
is incorrect unless explicitly documented on the method as having a meaningful
interpretation. Usage to the contrary is incorrect coding and may result
in a run time exception either immediately or at some later time.
IllegalArgumentException and NullPointerException are examples of
typical and acceptable run time exceptions for such cases.
@since 1.4
</body>
</html>

View File

@ -0,0 +1,38 @@
/*
* Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides interfaces and classes for I/O, sequencing, and synthesis of MIDI
* (Musical Instrument Digital Interface) data.
*
* <h2>Related Documentation</h2>
* For overviews, tutorials, examples, and guides, please see:
* <ul>
* <li><a href="../../../../technotes/guides/sound">Sound</a></li>
* </ul>
*
* @since 1.3
*/
package javax.sound.midi;

View File

@ -1,46 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Provides interfaces and classes for I/O, sequencing, and synthesis of MIDI
(Musical Instrument Digital Interface) data.
<h2>Related Documentation</h2>
For overviews, tutorials, examples, and guides,
please see:
<ul>
<li><a href="../../../../technotes/guides/sound">Sound</a>
</ul>
@since 1.3
</body>
</html>

View File

@ -0,0 +1,38 @@
/*
* Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Supplies interfaces for service providers to implement when offering new MIDI
* devices, MIDI file readers and writers, or sound bank readers.
*
* <h2>Related Documentation</h2>
* For overviews, tutorials, examples, and guides, please see:
* <ul>
* <li><a href="../../../../../technotes/guides/sound">Sound</a></li>
* </ul>
*
* @since 1.3
*/
package javax.sound.midi.spi;

View File

@ -1,47 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Supplies interfaces for service providers to implement when
offering new MIDI devices, MIDI file readers and writers, or sound bank readers.
<h2>Related Documentation</h2>
For overviews, tutorials, examples, and guides,
please see:
<ul>
<li><a href="../../../../../technotes/guides/sound">Sound</a>
</ul>
@since 1.3
</body>
</html>

View File

@ -0,0 +1,38 @@
/*
* Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Provides interfaces and classes for capture, processing, and playback of
* sampled audio data.
*
* <h2>Related Documentation</h2>
* For overviews, tutorials, examples, and guides, please see:
* <ul>
* <li><a href="../../../../technotes/guides/sound">Sound</a></li>
* </ul>
*
* @since 1.3
*/
package javax.sound.sampled;

View File

@ -1,47 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Provides interfaces and classes for capture, processing, and playback of sampled audio data.
<h2>Related Documentation</h2>
For overviews, tutorials, examples, and guides,
please see:
<ul>
<li><a href="../../../../technotes/guides/sound">Sound</a>
</ul>
@since 1.3
</body>
</html>

View File

@ -0,0 +1,38 @@
/*
* Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Supplies abstract classes for service providers to subclass when offering new
* audio devices, sound file readers and writers, or audio format converters.
*
* <h2>Related Documentation</h2>
* For overviews, tutorials, examples, and guides, please see:
* <ul>
* <li><a href="../../../../../technotes/guides/sound">Sound</a></li>
* </ul>
*
* @since 1.3
*/
package javax.sound.sampled.spi;

View File

@ -1,47 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation. Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.
This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).
You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
or visit www.oracle.com if you need additional information or have any
questions.
-->
</head>
<body bgcolor="white">
Supplies abstract classes for service providers to subclass when
offering new audio devices, sound file readers and writers, or audio format converters.
<h2>Related Documentation</h2>
For overviews, tutorials, examples, and guides,
please see:
<ul>
<li><a href="../../../../../technotes/guides/sound">Sound</a>
</ul>
@since 1.3
</body>
</html>