Author: knopp
Date: Sat Apr 19 16:32:11 2008
New Revision: 649862

URL: http://svn.apache.org/viewvc?rev=649862&view=rev
Log:
this is probably better...

Modified:
    wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java?rev=649862&r1=649861&r2=649862&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java 
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java Sat Apr 
19 16:32:11 2008
@@ -59,16 +59,16 @@
 
 /**
  * Component serves as the highest level abstract base class for all 
components.
- *
+ * 
  * <ul>
  * <li><b>Identity </b>- All Components must have a non-null id which is 
retrieved by calling
  * getId(). The id must be unique within the MarkupContainer that holds the 
Component, but does not
  * have to be globally unique or unique within a Page's component hierarchy.
- *
+ * 
  * <li><b>Hierarchy </b>- A component has a parent which can be retrieved with 
[EMAIL PROTECTED] #getParent()}.
  * If a component is an instance of MarkupContainer, it may have children. In 
this way it has a
  * place in the hierarchy of components contained on a given page.
- *
+ * 
  * <li><b>Component Paths </b>- The path from the Page at the root of the 
component hierarchy to a
  * given Component is simply the concatenation with dot separators of each id 
along the way. For
  * example, the path "a.b.c" would refer to the component named "c" inside the 
MarkupContainer named
@@ -77,12 +77,12 @@
  * bear a PageMap/Session-relative identifier as their id, so each absolute 
path will begin with a
  * number, such as "0.a.b.c". To get a Component path relative to the page 
that contains it, you can
  * call getPageRelativePath().
- *
+ * 
  * <li><b>LifeCycle </b>- Components participate in the following lifecycle 
phases:
  * <ul>
  * <li><b>Construction </b>- A Component is constructed with the Java language 
new operator.
  * Children may be added during construction if the Component is a 
MarkupContainer.
- *
+ * 
  * <li><b>Request Handling </b>- An incoming request is processed by a 
protocol request handler
  * such as WicketServlet. An associated Application object creates Session, 
Request and Response
  * objects for use by a given Component in updating its model and rendering a 
response. These
@@ -90,7 +90,7 @@
  * [EMAIL PROTECTED] Component#getRequestCycle()}. The convenience methods 
[EMAIL PROTECTED] Component#getRequest()},
  * [EMAIL PROTECTED] Component#getResponse()} and [EMAIL PROTECTED] 
Component#getSession()} provide easy access to the
  * contents of this container.
- *
+ * 
  * <li><b>Listener Invocation </b>- If the request references a listener on an 
existing Component,
  * that listener is called, allowing arbitrary user code to handle events such 
as link clicks or
  * form submits. Although arbitrary listeners are supported in Wicket, the 
need to implement a new
@@ -103,24 +103,24 @@
  * interface methods in Java must be public). Instead, Form subclasses should 
override user-oriented
  * methods such as onValidate(), onSubmit() and onError() (although only the 
latter two are likely
  * to be overridden in practice).
- *
+ * 
  * <li><b>onBeginRequest </b>- The [EMAIL PROTECTED] 
Component#onBeginRequest()} method is called.
- *
+ * 
  * <li><b>Form Submit </b>- If a Form has been submitted and the Component is 
a FormComponent, the
  * component's model is validated by a call to FormComponent.validate().
- *
+ * 
  * <li><b>Form Model Update </b>- If a valid Form has been submitted and the 
Component is a
  * FormComponent, the component's model is updated by a call to 
FormComponent.updateModel().
- *
+ * 
  * <li><b>Rendering </b>- A markup response is generated by the Component via
  * [EMAIL PROTECTED] Component#render()}, which calls subclass implementation 
code contained in
  * [EMAIL PROTECTED] 
Component#onRender(org.apache.wicket.markup.MarkupStream)}. Once this phase 
begins, a
  * Component becomes immutable. Attempts to alter the Component will result in 
a
  * WicketRuntimeException.
- *
+ * 
  * <li><b>onEndRequest </b>() - The [EMAIL PROTECTED] 
Component#onEndRequest()} method is called.
  * </ul>
- *
+ * 
  * <li><b>Component Models </b>- The primary responsibility of a component is 
to use its model (an
  * object that implements IModel), which can be set via [EMAIL PROTECTED] 
Component#setModel(IModel model)} and
  * retrieved via [EMAIL PROTECTED] Component#getModel()}, to render a response 
in an appropriate markup
@@ -129,29 +129,29 @@
  * convenience method [EMAIL PROTECTED] Component#getModelObject()} is 
provided to retrieve the model Object
  * from its IModel wrapper. A further convenience method, [EMAIL PROTECTED] 
Component#getModelObjectAsString()},
  * is provided for the very common operation of converting the wrapped model 
Object to a String.
- *
+ * 
  * <li><b>Visibility </b>- Components which have setVisible(false) will return 
false from
  * isVisible() and will not render a response (nor will their children).
- *
+ * 
  * <li><b>Page </b>- The Page containing any given Component can be retrieved 
by calling
  * [EMAIL PROTECTED] Component#getPage()}. If the Component is not attached to 
a Page, an
  * IllegalStateException will be thrown. An equivalent method, [EMAIL 
PROTECTED] Component#findPage()} is
  * available for special circumstances where it might be desirable to get a 
null reference back
  * instead.
- *
+ * 
  * <li><b>Session </b>- The Page for a Component points back to the Session 
that contains the Page.
  * The Session for a component can be accessed with the convenience method 
getSession(), which
  * simply calls getPage().getSession().
- *
+ * 
  * <li><b>Locale </b>- The Locale for a Component is available through the 
convenience method
  * getLocale(), which is equivalent to getSession().getLocale().
- *
+ * 
  * <li><b>String Resources </b>- Components can have associated String 
resources via the
  * Application's Localizer, which is available through the method [EMAIL 
PROTECTED] Component#getLocalizer()}.
  * The convenience methods [EMAIL PROTECTED] Component#getString(String key)} 
and
  * [EMAIL PROTECTED] Component#getString(String key, IModel model)} wrap the 
identical methods on the
  * Application Localizer for easy access in Components.
- *
+ * 
  * <li><b>Style </b>- The style ("skin") for a component is available through
  * [EMAIL PROTECTED] Component#getStyle()}, which is equivalent to 
getSession().getStyle(). Styles are
  * intended to give a particular look to a Component or Resource that is 
independent of its Locale.
@@ -159,46 +159,46 @@
  * the design look of "ocean" to the user. If the Session's style is set to 
"ocean" and these
  * resources are given names suffixed with "_ocean", Wicket's resource 
management logic will prefer
  * these resources to other resources, such as default resources, which are 
not as good of a match.
- *
+ * 
  * <li><b>Variation </b>- Whereas Styles are Session (user) specific, 
variations are component
  * specific. E.g. if the Style is "ocean" and the Variation is "NorthSea", 
than the resources are
  * given the names suffixed with "_ocean_NorthSea".
- *
+ * 
  * <li><b>AttributeModifiers </b>- You can add one or more [EMAIL PROTECTED] 
AttributeModifier}s to any
  * component if you need to programmatically manipulate attributes of the 
markup tag to which a
  * Component is attached.
- *
+ * 
  * <li><b>Application, ApplicationSettings and ApplicationPages </b>- The 
getApplication() method
  * provides convenient access to the Application for a Component via 
getSession().getApplication().
  * The getApplicationSettings() method is equivalent to 
getApplication().getSettings(). The
  * getApplicationPages is equivalent to getApplication().getPages().
- *
+ * 
  * <li><b>Feedback Messages </b>- The [EMAIL PROTECTED] 
Component#debug(String)},
  * [EMAIL PROTECTED] Component#info(String)}, [EMAIL PROTECTED] 
Component#warn(String)},
  * [EMAIL PROTECTED] Component#error(java.io.Serializable)} and [EMAIL 
PROTECTED] Component#fatal(String)} methods
  * associate feedback messages with a Component. It is generally not necessary 
to use these methods
  * directly since Wicket validators automatically register feedback messages 
on Components. Any
  * feedback message for a given Component can be retrieved with [EMAIL 
PROTECTED] Component#getFeedbackMessage}.
- *
+ * 
  * <li><b>Page Factory </b>- It is possible to change the way that Pages are 
constructed by
  * overriding the [EMAIL PROTECTED] Component#getPageFactory()} method, 
returning your own implementation of
  * [EMAIL PROTECTED] org.apache.wicket.IPageFactory}.
- *
+ * 
  * <li><b>Versioning </b>- Pages are the unit of versioning in Wicket, but 
fine-grained control of
  * which Components should participate in versioning is possible via the
  * [EMAIL PROTECTED] Component#setVersioned(boolean)} method. The versioning 
participation of a given Component
  * can be retrieved with [EMAIL PROTECTED] Component#isVersioned()}.
- *
+ * 
  * <li><b>AJAX support</b>- Components can be re-rendered after the whole Page 
has been rendered
  * at least once by calling doRender().
- *
+ * 
  * @author Jonathan Locke
  * @author Chris Turner
  * @author Eelco Hillenius
  * @author Johan Compagner
  * @author Juergen Donnerstag
  * @author Igor Vaynberg (ivaynberg)
- *
+ * 
  * @param <T>
  *            Model object type
  */
