<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <meta charset="utf-8">
        <title>Wicket 1.4.10 released | Apache Wicket</title>
        <meta name="viewport" content="width=device-width, initial-scale=1" />

        <link rel="shortcut icon" href="/favicon.ico" type="image/vnd.microsoft.icon" />
        <link rel="stylesheet" href="/css/style.css" type="text/css" media="screen" />
        <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />

		<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>

    </head>

    <body class="">
        <div class="header default">
    <div class="l-menu-container">
<nav class="mainmenu">
    <ul>
		<!-- /start/quickstart.html || /news/2010/08/11/wicket-1.4.10-released.html -->
    	<li class=""><a href="/start/quickstart.html">Quick Start</a></li>
		<!-- /start/download.html || /news/2010/08/11/wicket-1.4.10-released.html -->
    	<li class=""><a href="/start/download.html">Download</a></li>
		<!-- /learn || /news/2010/08/11/wicket-1.4.10-released.html -->
    	<li class=""><a href="/learn">Documentation</a></li>
		<!-- /help || /news/2010/08/11/wicket-1.4.10-released.html -->
    	<li class=""><a href="/help">Support</a></li>
		<!-- /contribute || /news/2010/08/11/wicket-1.4.10-released.html -->
    	<li class=""><a href="/contribute">Contribute</a></li>
		<!-- /community || /news/2010/08/11/wicket-1.4.10-released.html -->
    	<li class=""><a href="/community">Community</a></li>
		<!-- /apache || /news/2010/08/11/wicket-1.4.10-released.html -->
    	<li class=""><a href="/apache">Apache</a></li>
    </ul>
</nav>
        <div class="logo">
    <a href="/"><img src="/img/logo-apachewicket.svg" alt="Apache Wicket"></a>
</div>
    </div>
</div>
<main>
    <div class="l-container">
        <header class="l-full preamble">
            <h1>Wicket 1.4.10 released</h1>
        </header>
        <section class="left">
            <div class="l-full">
    <p class="meta">11 Aug 2010</p>
    <p>This is the tenth maintenance release of the 1.4.x series and brings over
thirty bug fixes and improvements.</p>
<p>As well as bringing bug fixes and small improvements, 1.4.10 brings two major new features:</p>
<ul>
  <li>Delayed component initialization</li>
  <li>Component configuration</li>
</ul>
<p>Delayed component initialization allows developers to initialize their components outside of a constructor, when more environment is available to the component instance. From the javadoc:</p>
<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">Component</span> <span class="o">{</span>
	<span class="cm">/**
	 * This method is meant to be used as an alternative to initialize components. Usually the
	 * component's constructor is used for this task, but sometimes a component cannot be
	 * initialized in isolation, it may need to access its parent component or its markup in order
	 * to fully initialize. This method is invoked once per component's lifecycle when a path exists
	 * from this component to the {@link Page} thus providing the component with an atomic callback
	 * when the component's environment is built out.
	 * &lt;p&gt;
	 * Overrides must call super#{@link #onInitialize()}. Usually this should be the first thing an
	 * override does, much like a constructor.
	 * &lt;/p&gt;
	 * &lt;p&gt;
	 * Parent containers are guaranteed to be initialized before their children
	 * &lt;/p&gt;
	 * &lt;p&gt;
	 * It is safe to use {@link #getPage()} in this method
	 * &lt;/p&gt;
	 * 
	 * &lt;p&gt;
	 * NOTE:The timing of this call is not precise, the contract is that it is called sometime
	 * before {@link Component#onBeforeRender()}.
	 * &lt;/p&gt;
	 * 
	 */</span>
	<span class="kd">protected</span> <span class="kt">void</span> <span class="nf">onInitialize</span><span class="o">()</span> <span class="o">{}</span>
