You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by kn...@apache.org on 2008/04/19 23:54:30 UTC
svn commit: r649857 -
/wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
Author: knopp
Date: Sat Apr 19 14:54:29 2008
New Revision: 649857
URL: http://svn.apache.org/viewvc?rev=649857&view=rev
Log:
findparent shouldn't expect class that extends MarkupContainer, it should also work with arbitrary interfaces (e.g. IPageable)
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=649857&r1=649856&r2=649857&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 14:54:29 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 {@link #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 @@
* {@link Component#getRequestCycle()}. The convenience methods {@link Component#getRequest()},
* {@link Component#getResponse()} and {@link 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 {@link 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
* {@link Component#render()}, which calls subclass implementation code contained in
* {@link 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 {@link 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 {@link Component#setModel(IModel model)} and
* retrieved via {@link Component#getModel()}, to render a response in an appropriate markup
@@ -129,29 +129,29 @@
* convenience method {@link Component#getModelObject()} is provided to retrieve the model Object
* from its IModel wrapper. A further convenience method, {@link 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
* {@link Component#getPage()}. If the Component is not attached to a Page, an
* IllegalStateException will be thrown. An equivalent method, {@link 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 {@link Component#getLocalizer()}.
* The convenience methods {@link Component#getString(String key)} and
* {@link 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
* {@link 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 {@link 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 {@link Component#debug(String)},
* {@link Component#info(String)}, {@link Component#warn(String)},
* {@link Component#error(java.io.Serializable)} and {@link 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 {@link Component#getFeedbackMessage}.
- *
+ *
* <li><b>Page Factory </b>- It is possible to change the way that Pages are constructed by
* overriding the {@link Component#getPageFactory()} method, returning your own implementation of
* {@link 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
* {@link Component#setVersioned(boolean)} method. The versioning participation of a given Component
* can be retrieved with {@link 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("got you there!");
* </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 {@link 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 extends MarkupContainer< ? >> Z findParent(final Class<Z> c)
+ public final <Z> Z findParent(final Class<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 {@link 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
* {@link 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
* {@link 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 {@link 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 {@link 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 {@link Component#RENDER} action is allowed on this
* component
- *
+ *
* @return ture if {@link 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 {@link #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 {@link #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
* {@link 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 {@link 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 {@link 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:
* <componenttag style="display:none;" id="componentid"/>. 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 {@link 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 {@link #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 {@link #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 {@link 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 {@link #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 @@
* {@link #setVisible(boolean)} will not always have a desired effect because that component may
* have {@link #isVisible()} overridden. Both {@link #setVisibilityAllowed(boolean)} and
* {@link #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
* {@link #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:
* {@link #isVisible()}, {@link #isVisibilityAllowed()}, {@link #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