@@ -216,7 +216,7 @@
 
                /**
                 * Construct.
-                *
+                * 
                 * @param model
                 */
                public ComponentModelChange(IModel<T> model)
@@ -246,7 +246,7 @@
 
        /**
         * Generic component visitor interface for component traversals.
-        *
+        * 
         * @param <T>
         *            The component
         */
@@ -270,7 +270,7 @@
 
                /**
                 * Called at each component in a traversal.
-                *
+                * 
                 * @param component
                 *            The component
                 * @return CONTINUE_TRAVERSAL (null) if the traversal should 
continue, or a non-null return
@@ -282,7 +282,7 @@
 
        /**
         * Change object for undoing addition of behavior
-        *
+        * 
         * @author Igor Vaynberg (ivaynberg)
         */
        private final class AddedBehaviorChange extends Change
@@ -294,7 +294,7 @@
 
                /**
                 * Construct.
-                *
+                * 
                 * @param behavior
                 */
                public AddedBehaviorChange(IBehavior behavior)
@@ -318,7 +318,7 @@
 
        /**
         * Undo change for component border property
-        *
+        * 
         * @author ivaynberg
         */
        private class ComponentBorderChange extends Change
@@ -337,7 +337,7 @@
 
        /**
         * Change object for undoing removal of behavior
-        *
+        * 
         * @author Igor Vaynberg (ivaynberg)
         */
        private final class RemovedBehaviorChange extends Change
@@ -349,7 +349,7 @@
 
                /**
                 * Construct.
-                *
+                * 
                 * @param behavior
                 */
                public RemovedBehaviorChange(IBehavior behavior)
@@ -387,7 +387,7 @@
 
                /**
                 * Construct.
-                *
+                * 
                 * @param component
                 */
                EnabledChange(final Component< ? > component)
@@ -430,7 +430,7 @@
 
                /**
                 * Construct.
-                *
+                * 
                 * @param component
                 */
                VisibilityChange(final Component< ? > component)
@@ -471,12 +471,12 @@
         * When a component is not allowed to be enabled (in effect disabled 
through the implementation
         * of this interface), Wicket will try to prevent model updates too. 
This is not completely fail
         * safe, as constructs like:
-        *
+        * 
         * <pre>
         * User u = (User)getModelObject();
         * u.setName(&quot;got you there!&quot;);
         * </pre>
-        *
+        * 
         * can't be prevented. Indeed it can be argued that any model 
protection is best dealt with in
         * your model objects to be completely secured. Wicket will catch all 
normal framework-directed
         * use though.
