summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Koch <konqueror@gmx.de>2004-04-26 21:31:03 +0000
committerMichael Koch <konqueror@gmx.de>2004-04-26 21:31:03 +0000
commit30eac4defd6850b78ad4d3d4ed16c8f041ea113d (patch)
tree5498cb6dc63bdc70381042a37ecc7344a8969a1b
parent06b32df7abf499804438a92f620a98606de844d4 (diff)
downloadclasspath-30eac4defd6850b78ad4d3d4ed16c8f041ea113d.tar.gz
2004-04-26 Michael Koch <konqueror@gmx.de>
* javax/print/event/PrintEvent.java, javax/print/event/PrintJobAdapter.java, javax/print/event/PrintJobAttributeEvent.java, javax/print/event/PrintJobAttributeListener.java, javax/print/event/PrintJobEvent.java, javax/print/event/PrintJobListener.java, javax/print/event/PrintServiceAttributeEvent.java, javax/print/event/PrintServiceAttributeListener.java, javax/print/event/Makefile.am: New files. * configure.ac: Generate javax/print/event/Makefile. * javax/print/Makefile.am (SUBDIRS): Added event.
-rw-r--r--ChangeLog14
-rw-r--r--configure.ac3
-rw-r--r--javax/print/Makefile.am4
-rw-r--r--javax/print/event/Makefile.am12
-rw-r--r--javax/print/event/PrintEvent.java67
-rw-r--r--javax/print/event/PrintJobAdapter.java117
-rw-r--r--javax/print/event/PrintJobAttributeEvent.java85
-rw-r--r--javax/print/event/PrintJobAttributeListener.java52
-rw-r--r--javax/print/event/PrintJobEvent.java90
-rw-r--r--javax/print/event/PrintJobListener.java87
-rw-r--r--javax/print/event/PrintServiceAttributeEvent.java83
-rw-r--r--javax/print/event/PrintServiceAttributeListener.java52
12 files changed, 663 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 253505ba8..1c850068a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
2004-04-26 Michael Koch <konqueror@gmx.de>
+ * javax/print/event/PrintEvent.java,
+ javax/print/event/PrintJobAdapter.java,
+ javax/print/event/PrintJobAttributeEvent.java,
+ javax/print/event/PrintJobAttributeListener.java,
+ javax/print/event/PrintJobEvent.java,
+ javax/print/event/PrintJobListener.java,
+ javax/print/event/PrintServiceAttributeEvent.java,
+ javax/print/event/PrintServiceAttributeListener.java,
+ javax/print/event/Makefile.am: New files.
+ * configure.ac: Generate javax/print/event/Makefile.
+ * javax/print/Makefile.am (SUBDIRS): Added event.
+
+2004-04-26 Michael Koch <konqueror@gmx.de>
+
* javax/print/attribute/AttributeSetUtilities.java
(verifyCategoryForValue): Fixed typo in javadoc.
* javax/print/attribute/HashAttributeSet.java
diff --git a/configure.ac b/configure.ac
index bc3b15b86..24bfb1f50 100644
--- a/configure.ac
+++ b/configure.ac
@@ -59,7 +59,7 @@ dnl -----------------------------------------------------------
dnl GTK native peer (enabled by default)
dnl -----------------------------------------------------------
AC_ARG_ENABLE([gtk-peer],
- [AS_HELP_STRING(--enable-gtk-peer,compile GTK native peers [default=yes])],
+ [AS_HELP_STRING(--enable-gtk-peer,compile GTK native peers,disabled by --disable-jni [default=yes])],
[case "${enableval}" in
yes) COMPILE_GTK_PEER=yes ;;
no) COMPILE_GTK_PEER=no ;;
@@ -395,6 +395,7 @@ javax/naming/ldap/Makefile
javax/naming/spi/Makefile
javax/print/Makefile
javax/print/attribute/Makefile
+javax/print/event/Makefile
javax/rmi/Makefile
javax/rmi/CORBA/Makefile
javax/security/Makefile
diff --git a/javax/print/Makefile.am b/javax/print/Makefile.am
index 07fc2ecc9..b97dae293 100644
--- a/javax/print/Makefile.am
+++ b/javax/print/Makefile.am
@@ -1,8 +1,8 @@
## Input file for automake to generate the Makefile.in used by configure
-SUBDIRS = attribute
+SUBDIRS = attribute event
-EXTRA_DIST =
+EXTRA_DIST = \
CancelablePrintJob.java \
Doc.java \
DocFlavor.java \
diff --git a/javax/print/event/Makefile.am b/javax/print/event/Makefile.am
new file mode 100644
index 000000000..6a98681c3
--- /dev/null
+++ b/javax/print/event/Makefile.am
@@ -0,0 +1,12 @@
+## Input file for automake to generate the Makefile.in used by configure
+
+EXTRA_DIST = \
+PrintEvent.java \
+PrintJobAdapter.java \
+PrintJobAttributeEvent.java \
+PrintJobAttributeListener.java \
+PrintJobEvent.java \
+PrintJobListener.java \
+PrintServiceAttributeEvent.java \
+PrintServiceAttributeListener.java
+
diff --git a/javax/print/event/PrintEvent.java b/javax/print/event/PrintEvent.java
new file mode 100644
index 000000000..3fff4e579
--- /dev/null
+++ b/javax/print/event/PrintEvent.java
@@ -0,0 +1,67 @@
+/* PrintEvent.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.event;
+
+import java.util.EventObject;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class PrintEvent extends EventObject
+{
+ /**
+ * Constructs a <code>PrintEvent</code> object.
+ *
+ * @param source the source of this event
+ */
+ public PrintEvent(Object source)
+ {
+ super(source);
+ }
+
+ /**
+ * Returns a string representation of this object.
+ *
+ * @return the string representation
+ */
+ public String toString()
+ {
+ return "PrintEvent on " + getSource().toString();
+ }
+}
diff --git a/javax/print/event/PrintJobAdapter.java b/javax/print/event/PrintJobAdapter.java
new file mode 100644
index 000000000..603b17508
--- /dev/null
+++ b/javax/print/event/PrintJobAdapter.java
@@ -0,0 +1,117 @@
+/* PrintJobAdapter.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.event;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public abstract class PrintJobAdapter
+ implements PrintJobListener
+{
+ /**
+ * Constructs a <code>PrintJobAdapter</code> object.
+ */
+ public PrintJobAdapter()
+ {
+ // Do nothing here.
+ }
+
+ /**
+ * Called to notify the client that all data has bin successfully transferred
+ * to the print service.
+ *
+ * <p>The default implementation does nothing</p>
+ */
+ public void printDataTransferCompleted(PrintJobEvent event)
+ {
+ // Do nothing here.
+ }
+
+ /**
+ * Called to notify the client that a print job was canceled.
+ *
+ * <p>The default implementation does nothing</p>
+ */
+ public void printJobCanceled(PrintJobEvent event)
+ {
+ // Do nothing here.
+ }
+
+ /**
+ * Called to notify the client that a print job was successfully completed.
+ *
+ * <p>The default implementation does nothing</p>
+ */
+ public void printJobCompleted(PrintJobEvent event)
+ {
+ // Do nothing here.
+ }
+
+ /**
+ * Called to notify the client that a print job failed to complete
+ * successfully.
+ *
+ * <p>The default implementation does nothing</p>
+ */
+ public void printJobFailed(PrintJobEvent event)
+ {
+ // Do nothing here.
+ }
+
+ /**
+ * Called to notify the client that no more job events will be send.
+ *
+ * <p>The default implementation does nothing</p>
+ */
+ public void printJobNoMoreEvents(PrintJobEvent event)
+ {
+ // Do nothing here.
+ }
+
+ /**
+ * Called to notify the client that a problem occured during printing
+ * but the user may be able to fix it.
+ *
+ * <p>The default implementation does nothing</p>
+ */
+ public void printJobRequiresAttention(PrintJobEvent event)
+ {
+ // Do nothing here.
+ }
+}
diff --git a/javax/print/event/PrintJobAttributeEvent.java b/javax/print/event/PrintJobAttributeEvent.java
new file mode 100644
index 000000000..246c691a6
--- /dev/null
+++ b/javax/print/event/PrintJobAttributeEvent.java
@@ -0,0 +1,85 @@
+/* PrintJobAttributeEvent.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.event;
+
+import javax.print.DocPrintJob;
+import javax.print.attribute.PrintJobAttributeSet;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class PrintJobAttributeEvent extends PrintEvent
+{
+ private static final long serialVersionUID = -6534469883874742101L;
+
+ private PrintJobAttributeSet attributes;
+
+ /**
+ * Constructs a <code>PrintJobAttributeEvent</code> object.
+ *
+ * @param source the source of this event
+ * @param attributes the attribute changes being reported
+ */
+ public PrintJobAttributeEvent(DocPrintJob source,
+ PrintJobAttributeSet attributes)
+ {
+ super(source);
+ this.attributes = attributes;
+ }
+
+ /**
+ * Returns the print job generating this event.
+ *
+ * @return the print job
+ */
+ public DocPrintJob getPrintJob()
+ {
+ return (DocPrintJob) getSource();
+ }
+
+ /**
+ * Returns the attributes that changed and their new values.
+ *
+ * @return the changes attributes
+ */
+ public PrintJobAttributeSet getAttributes()
+ {
+ return attributes;
+ }
+}
diff --git a/javax/print/event/PrintJobAttributeListener.java b/javax/print/event/PrintJobAttributeListener.java
new file mode 100644
index 000000000..7dfcc5d50
--- /dev/null
+++ b/javax/print/event/PrintJobAttributeListener.java
@@ -0,0 +1,52 @@
+/* PrintJobAttributeListener.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.event;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public interface PrintJobAttributeListener
+{
+ /**
+ * Notifies the listener of an attribute change.
+ *
+ * @param event the event
+ */
+ void attributeUpdate(PrintJobAttributeEvent event);
+}
diff --git a/javax/print/event/PrintJobEvent.java b/javax/print/event/PrintJobEvent.java
new file mode 100644
index 000000000..467bfa090
--- /dev/null
+++ b/javax/print/event/PrintJobEvent.java
@@ -0,0 +1,90 @@
+/* PrintEvent.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.event;
+
+import javax.print.DocPrintJob;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class PrintJobEvent extends PrintEvent
+{
+ private static final long serialVersionUID = -1711656903622072997L;
+
+ public static final int DATA_TRANSFER_COMPLETE = 106;
+ public static final int JOB_CANCELED = 101;
+ public static final int JOB_COMPLETE = 102;
+ public static final int JOB_FAILED = 103;
+ public static final int NO_MORE_EVENTS = 105;
+ public static final int REQUIRES_ATTENTION = 104;
+
+ private int reason;
+
+ /**
+ * Constructs a <code>PrintJobEvent</code> object.
+ *
+ * @param source the source generating this event
+ * @param reason the reason for this event
+ */
+ public PrintJobEvent(DocPrintJob source, int reason)
+ {
+ super(source);
+ this.reason = reason;
+ }
+
+ /**
+ * Returns the reason for this event.
+ *
+ * @return the reason
+ */
+ public int getPrintEventType()
+ {
+ return reason;
+ }
+
+ /**
+ * Returns the print job that generated this event.
+ *
+ * @return the print job
+ */
+ public DocPrintJob getPrintJob()
+ {
+ return (DocPrintJob) getSource();
+ }
+}
diff --git a/javax/print/event/PrintJobListener.java b/javax/print/event/PrintJobListener.java
new file mode 100644
index 000000000..1aad06879
--- /dev/null
+++ b/javax/print/event/PrintJobListener.java
@@ -0,0 +1,87 @@
+/* PrintJobListener.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.event;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de) */
+public interface PrintJobListener
+{
+ /**
+ * Notifies the listener that all data has been successfully transferred
+ * to the print service.
+ *
+ * @param event the event
+ */
+ void printDataTransferCompleted(PrintJobEvent event);
+
+ /**
+ * Notifies the listener that a print job got canceled.
+ *
+ * @param event the event
+ */
+ void printJobCanceled(PrintJobEvent event);
+
+ /**
+ * Notifies the listener that a print job has completed.
+ *
+ * @param event the event
+ */
+ void printJobCompleted(PrintJobEvent event);
+
+ /**
+ * Notifies the listener that a print job has failed to complete.
+ *
+ * @param event the event.
+ */
+ void printJobFailed(PrintJobEvent event);
+
+ /**
+ * Notifies the listener that no more events will be delivered.
+ *
+ * @param event the event
+ */
+ void printJobNoMoreEvents(PrintJobEvent event);
+
+ /**
+ * Notifies the listener that an error occured and the user might be able to fix it.
+ *
+ * @param event the event
+ */
+ void printJobRequiresAttention(PrintJobEvent event);
+}
diff --git a/javax/print/event/PrintServiceAttributeEvent.java b/javax/print/event/PrintServiceAttributeEvent.java
new file mode 100644
index 000000000..a9162c89f
--- /dev/null
+++ b/javax/print/event/PrintServiceAttributeEvent.java
@@ -0,0 +1,83 @@
+/* PrintServiceAttributeEvent.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.event;
+
+import javax.print.PrintService;
+import javax.print.attribute.PrintServiceAttributeSet;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public class PrintServiceAttributeEvent extends PrintEvent
+{
+ private PrintServiceAttributeSet attributes;
+
+ /**
+ * Constructs a <code>PrintServiceAttributeEvent</code> object.
+ *
+ * @param source the source of this event
+ * @param attributes the attribute changes being reported
+ */
+ public PrintServiceAttributeEvent(PrintService source,
+ PrintServiceAttributeSet attributes)
+ {
+ super(source);
+ this.attributes = attributes;
+ }
+
+ /**
+ * Returns the print service that generated this event.
+ *
+ * @return the print service
+ */
+ public PrintService getPrintService()
+ {
+ return (PrintService) getSource();
+ }
+
+ /**
+ * Returns the changed attributes this event reports.
+ *
+ * @return the changed attributes
+ */
+ public PrintServiceAttributeSet getAttributes()
+ {
+ return attributes;
+ }
+}
diff --git a/javax/print/event/PrintServiceAttributeListener.java b/javax/print/event/PrintServiceAttributeListener.java
new file mode 100644
index 000000000..d066019ec
--- /dev/null
+++ b/javax/print/event/PrintServiceAttributeListener.java
@@ -0,0 +1,52 @@
+/* PrintServiceAttributeListener.java --
+ Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.print.event;
+
+
+/**
+ * @author Michael Koch (konqueror@gmx.de)
+ */
+public interface PrintServiceAttributeListener
+{
+ /**
+ * Notifies the listener that some attributes have changed.
+ *
+ * @param event the event
+ */
+ void attributeUpdate(PrintServiceAttributeEvent event);
+}