Author: knopp
Date: Thu Apr 10 14:35:07 2008
New Revision: 646975
URL: http://svn.apache.org/viewvc?rev=646975&view=rev
Log:
allow global notification before and after onbeforerender method is invoked
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java?rev=646975&r1=646974&r2=646975&view=diff
==============================================================================
---
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java
(original)
+++
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Application.java
Thu Apr 10 14:35:07 2008
@@ -142,7 +142,10 @@
private static final Logger log =
LoggerFactory.getLogger(Application.class);
/** */
- private List<IComponentOnBeforeRenderListener>
componentOnBeforeRenderListeners;
+ private List<IComponentOnBeforeRenderListener>
componentPreOnBeforeRenderListeners;
+
+ /** */
+ private List<IComponentOnBeforeRenderListener>
componentPostOnBeforeRenderListeners;
/** */
private List<IComponentOnAfterRenderListener>
componentOnAfterRenderListeners;
@@ -996,17 +999,17 @@
*
* @param listener
*/
- final public void addComponentOnBeforeRenderListener(
+ final public void addPreComponentOnBeforeRenderListener(
final IComponentOnBeforeRenderListener listener)
{
- if (componentOnBeforeRenderListeners == null)
+ if (componentPreOnBeforeRenderListeners == null)
{
- componentOnBeforeRenderListeners = new
ArrayList<IComponentOnBeforeRenderListener>();
+ componentPreOnBeforeRenderListeners = new
ArrayList<IComponentOnBeforeRenderListener>();
}
- if (componentOnBeforeRenderListeners.contains(listener) ==
false)
+ if (componentPreOnBeforeRenderListeners.contains(listener) ==
false)
{
- componentOnBeforeRenderListeners.add(listener);
+ componentPreOnBeforeRenderListeners.add(listener);
}
}
@@ -1015,15 +1018,15 @@
*
* @param listener
*/
- final public void removeComponentOnBeforeRenderListener(
+ final public void removePreComponentOnBeforeRenderListener(
final IComponentOnBeforeRenderListener listener)
{
- if (componentOnBeforeRenderListeners != null)
+ if (componentPreOnBeforeRenderListeners != null)
{
- componentOnBeforeRenderListeners.remove(listener);
- if (componentOnBeforeRenderListeners.isEmpty())
+ componentPreOnBeforeRenderListeners.remove(listener);
+ if (componentPreOnBeforeRenderListeners.isEmpty())
{
- componentOnBeforeRenderListeners = null;
+ componentPreOnBeforeRenderListeners = null;
}
}
}
@@ -1033,11 +1036,11 @@
*
* @param component
*/
- final void notifyComponentOnBeforeRenderListeners(final Component< ? >
component)
+ final void notifyPreComponentOnBeforeRenderListeners(final Component< ?
> component)
{
- if (componentOnBeforeRenderListeners != null)
+ if (componentPreOnBeforeRenderListeners != null)
{
- for (Iterator<IComponentOnBeforeRenderListener> iter =
componentOnBeforeRenderListeners.iterator(); iter.hasNext();)
+ for (Iterator<IComponentOnBeforeRenderListener> iter =
componentPreOnBeforeRenderListeners.iterator(); iter.hasNext();)
{
IComponentOnBeforeRenderListener listener =
iter.next();
listener.onBeforeRender(component);
@@ -1045,6 +1048,61 @@
}
}
+ /**
+ * Adds an [EMAIL PROTECTED] IComponentOnBeforeRenderListener}. This
method should typically only be
+ * called during application startup; it is not thread safe.
+ *
+ * @param listener
+ */
+ final public void addPostComponentOnBeforeRenderListener(
+ final IComponentOnBeforeRenderListener listener)
+ {
+ if (componentPostOnBeforeRenderListeners == null)
+ {
+ componentPostOnBeforeRenderListeners = new
ArrayList<IComponentOnBeforeRenderListener>();
+ }
+
+ if (componentPostOnBeforeRenderListeners.contains(listener) ==
false)
+ {
+ componentPostOnBeforeRenderListeners.add(listener);
+ }
+ }
+
+ /**
+ * Removes an [EMAIL PROTECTED] IComponentOnBeforeRenderListener}.
+ *
+ * @param listener
+ */
+ final public void removePostComponentOnBeforeRenderListener(
+ final IComponentOnBeforeRenderListener listener)
+ {
+ if (componentPostOnBeforeRenderListeners != null)
+ {
+ componentPostOnBeforeRenderListeners.remove(listener);
+ if (componentPostOnBeforeRenderListeners.isEmpty())
+ {
+ componentPostOnBeforeRenderListeners = null;
+ }
+ }
+ }
+
+ /**
+ * Notifies the [EMAIL PROTECTED] IComponentOnBeforeRenderListener}s.
+ *
+ * @param component
+ */
+ final void notifyPostComponentOnBeforeRenderListeners(final Component<
? > component)
+ {
+ if (componentPostOnBeforeRenderListeners != null)
+ {
+ for (Iterator<IComponentOnBeforeRenderListener> iter =
componentPostOnBeforeRenderListeners.iterator(); iter.hasNext();)
+ {
+ IComponentOnBeforeRenderListener listener =
iter.next();
+ listener.onBeforeRender(component);
+ }
+ }
+ }
+
/**
* Adds an [EMAIL PROTECTED] IComponentOnAfterRenderListener}. This
method should typically only be called
* during application startup; it is not thread safe.
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java?rev=646975&r1=646974&r2=646975&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java
(original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java
Thu Apr 10 14:35:07 2008
@@ -1026,8 +1026,10 @@
{
setFlag(FLAG_BEFORE_RENDERING_SUPER_CALL_VERIFIED,
false);
- onBeforeRender();
-
getApplication().notifyComponentOnBeforeRenderListeners(this);
+
getApplication().notifyPreComponentOnBeforeRenderListeners(this);
+ onBeforeRender();
+
getApplication().notifyPostComponentOnBeforeRenderListeners(this);
+
if (!getFlag(FLAG_BEFORE_RENDERING_SUPER_CALL_VERIFIED))
{
throw new
IllegalStateException(Component.class.getName() +