@@ -880,7 +880,7 @@
        /**
         * Constructor. All components have names. A component's id cannot be 
null. This is the minimal
         * constructor of component. It does not register a model.
-        *
+        * 
         * @param id
         *            The non-null id of this component
         * @throws WicketRuntimeException
@@ -902,12 +902,12 @@
        /**
         * Constructor. All components have names. A component's id cannot be 
null. This constructor
         * includes a model.
-        *
+        * 
         * @param id
         *            The non-null id of this component
         * @param model
         *            The component's model
-        *
+        * 
         * @throws WicketRuntimeException
         *             Thrown if the component has been given a null id.
         */
@@ -919,13 +919,13 @@
 
        /**
         * Adds an behavior modifier to the component.
-        *
+        * 
         * <p>
         * Note: this method is override to enable users to do things like 
discussed in <a
         * 
href="http://www.nabble.com/Why-add%28IBehavior%29-is-final--tf2598263.html#a7248198";>this
         * thread</a>.
         * </p>
-        *
+        * 
         * @param behaviors
         *            The behavior modifier(s) to be added
         * @return this (to allow method call chaining)
@@ -958,7 +958,7 @@
        }
 
        /**
-        *
+        * 
         * @param behavior
         */
        private void addBehavior(final IBehavior behavior)
@@ -967,7 +967,7 @@
        }
 
        /**
-        *
+        * 
         * @return
         */
        private List<IBehavior> getBehaviorsImpl()
@@ -1086,7 +1086,7 @@
 
        /**
         * Redirects to any intercept page previously specified by a call to 
redirectToInterceptPage.
-        *
+        * 
         * @return True if an original destination was redirected to
         * @see Component#redirectToInterceptPage(Page)
         */
@@ -1097,7 +1097,7 @@
 
        /**
         * Registers a debug feedback message for this component
-        *
+        * 
         * @param message
         *            The feedback message
         */
@@ -1147,7 +1147,7 @@
 
        /**
         * THIS IS WICKET INTERNAL ONLY. DO NOT USE IT.
-        *
+        * 
         * Traverses all behaviors and calls detachModel() on them. This is 
needed to cleanup behavior
         * after render. This method is necessary for [EMAIL PROTECTED] 
AjaxRequestTarget} to be able to cleanup
         * component's behaviors after header contribution has been done (which 
is separated from
@@ -1191,7 +1191,7 @@
 
        /**
         * Registers an error feedback message for this component
-        *
+        * 
         * @param message
         *            The feedback message
         */
@@ -1203,7 +1203,7 @@
 
        /**
         * Registers an fatal error feedback message for this component
-        *
+        * 
         * @param message
         *            The feedback message
         */
@@ -1215,17 +1215,17 @@
 
        /**
         * Finds the first container parent of this component of the given 
class.
-        *
+        * 
         * @param <Z>
         *            <code>class</code> of parent component
-        *
+        * 
         * @param c
         *            MarkupContainer class to search for
         * @return First container parent that is an instance of the given 
class, or null if none can be
         *         found
         */
        @SuppressWarnings("unchecked")
