You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by je...@apache.org on 2008/03/05 15:24:07 UTC
svn commit: r633856 - in
/xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events:
Event.java EventExceptionManager.java EventListener.java EventProducer.java
Author: jeremias
Date: Wed Mar 5 06:24:04 2008
New Revision: 633856
URL: http://svn.apache.org/viewvc?rev=633856&view=rev
Log:
Javadocs and TODOs.
EventListeners can change the event severity.
Modified:
xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/Event.java
xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventExceptionManager.java
xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventListener.java
xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventProducer.java
Modified: xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/Event.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/Event.java?rev=633856&r1=633855&r2=633856&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/Event.java (original)
+++ xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/Event.java Wed Mar 5 06:24:04 2008
@@ -25,27 +25,60 @@
import org.apache.fop.events.model.EventSeverity;
+/**
+ * This is the default event class used by this package. Each event has a unique event identifier
+ * (a String), a severity indicator and a map of name/value pairs.
+ */
public class Event extends EventObject {
private String eventID;
private EventSeverity severity;
private Map params;
+ /**
+ * Creates a new Event.
+ * @param source the object that creates the event
+ * @param eventID the unique identifier of the event
+ * @param severity the severity level
+ * @param params the event parameters (a map of name/value pairs)
+ */
public Event(Object source, String eventID, EventSeverity severity, Map params) {
super(source);
this.eventID = eventID;
- this.severity = severity;
+ setSeverity(severity);
this.params = params;
}
+ /**
+ * Returns the event identifier.
+ * @return the event identifier
+ */
public String getEventID() {
return this.eventID;
}
+ /**
+ * Returns the severity level.
+ * @return the severity level
+ */
public EventSeverity getSeverity() {
return this.severity;
}
+
+ /**
+ * Sets the event's severity level. This method can be used to increase or decrease the
+ * severity level in a listener.
+ * @param severity the new event severity
+ */
+ public void setSeverity(EventSeverity severity) {
+ this.severity = severity;
+ }
+ /**
+ * Returns a parameter.
+ * @param key the key to the parameter
+ * @return the parameter value or null if no value with this key is found
+ */
public Object getParam(String key) {
if (this.params != null) {
return this.params.get(key);
@@ -54,6 +87,10 @@
}
}
+ /**
+ * Returns an unmodifiable {@link java.util.Map} with all event parameters.
+ * @return the parameter map
+ */
public Map getParams() {
return Collections.unmodifiableMap(this.params);
}
@@ -62,13 +99,26 @@
return null;
}
+ /**
+ * Creates and returns a fluent builder object for building up the parameter map.
+ * @return the parameter builder
+ */
public static ParamsBuilder paramsBuilder() {
return new ParamsBuilder();
}
+ /**
+ * This class is a fluent builder class for building up the parameter map.
+ */
public static class ParamsBuilder {
private Map params;
+ /**
+ * Adds a new parameter (a name/value pair).
+ * @param name the name of the parameter
+ * @param value the value of the parameter
+ * @return this instance
+ */
public ParamsBuilder param(String name, Object value) {
if (this.params == null) {
this.params = new java.util.HashMap();
@@ -77,6 +127,10 @@
return this;
}
+ /**
+ * Returns the accumulated parameter map.
+ * @return the accumulated parameter map
+ */
public Map build() {
return this.params;
}
Modified: xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventExceptionManager.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventExceptionManager.java?rev=633856&r1=633855&r2=633856&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventExceptionManager.java (original)
+++ xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventExceptionManager.java Wed Mar 5 06:24:04 2008
@@ -63,6 +63,7 @@
Throwable createException(Event event);
}
+ //TODO Move me out of here as I'm FOP-dependent!
private static class ValidationExceptionFactory implements ExceptionFactory {
public Throwable createException(Event event) {
Modified: xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventListener.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventListener.java?rev=633856&r1=633855&r2=633856&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventListener.java (original)
+++ xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventListener.java Wed Mar 5 06:24:04 2008
@@ -19,8 +19,19 @@
package org.apache.fop.events;
+/**
+ * This interface is implemented by clients who want to listen for events.
+ */
public interface EventListener extends java.util.EventListener {
+ /**
+ * This method is called for each event that is generated. With the event's ID it is possible
+ * to react to certain events. Events can also simply be recorded and presented to a user.
+ * It is possible to throw an (unchecked) exception if the processing needs to be aborted
+ * because some special event occured. This way the client can configure the behaviour of
+ * the observed application.
+ * @param event the event
+ */
void processEvent(Event event);
}
Modified: xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventProducer.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventProducer.java?rev=633856&r1=633855&r2=633856&view=diff
==============================================================================
--- xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventProducer.java (original)
+++ xmlgraphics/fop/branches/Temp_ProcessingFeedback/src/java/org/apache/fop/events/EventProducer.java Wed Mar 5 06:24:04 2008
@@ -19,6 +19,13 @@
package org.apache.fop.events;
+/**
+ * This is a marker interface which all event producer interfaces need to extend. These interface
+ * the agree to a convention:
+ * <ul>
+ * <li>The first parameter of each method must be: <code>Object source</code>
+ * </ul>
+ */
public interface EventProducer {
}
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org