<span class="o">}</span></code></pre></figure>
<p>Component configuration allows developers to easier configure component states such as visibility, enabled, etc. From the javadoc:</p>
<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">Component</span> <span class="o">{</span>
	<span class="cm">/**
	 * Called once per request on components before they are about to be rendered. This method
	 * should be used to configure such things as visibility and enabled flags.
	 * &lt;p&gt;
	 * Overrides must call {@code super.onConfigure()}, usually before any other code
	 * &lt;/p&gt;
	 * &lt;p&gt;
	 * NOTE: Component hierarchy should not be modified inside this method, instead it should be
	 * done in {@link #onBeforeRender()}
	 * &lt;/p&gt;
	 * &lt;p&gt;
	 * NOTE: Why this method is preferrable to directly overriding {@link #isVisible()} and
	 * {@link #isEnabled()}? Because those methods are called multiple times even for processing of
	 * a single request. If they contain expensive logic they can slow down the response time of the
	 * entire page. Further, overriding those methods directly on form components may lead to
	 * inconsistent or unexpected state depending on when those methods are called in the form
	 * processing workflow. It is a better practice to push changes to state rather than pull.
	 * &lt;/p&gt;
	 * &lt;p&gt;
	 * NOTE: If component's visibility or another property depends on another component you may call
	 * {@code other.configure()} followed by {@code other.isVisible()} as mentioned in
	 * {@link #configure()} javadoc.
	 * &lt;/p&gt;
	 * &lt;p&gt;
	 * NOTE: Why should {@link #onBeforeRender()} not be used for this? Because if visibility of a
	 * component is toggled inside {@link #onBeforeRender()} another method needs to be overridden
	 * to make sure {@link #onBeforeRender()} will be invoked on ivisible components:
	 * 
	 * &lt;pre&gt;
	 * class MyComponent extends WebComponent
	 * {
	 * 	protected void onBeforeRender()
	 * 	{
	 * 		setVisible(Math.rand() &amp;gt; 0.5f);
	 * 		super.onBeforeRender();
	 * 	}
	 * 
	 * 	// if this override is forgotten, once invisible component will never become visible
	 * 	protected boolean callOnBeforeRenderIfNotVisible()
	 * 	{
	 * 		return true;
	 * 	}
	 * }
	 * &lt;/pre&gt;
	 * 
	 * VS
	 * 
	 * &lt;pre&gt;
	 * class MyComponent extends WebComponent
	 * {
	 * 	protected void onConfigure()
	 * 	{
	 * 		setVisible(Math.rand() &amp;gt; 0.5f);
	 * 		super.onConfigure();
	 * 	}
	 * }
	 * &lt;/pre&gt;
	 */</span>
	<span class="kd">protected</span> <span class="kt">void</span> <span class="nf">onConfigure</span><span class="o">()</span> <span class="o">{}</span>
<span class="o">}</span></code></pre></figure>
<ul>
  <li><a href="http://svn.apache.org/repos/asf/wicket/releases/wicket-1.4.10/">Subversion tag</a></li>
  <li><a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&amp;mode=hide&amp;sorter/order=DESC&amp;sorter/field=priority&amp;pid=12310561&amp;fixfor=12315070">Changelog</a></li>
  <li>To use in Maven:</li>
</ul>
<figure class="highlight"><pre><code class="language-xml" data-lang="xml"><span class="nt">&lt;dependency&gt;</span>
    <span class="nt">&lt;groupId&gt;</span>org.apache.wicket<span class="nt">&lt;/groupId&gt;</span>
    <span class="nt">&lt;artifactId&gt;</span>wicket<span class="nt">&lt;/artifactId&gt;</span>
    <span class="nt">&lt;version&gt;</span>1.4.10<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span></code></pre></figure>
<ul>
  <li>Download the <a href="http://www.apache.org/dyn/closer.cgi/wicket/1.4.10">full
distribution</a> (including
source)</li>
</ul>
</div>
        </section>
    </div>
</main>
        <footer class="l-container">
            <div class="l-full">
   	<img src="/img/asf_logo_url.svg" style="height:90px; float:left; margin-right:10px;">
    <div style="margin-top:12px;">Copyright © 2020 — The Apache Software Foundation. Apache Wicket, Wicket, Apache, the Apache feather logo, and the Apache Wicket project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
</div>
        </footer>
    </body>

</html>