-       public final <Z> Z findParent(final Class<Z> c)
+       public final <Z> Z findParent(final Class< ? extends Z> c)
        {
                // Start with immediate parent
                MarkupContainer< ? > current = parent;
@@ -1268,7 +1268,7 @@
 
        /**
         * Gets interface to application that this component is a part of.
-        *
+        * 
         * @return The application associated with the session that this 
component is in.
         * @see Application
         */
@@ -1280,7 +1280,7 @@
        /**
         * Gets the currently coupled [EMAIL PROTECTED] IBehavior}s as a 
unmodifiable list. Returns an empty list
         * rather than null if there are no behaviors coupled to this component.
-        *
+        * 
         * @return The currently coupled behaviors as a unmodifiable list
         */
        public final List<IBehavior> getBehaviors()
@@ -1317,10 +1317,10 @@
 
        /**
         * Gets the converter that should be used by this component.
-        *
+        * 
         * @param type
         *            The type to convert to
-        *
+        * 
         * @return The converter that should be used by this component
         */
        public <Z> IConverter<Z> getConverter(Class<Z> type)
@@ -1330,7 +1330,7 @@
 
        /**
         * Gets whether model strings should be escaped.
-        *
+        * 
         * @return Returns whether model strings should be escaped
         */
        public final boolean getEscapeModelStrings()
@@ -1348,7 +1348,7 @@
 
        /**
         * Gets the id of this component.
-        *
+        * 
         * @return The id of this component
         */
        public String getId()
@@ -1367,7 +1367,7 @@
        /**
         * Gets the locale for this component. By default, it searches its 
parents for a locale. If no
         * parents (it's a recursive search) returns a locale, it gets one from 
the session.
-        *
+        * 
         * @return The locale to be used for this component
         * @see Session#getLocale()
         */
@@ -1383,7 +1383,7 @@
 
        /**
         * Convenience method to provide easy access to the localizer object 
within any component.
-        *
+        * 
         * @return The localizer object
         */
        public final Localizer getLocalizer()
@@ -1393,14 +1393,14 @@
 
        /**
         * THIS IS WICKET INTERNAL ONLY. DO NOT USE IT.
-        *
+        * 
         * Get a copy of the markup's attributes which are associated with the 
component.
         * <p>
         * Modifications to the map returned don't change the tags attributes. 
It is just a copy.
         * <p>
         * Note: The component must have been added (directly or indirectly) to 
a container with an
         * associated markup file (Page, Panel or Border).
-        *
+        * 
         * @return markup attributes
         */
        public final ValueMap getMarkupAttributes()
@@ -1446,11 +1446,11 @@
         * <p>
         * Note: This method should only be called after the component or its 
parent have been added to
         * the page.
-        *
+        * 
         * @param createIfDoesNotExist
         *            When there is no existing markup id, determines whether 
it should be generated or
         *            whether <code>null</code> should be returned.
-        *
+        * 
         * @return markup id of the component
         */
 
@@ -1521,7 +1521,7 @@
         * <p>
         * Note: This method should only be called after the component or its 
parent have been added to
         * the page.
-        *
+        * 
         * @return markup id of the component
         */
        public String getMarkupId()
@@ -1531,10 +1531,10 @@
 
        /**
         * Gets metadata for this component using the given key.
-        *
+        * 
         * @param <M>
         *            The type of the metadata.
-        *
+        * 
         * @param key
         *            The key for the data
         * @return The metadata or null of no metadata was found for the given 
key
@@ -1572,7 +1572,7 @@
 
        /**
         * Gets the model. It returns the object that wraps the backing model.
-        *
+        * 
         * @return The model
         */
        public final IModel<T> getModel()
@@ -1591,7 +1591,7 @@
 
        /**
         * Gets the backing model object; this is shorthand for 
getModel().getObject().
-        *
+        * 
         * @return The backing model object
         */
        public final T getModelObject()
@@ -1614,10 +1614,10 @@
         * sensitive chars are escaped but not all none-ascii chars. Proper 
HTML encoding should be used
         * instead. In case you really need a fully escaped model string you 
may call
         * [EMAIL PROTECTED] Strings#escapeMarkup(String, boolean, boolean)} on 
the model string returned.
-        *
+        * 
         * @see Strings#escapeMarkup(String, boolean, boolean)
         * @see #getEscapeModelStrings()
-        *
+        * 
         * @return Model object for this component as a string
         */
        public final String getModelObjectAsString()
@@ -1631,10 +1631,10 @@
         * sensitive chars are escaped but not all none-ascii chars. Proper 
HTML encoding should be used
         * instead. In case you really need a fully escaped model string you 
may call
         * [EMAIL PROTECTED] Strings#escapeMarkup(String, boolean, boolean)} on 
the model string returned.
-        *
+        * 
         * @see Strings#escapeMarkup(String, boolean, boolean)
         * @see #getEscapeModelStrings()
-        *
+        * 
         * @param modelObject
         *            Model object to convert to string
         * @return The string
@@ -1666,7 +1666,7 @@
        /**
         * Gets whether or not component will output id attribute into the 
markup. id attribute will be
         * set to the value returned from [EMAIL PROTECTED] 
Component#getMarkupId()}.
-        *
+        * 
         * @return whether or not component will output id attribute into the 
markup
         */
        public final boolean getOutputMarkupId()
@@ -1676,7 +1676,7 @@
 
        /**
         * Gets whether or not an invisible component will render a placeholder 
tag.
-        *
+        * 
         * @return true if a placeholder tag should be rendered
         */
        public final boolean getOutputMarkupPlaceholderTag()
@@ -1686,7 +1686,7 @@
 
        /**
         * Gets the page holding this component.
-        *
+        * 
         * @return The page holding this component
         * @throws IllegalStateException
         *             Thrown if component is not yet attached to a Page.
@@ -1716,7 +1716,7 @@
 
        /**
         * Gets the path to this component relative to the page it is in.
-        *
+        * 
         * @return The path to this component relative to the page it is in
         */
        public final String getPageRelativePath()
@@ -1726,7 +1726,7 @@
 
        /**
         * Gets any parent container, or null if there is none.
-        *
+        * 
         * @return Any parent container, or null if there is none
         */
        public final MarkupContainer< ? > getParent()
@@ -1736,7 +1736,7 @@
 
        /**
         * Gets this component's path.
-        *
+        * 
         * @return Colon separated path to this component in the component 
hierarchy
         */
        public final String getPath()
@@ -1756,7 +1756,7 @@
        /**
         * If false the component's tag will be printed as well as its body 
(which is default). If true
         * only the body will be printed, but not the component's tag.
-        *
+        * 
         * @return If true, the component tag will not be printed
         */
        public final boolean getRenderBodyOnly()
@@ -1781,7 +1781,7 @@
 
        /**
         * Gets the active request cycle for this component
-        *
+        * 
         * @return The request cycle
         */
        public final RequestCycle getRequestCycle()
@@ -1799,7 +1799,7 @@
 
        /**
         * Gets the current Session object.
-        *
+        * 
         * @return The Session that this component is in
         */
        public Session getSession()
@@ -1869,9 +1869,9 @@
 
        /**
         * Gets the style of this component (see [EMAIL PROTECTED] 
org.apache.wicket.Session}).
-        *
+        * 
         * @return The style of this component.
-        *
+        * 
         * @see org.apache.wicket.Session
         * @see org.apache.wicket.Session#getStyle()
         */
@@ -1897,7 +1897,7 @@
         * Gets the variation string of this component that will be used to 
look up markup for this
         * component. Subclasses can override this method to define by an 
instance what markup variation
         * should be picked up. By default it will return null or the value of 
a parent.
-        *
+        * 
         * @return The variation of this component.
         */
        public String getVariation()
@@ -1912,7 +1912,7 @@
 
        /**
         * Gets whether this component was rendered at least once.
-        *
+        * 
         * @return true if the component has been rendered before, false if it 
is merely constructed
         */
        public final boolean hasBeenRendered()
@@ -1938,7 +1938,7 @@
 
        /**
         * Registers an informational feedback message for this component
-        *
+        * 
         * @param message
         *            The feedback message
         */
@@ -1970,7 +1970,7 @@
 
        /**
         * Authorizes an action for a component.
-        *
+        * 
         * @param action
         *            The action to authorize
         * @return True if the action is allowed
@@ -1989,7 +1989,7 @@
 
        /**
         * Returns true if this component is an ancestor of the given component
-        *
+        * 
         * @param component
         *            The component to check
         * @return True if the given component has this component as an ancestor
@@ -2027,7 +2027,7 @@
         * Gets whether this component is enabled. Specific components may 
decide to implement special
         * behavior that uses this property, like web form components that add 
a disabled='disabled'
         * attribute when enabled is false.
-        *
+        * 
         * @return Whether this component is enabled.
         */
        public boolean isEnabled()
@@ -2038,7 +2038,7 @@
        /**
         * Checks the security strategy if the [EMAIL PROTECTED] 
Component#RENDER} action is allowed on this
         * component
-        *
+        * 
         * @return ture if [EMAIL PROTECTED] Component#RENDER} action is 
allowed, false otherwise
         */
        public final boolean isRenderAllowed()
@@ -2050,7 +2050,7 @@
         * Returns if the component is stateless or not. It checks the 
stateless hint if that is false
         * it returns directly false. If that is still true it checks all its 
behaviors if they can be
         * stateless.
-        *
+        * 
         * @return whether the component is stateless.
         */
        public final boolean isStateless()
@@ -2106,7 +2106,7 @@
         * method, it is a good idea to keep it cheap in terms of processing. 
Alternatively, you can
         * call [EMAIL PROTECTED] #setVisible(boolean)}.
         * <p>
-        *
+        * 
         * @return True if component and any children are visible
         */
        public boolean isVisible()
@@ -2116,7 +2116,7 @@
 
        /**
         * Checks if the component itself and all its parents are visible.
-        *
+        * 
         * @return true if the component and all its parents are visible.
         */
        public final boolean isVisibleInHierarchy()
@@ -2174,7 +2174,7 @@
 
        /**
         * Creates a new page using the component's page factory
-        *
+        * 
         * @param c
         *            The class of page to create
         * @return The new page
@@ -2186,7 +2186,7 @@
 
        /**
         * Creates a new page using the component's page factory
-        *
+        * 
         * @param c
         *            The class of page to create
         * @param parameters
@@ -2200,7 +2200,7 @@
 
        /**
         * THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT USE IT!
-        *
+        * 
         * Prepares the component and it's children for rendering. On whole 
page render this method must
         * be called on the page. On AJAX request, this method must be called 
on updated component.
         */
@@ -2230,10 +2230,10 @@
         * is saved for future use by method continueToOriginalDestination(); 
Only use this method when
         * you plan to continue to the current url at some later time; 
otherwise just use
         * setResponsePage or - when you are in a constructor or 
checkAccessMethod, call redirectTo.
-        *
+        * 
         * @param page
         *            The sign in page
-        *
+        * 
         * @see Component#continueToOriginalDestination()
         */
        public final void redirectToInterceptPage(final Page page)
@@ -2257,10 +2257,10 @@
 
        /**
         * Removes behavior from component
-        *
+        * 
         * @param behavior
         *            behavior to remove
-        *
+        * 
         * @return this (to allow method call chaining)
         */
        public Component<T> remove(final IBehavior behavior)
@@ -2325,7 +2325,7 @@
         * <p>
         * For component level re-render (e.g. AJAX) please call [EMAIL 
PROTECTED] #renderComponent(MarkupStream)}.
         * Though render() does seem to work, it will fail for panel children.
-        *
+        * 
         * @param markupStream
         */
        public final void render(final MarkupStream markupStream)
@@ -2484,7 +2484,7 @@
         * Renders the component at the current position in the given markup 
stream. The method
         * onComponentTag() is called to allow the component to mutate the 
start tag. The method
         * onComponentTagBody() is then called to permit the component to 
render its body.
-        *
+        * 
         * @param markupStream
         *            The markup stream
         */
@@ -2590,7 +2590,7 @@
         * NOT intended for overriding by framework clients. Rather, use
         * [EMAIL PROTECTED] 
IHeaderContributor#renderHead(org.apache.wicket.markup.html.IHeaderResponse)}
         * </p>
-        *
+        * 
         * @param container
         *            The HtmlHeaderContainer
         */
@@ -2626,9 +2626,9 @@
         * as this component. This method serves as a shortcut to
         * <code>this.getParent().replace(replacement)</code> and provides a 
better context for
         * errors.
-        *
+        * 
         * @since 1.2.1
-        *
+        * 
         * @param replacement
         *            component to replace this one
         */
@@ -2685,7 +2685,7 @@
        /**
         * Assigns a component border to this component. If called with 
<code>null</code> any previous
         * border will be cleared.
-        *
+        * 
         * @param border
         *            component border to assign, or <code>null</code> to clear 
any previous
         * @return component for chaining
@@ -2706,7 +2706,7 @@
         * attribute when enabled is false. If it is not enabled, it will not 
be allowed to call any
         * listener method on it (e.g. Link.onClick) and the model object will 
be protected (for the
         * common use cases, not for programmer's misuse)
-        *
+        * 
         * @param enabled
         *            whether this component is enabled
         * @return This
@@ -2734,7 +2734,7 @@
 
        /**
         * Sets whether model strings should be escaped.
-        *
+        * 
         * @param escapeMarkup
         *            True is model strings should be escaped
         * @return This
@@ -2771,9 +2771,9 @@
         * <p>
         * If null is passed in the user defined value is cleared and markup id 
value will fall back on
         * automatically generated value
-        *
+        * 
         * @see #getMarkupId()
-        *
+        * 
         * @param markupId
         *            markup id value or null to clear any previous user 
defined value
         */
@@ -2795,10 +2795,10 @@
         * Sets the metadata for this component using the given key. If the 
metadata object is not of
         * the correct type for the metadata key, an IllegalArgumentException 
will be thrown. For
         * information on creating MetaDataKeys, see [EMAIL PROTECTED] 
MetaDataKey}.
-        *
+        * 
         * @param <M>
         *            The type of the metadata
