Shouldn't we still have addComponentOnBeforeRenderListener (and remove) and just link them to Pre and deprecate them? We can then remove it in 1.5
Frank On Thu, Apr 10, 2008 at 11:35 PM, <[EMAIL PROTECTED]> wrote: > 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() + > > >
