...
For convenience IModel class provides a do-nothing implementation of IDetachable#detach() method, so custom implementations are not required to implement it when not needed.
ResourceStreamResource now receives Attributes as a parameter to its #getResourceStream() method
For access to the response, the request and its parameters now ResourceStreamResource#getResourceStream() receives an instance of org.apache.wicket.request.resource.IResource.Attributes.
Provide serializable versions of java.util.function.(Supplier|Consumer|Function)
java.util.function.Consumer and other classes are not serializable and this makes them unusable in stateful Wicket pages. For this reason Wicket provides org.apache.wicket.model.lambda.WicketSupplier, org.apache.wicket.model.lambda.WicketConsumer and org.apache.wicket.model.lambda.WicketFunction. Those interfaces should be used in method signatures where Java 8 lambdas or method references could be used. At the call site there is nothing specific to be done, i.e. just use lambdas and method references without any casting.
Provide IModel implementations which make use of Java 8 lambdas and method references
Wicket provides three new implementations of IModel which use Java 8 consumers and suppliers, i.e. may be used with lambda or method references.
- org.apache.wicket.model.lambda.LambdaModel.
- org.apache.wicket.model.lambda.SupplierModel
- org.apache.wicket.model.lambda.SupplierCachingModel
Dependency updates
All libraries on which Wicket modules depend are updated to their latest stable versions.
The most notable ones are:
...