-        *
+        * 
         * @param key
         *            The singleton key for the metadata
         * @param object
@@ -2839,7 +2839,7 @@
         * WARNING: DO NOT OVERRIDE THIS METHOD UNLESS YOU HAVE A VERY GOOD 
REASON FOR IT. OVERRIDING
         * THIS MIGHT OPEN UP SECURITY LEAKS AND BREAK BACK-BUTTON SUPPORT.
         * </p>
-        *
+        * 
         * @param model
         *            The model
         * @return This
@@ -2875,8 +2875,8 @@
        }
 
        /**
-        *
-        *
+        * 
+        * 
         * @return
         */
        @SuppressWarnings("unchecked")
@@ -2893,7 +2893,7 @@
        }
 
        /**
-        *
+        * 
         * @param model
         */
        void setModelImpl(IModel<T> model)
@@ -2922,7 +2922,7 @@
 
        /**
         * Sets the backing model object; shorthand for 
getModel().setObject(object).
-        *
+        * 
         * @param object
         *            The object to set
         * @return This
@@ -2958,13 +2958,13 @@
        /**
         * Sets whether or not component will output id attribute into the 
markup. id attribute will be
         * set to the value returned from [EMAIL PROTECTED] 
Component#getMarkupId()}.
-        *
+        * 
         * @param output
         *            True if the component will out the id attribute into 
markup. Please note that the
         *            default behavior is to use the same id as the component. 
This means that your
         *            component must begin with [a-zA-Z] in order to generate a 
valid markup id
         *            according to: 
http://www.w3.org/TR/html401/types.html#type-name
-        *
+        * 
         * @return this for chaining
         */
        public final Component<T> setOutputMarkupId(final boolean output)
@@ -2977,15 +2977,15 @@
         * Render a placeholder tag when the component is not visible. The tag 
is of form:
         * &lt;componenttag style="display:none;" id="componentid"/&gt;. This 
method will also call
         * <code>setOutputMarkupId(true)</code>.
-        *
+        * 
         * This is useful, for example, in ajax situations where the component 
starts out invisible and
         * then becomes visible through an ajax update. With a placeholder tag 
already in the markup you
         * do not need to repaint this component's parent, instead you can 
repaint the component
         * directly.
-        *
+        * 
         * When this method is called with parameter <code>false</code> the 
outputmarkupid flag is not
         * reverted to false.
-        *
+        * 
         * @param outputTag
         * @return this for chaining
         */
@@ -3021,7 +3021,7 @@
        /**
         * If false the component's tag will be printed as well as its body 
(which is default). If true
         * only the body will be printed, but not the component's tag.
-        *
+        * 
         * @param renderTag
         *            If true, the component tag will not be printed
         * @return This
@@ -3034,7 +3034,7 @@
 
        /**
         * Sets the page that will respond to this request
-        *
+        * 
         * @param cls
         *            The response page class
         * @see RequestCycle#setResponsePage(Class)
@@ -3047,7 +3047,7 @@
 
        /**
         * Sets the page class and its parameters that will respond to this 
request
-        *
+        * 
         * @param cls
         *            The response page class
         * @param parameters
@@ -3061,7 +3061,7 @@
 
        /**
         * Sets the page that will respond to this request
-        *
+        * 
         * @param page
         *            The response page
         * @see RequestCycle#setResponsePage(Page)
@@ -3085,7 +3085,7 @@
 
        /**
         * Sets whether this component and any children are visible.
-        *
+        * 
         * @param visible
         *            True if this component and any children should be visible
         * @return This
@@ -3106,7 +3106,7 @@
 
        /**
         * Gets the string representation of this component.
-        *
+        * 
         * @return The path to this component
         */
        @Override
@@ -3158,9 +3158,9 @@
         * Returns a bookmarkable URL that references a given page class using 
a given set of page
         * parameters. Since the URL which is returned contains all information 
necessary to instantiate
         * and render the page, it can be stored in a user's browser as a 
stable bookmark.
-        *
+        * 
         * @see RequestCycle#urlFor(IPageMap, Class, PageParameters)
-        *
+        * 
         * @param pageClass
         *            Class of page
         * @param parameters
@@ -3176,7 +3176,7 @@
        /**
         * Gets a URL for the listener interface on a behavior (e.g. 
IBehaviorListener on
         * AjaxPagingNavigationBehavior).
-        *
+        * 
         * @param behaviour
         *            The behavior that the URL should point to
         * @param listener
@@ -3193,17 +3193,17 @@
         * Returns a bookmarkable URL that references a given page class using 
a given set of page
         * parameters. Since the URL which is returned contains all information 
necessary to instantiate
         * and render the page, it can be stored in a user's browser as a 
stable bookmark.
-        *
+        * 
         * @see RequestCycle#urlFor(IPageMap, Class, PageParameters)
-        *
+        * 
         * @param pageMap
         *            Page map to use
         * @param pageClass
         *            Class of page
         * @param parameters
         *            Parameters to page
-        *
-        *
+        * 
+        * 
         * @return Bookmarkable URL to page
         */
        public final CharSequence urlFor(final IPageMap pageMap,
@@ -3214,12 +3214,12 @@
 
        /**
         * Returns a URL that references the given request target.
-        *
+        * 
         * @see RequestCycle#urlFor(IRequestTarget)
-        *
+        * 
         * @param requestTarget
         *            the request target to reference
-        *
+        * 
         * @return a URL that references the given request target
         */
        public final CharSequence urlFor(final IRequestTarget requestTarget)
@@ -3229,7 +3229,7 @@
 
        /**
         * Gets a URL for the listener interface (e.g. ILinkListener).
-        *
+        * 
         * @param listener
         *            The listener interface that the URL should call
         * @return The URL
@@ -3241,9 +3241,9 @@
 
        /**
         * Returns a URL that references a shared resource through the provided 
resource reference.
-        *
+        * 
         * @see RequestCycle#urlFor(ResourceReference)
-        *
+        * 
         * @param resourceReference
         *            The resource reference
         * @return The url for the shared resource
@@ -3256,7 +3256,7 @@
        /**
         * Traverses all parent components of the given class in this 
container, calling the visitor's
         * visit method at each one.
-        *
+        * 
         * @param c
         *            Class
         * @param visitor
@@ -3290,7 +3290,7 @@
 
        /**
         * Registers a warning feedback message for this component.
-        *
+        * 
         * @param message
         *            The feedback message
         */
@@ -3343,7 +3343,7 @@
 
        /**
         * Adds state change to page.
-        *
+        * 
         * @param change
         *            The change
         */
@@ -3359,7 +3359,7 @@
 
        /**
         * Checks whether the given type has the expected name.
-        *
+        * 
         * @param tag
         *            The tag to check
         * @param name
@@ -3379,7 +3379,7 @@
 
        /**
         * Checks that a given tag has a required attribute value.
-        *
+        * 
         * @param tag
         *            The tag
         * @param key
@@ -3407,7 +3407,7 @@
        /**
         * Checks whether the hierarchy may be changed at all, and throws an 
exception if this is not
         * the case.
-        *
+        * 
         * @param component
         *            the component which is about to be added or removed
         */
@@ -3441,7 +3441,7 @@
 
        /**
         * Prefixes an exception message with useful information about this. 
component.
-        *
+        * 
         * @param message
         *            The message
         * @return The modified message
@@ -3453,7 +3453,7 @@
 
        /**
         * Finds the markup stream for this component.
-        *
+        * 
         * @return The markup stream for this component. Since a Component 
cannot have a markup stream,
         *         we ask this component's parent to search for it.
         */
@@ -3471,7 +3471,7 @@
        /**
         * If this Component is a Page, returns self. Otherwise, searches for 
the nearest Page parent in
         * the component hierarchy. If no Page parent can be found, null is 
returned.
-        *
+        * 
         * @return The Page or null if none can be found
         */
        protected final Page findPage()
@@ -3484,10 +3484,10 @@
         * Gets the subset of the currently coupled [EMAIL PROTECTED] 
IBehavior}s that are of the provided type as
         * a unmodifiable list or null if there are no behaviors attached. 
Returns an empty list rather
         * than null if there are no behaviors coupled to this component.
-        *
+        * 
         * @param type
         *            The type or null for all
-        *
+        * 
         * @return The subset of the currently coupled behaviors that are of 
the provided type as a
         *         unmodifiable list or null
         */
@@ -3513,7 +3513,7 @@
 
        /**
         * THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT USE IT!
-        *
+        * 
         * @param flag
         *            The flag to test
         * @return True if the flag is set
@@ -3525,7 +3525,7 @@
 
        /**
         * THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT USE IT!
-        *
+        * 
         * @param flag
         *            The flag to test
         * @return True if the flag is set
@@ -3537,7 +3537,7 @@
 
        /**
         * Finds the innermost IModel object for an IModel that might contain 
nested IModel(s).
-        *
+        * 
         * @param model
         *            The model
         * @return The innermost (most nested) model
@@ -3561,7 +3561,7 @@
         * Gets the value defaultModelComparator. Implementations of this 
interface can be used in the
         * Component.getComparator() for testing the current value of the 
components model data with the
         * new value that is given.
-        *
+        * 
         * @return the value defaultModelComparator
         */
        protected IModelComparator<T> getModelComparator()
@@ -3574,7 +3574,7 @@
         * stateless, otherwise the component will be treat as stateful. In 
order for page to be
         * stateless (and not to be stored in session), all components (and 
component behaviors) must be
         * stateless.
-        *
+        * 
         * @return whether the component can be stateless
         */
        protected boolean getStatelessHint()
@@ -3586,7 +3586,7 @@
         * Called when a null model is about to be retrieved in order to allow 
a subclass to provide an
         * initial model. This gives FormComponent, for example, an opportunity 
to instantiate a model
         * on the fly using the containing Form's model.
-        *
+        * 
         * @return The model
         */
        @SuppressWarnings("unchecked")
@@ -3622,9 +3622,9 @@
 
        /**
         * THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT CALL OR 
OVERRIDE.
-        *
+        * 
         * Called when a request begins.
-        *
+        * 
         * @Deprecated use [EMAIL PROTECTED] #onBeforeRender()} instead
         */
        protected final void internalOnAttach()
@@ -3633,11 +3633,11 @@
 
        /**
         * THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT CALL OR 
OVERRIDE.
-        *
+        * 
         * Called when a request ends.
-        *
+        * 
         * @Deprecated use [EMAIL PROTECTED] #onBeforeRender()} instead
-        *
+        * 
         */
        protected final void internalOnDetach()
        {
@@ -3645,7 +3645,7 @@
 
        /**
         * THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT CALL OR 
OVERRIDE.
-        *
+        * 
         * Called anytime a model is changed via setModel or setModelObject.
         */
        protected void internalOnModelChanged()
@@ -3654,7 +3654,7 @@
 
        /**
         * Convenience method that sets the attached flags.
-        *
+        * 
         * @param attached
         */
        protected final void markAttached(boolean attached)
@@ -3672,7 +3672,7 @@
 
        /**
         * Components are allowed to reject behavior modifiers.
-        *
+        * 
         * @param behavior
         * @return False, if the component should not apply this behavior
         */
@@ -3690,7 +3690,7 @@
 
        /**
         * If true, all attribute modifiers will be ignored
-        *
+        * 
         * @return True, if attribute modifiers are to be ignored
         */
        protected final boolean isIgnoreAttributeModifier()
@@ -3723,7 +3723,7 @@
         * <p>
         * If you need to get notification when page is taken out of Session 
(before calling the event
         * listener), you can use the [EMAIL PROTECTED] Page#onPageAttached()} 
method.
-        *
+        * 
         * @deprecated
         */
        @Deprecated
@@ -3737,11 +3737,11 @@
         * <p>
         * *NOTE* If you override this, you *must* call super.onBeforeRender() 
within your
         * implementation.
-        *
+        * 
         * Because this method is responsible for cascading [EMAIL PROTECTED] 
#onBeforeRender()} call to its
         * children it is strongly recommended that super call is made at the 
end of the override.
         * </p>
-        *
+        * 
         * @see Component#callOnBeforeRenderIfNotVisible()
         */
        protected void onBeforeRender()
@@ -3754,10 +3754,10 @@
        /**
         * Override this method if you want onBeforeRender to be called even 
when your component is not
         * visible. default this returns false.
-        *
+        * 
         * @return boolean, if true then onBeforeRender is called even for none 
visible components,
         *         default false.
-        *
+        * 
         * @see Component#onBeforeRender()
         */
        protected boolean callOnBeforeRenderIfNotVisible()
@@ -3777,7 +3777,7 @@
 
        /**
         * Processes the component tag.
-        *
+        * 
         * @param tag
         *            Tag to modify
         */
@@ -3795,7 +3795,7 @@
 
        /**
         * Processes the body.
-        *
+        * 
         * @param markupStream
         *            The markup stream
         * @param openTag
@@ -3807,11 +3807,11 @@
 
        /**
         * Called to allow a component to detach resources after use.
-        *
+        * 
         * Overrides of this method MUST call the super implementation, the 
most logical place to do
         * this is the last line of the override method.
-        *
-        *
+        * 
+        * 
         */
        protected void onDetach()
        {
@@ -3845,7 +3845,7 @@
 
        /**
         * Implementation that renders this component.
-        *
+        * 
         * @since Wicket 1.2
         * @param markupStream
         */
@@ -3855,7 +3855,7 @@
         * Writes a simple tag out to the response stream. Any components that 
might be referenced by
         * the tag are ignored. Also undertakes any tag attribute modifications 
if they have been added
         * to the component.
-        *
+        * 
         * @param tag
         *            The tag to write
         */
@@ -3906,7 +3906,7 @@
 
        /**
         * Replaces the body with the given one.
-        *
+        * 
         * @param markupStream
         *            The markup stream to replace the tag body in
         * @param tag
@@ -3971,7 +3971,7 @@
 
        /**
         * THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT USE IT!
-        *
+        * 
         * @param flag
         *            The flag to set
         * @param set
@@ -3991,7 +3991,7 @@
 
        /**
         * THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT USE IT!
-        *
+        * 
         * @param flag
         *            The flag to set
         * @param set
@@ -4004,7 +4004,7 @@
 
        /**
         * If true, all attribute modifiers will be ignored
-        *
+        * 
         * @param ignore
         *            If true, all attribute modifiers will be ignored
         * @return This
@@ -4018,10 +4018,10 @@
        /**
         * The markup stream will be assigned to the component at the beginning 
of the component render
         * phase. It is temporary working variable only.
-        *
+        * 
         * @see #findMarkupStream()
         * @see MarkupContainer#getMarkupStream()
-        *
+        * 
         * @param markupStream
         *            The current markup stream which should be applied by the 
component to render
         *            itself
@@ -4055,7 +4055,7 @@
 
        /**
         * Gets the component at the given path.
-        *
+        * 
         * @param path
         *            Path to component
         * @return The component at the path
@@ -4075,7 +4075,7 @@
        /**
         * Checks whether or not this component has a markup id value 
generated, whether it is automatic
         * or user defined
-        *
+        * 
         * @return true if this component has a markup id value generated
         */
        final boolean hasMarkupIdMetaData()
@@ -4084,7 +4084,7 @@
        }
 
        /**
-        *
+        * 
         */
        void internalMarkRendering()
        {
@@ -4109,7 +4109,7 @@
        }
 
        /**
-        *
+        * 
         * @return
         */
        boolean isPreparedForRender()
@@ -4118,7 +4118,7 @@
        }
 
        /**
-        *
+        * 
         */
        void onAfterRenderChildren()
        {
@@ -4136,7 +4136,7 @@
 
        /**
         * Renders the close tag at the current position in the markup stream.
-        *
+        * 
         * @param markupStream
         *            the markup stream
         * @param openTag
@@ -4186,7 +4186,7 @@
        /**
         * Sets the id of this component. This method is private because the 
only time a component's id
         * can be set is in its constructor.
-        *
+        * 
         * @param id
         *            The non-null id of this component
         */
@@ -4201,7 +4201,7 @@
 
        /**
         * Sets the parent of a component.
-        *
+        * 
         * @param parent
         *            The parent container
         */
@@ -4216,7 +4216,7 @@
 
        /**
         * Sets the render allowed flag.
-        *
+        * 
         * @param renderAllowed
         */
        final void setRenderAllowed(boolean renderAllowed)
@@ -4226,7 +4226,7 @@
 
        /**
         * Sets the render allowed flag.
-        *
+        * 
         * Visit all this page's children (overridden in MarkupContainer) to 
check rendering
         * authorization, as appropriate. We set any result; positive or 
negative as a temporary boolean
         * in the components, and when a authorization exception is thrown it 
will block the rendering
@@ -4243,7 +4243,7 @@
         * [EMAIL PROTECTED] #setVisible(boolean)} will not always have a 
desired effect because that component may
         * have [EMAIL PROTECTED] #isVisible()} overridden. Both [EMAIL 
PROTECTED] #setVisibilityAllowed(boolean)} and
         * [EMAIL PROTECTED] #isVisibilityAllowed()} are <code>final</code> so 
their contract is enforced always.
-        *
+        * 
         * @param allowed
         * @return <code>this</code> for chaining
         */
@@ -4256,7 +4256,7 @@
        /**
         * Gets whether or not visibility is allowed on this component. See
         * [EMAIL PROTECTED] #setVisibilityAllowed(boolean)} for details.
-        *
+        * 
         * @return true if this component is allowed to be visible, false 
otherwise.
         */
        public final boolean isVisibilityAllowed()
@@ -4267,7 +4267,7 @@
        /**
         * Determines whether or not a component should be visible, taking into 
account all the factors:
         * [EMAIL PROTECTED] #isVisible()}, [EMAIL PROTECTED] 
#isVisibilityAllowed()}, [EMAIL PROTECTED] #isRenderAllowed()}
-        *
+        * 
         * @return <code>true</code> if the component should be visible, 
<code>false</code>
         *         otherwise
         */
@@ -4277,7 +4277,7 @@
        }
 
        /**
-        *
+        * 
         * @param s
         * @throws IOException
         */
@@ -4294,7 +4294,7 @@
        }
 
        /**
-        *
+        * 
         * @param s
         * @throws IOException
         * @throws ClassNotFoundException


Reply via email to