Revision: 10318
Author:   b...@google.com
Date:     Fri Jun 10 14:24:57 2011
Log:      Created wiki page through web user interface.
http://code.google.com/p/google-web-toolkit/source/detail?r=10318

Added:
 /wiki/RequestFactory_2_4.wiki

=======================================
--- /dev/null
+++ /wiki/RequestFactory_2_4.wiki       Fri Jun 10 14:24:57 2011
@@ -0,0 +1,75 @@
+#summary A summary of RequestFactory changes in GWT 2.4
+
+= !RequestFactory changes in GWT 2.4 =
+
+[http://code.google.com/p/google-web-toolkit/issues/list?can=2&q=Milestone%3D2_4+requestfactory&colspec=ID+Type+Status+Owner+Milestone+Summary+Stars&cells=tiles Issue tracker search]
+
+<wiki:toc />
+
+== Overview ==
+  * (Issue 5367) RequestFactory now supports polymorphic return values.
+  * (Issue 5394) Make type and operation tokens more compact
+    * Method overloads are now supported in RequestContexts.
+ * (Issue 5901) RequestFactory now uses the `javax.validation.ConstraintViolation` interface
+  * (Issue 6035) Proxy interfaces can be composed
+  * (Issue 6139) Memory leak in JRE-clean implementation fixed
+  * (Issue 6234) RequestContext interfaces can be composed
+ * (Issue 6253) All RequestFactory and AutoBean interfaces have moved to the `com.google.web.bindery' namespace + * (Issue 6393) `RequestFactoryServlet.getThreadLocalServletContext()` provides access to the current HTTP request's `ServletContext` + * (Issue 6469) Provide getters for `ServerFailure -> Request -> RequestContext -> RequestFactory -> RequestTransport`
+
+== Polymorphism support ==
+
+A proxy type will be available on the client:
+  * Referenced from a RequestContext as a Request parameter or return type.
+  * Referenced from a referenced proxy.
+ * Supertypes of referenced proxies that are proxies (i.e. assignable to EntityProxy or ValueProxy and has an @ProxyFor(Name) annotation). + * Referenced via an @ExtraTypes annotation placed on the RequestFactory, RequestContext, or a referenced proxy. + * Adding an @ExtraTypes annotation on the RequestFactory or RequestContext allows you to add subtypes to "some else's" proxy types.
+
+Type-mapping rules:
+ * All properties defined in a proxy type or inherited from super-interfaces must be available on the domain type.
+    * This allows a proxy interface to extend a "mix-in" interface.
+ * All proxies must map to a single domain type via a @ProxyFor(Name) annotation. + * The @ProxyFor of the proxy instance is used to determine which concrete type on the server to instantiate. + * Any supertypes of a proxy interface that are assignable to EntityProxy or ValueProxy and have an @ProxyFor(Name) annotation must be valid proxies. + * Given BProxy extends AProxy: if only BProxy is referenced (e.g. via @ExtraTypes), it is still permissable to create an AProxy. + * Type relationships between proxy interfaces do not require any particular type relationship between the mapped domain types. + * Given BProxy extends AProxy: it is allowable for BEntity not to be a subclass of AEntity. + * This allows for duck-type-mapping of domain objects to proxy interfaces. + * To return a domain object via a proxy interface, the declared proxy return type must map to a domain type assignable to the returned domain object. + * The specific returned proxy type will be the most-derived type assignable to the declared proxy type that also maps to the returned domain type or one of its supertypes.
+
+== !RequestFactorySource and Annotation Processing ==
+
+Users who depend on RequestFactorySource must now compile their proxy
+interfaces with the RequestFactory annotation processor.  This tool is
+bundled in the requestfactory-client.jar or available separately in
+requestfactory-apt.jar.  For Java 6 users, javac will automatically
+detect the annotation processor.  Eclipse users will need to enable
+annotation processing via <Project properties> --> Java Compiler -->
+Annotation Processing and add requestfactory-apt.jar to the list of
+jars in Java Compiler --> Annotation Processing --> Factory Path.
+
+Users can confirm that the annotation processor is installed by
+looking for a META-INF/requestFactory/typeTokens file to be generated
+in the compiler's output directory.  This file must be packaged into
+the jar file that contains the compiled proxy classes.
+
+Additionally, the -Averbose=true flag can be passed to javac (or
+specified in the "Annotation Processing" configuration UI) to enable
+diagnostic output for the annotation processor.
+
+== !ServiceLayer changes ==
+
+Several of the ServiceLayer.resolveX() method signatures have changed
+in this release.  These changes were made in order to allow the use of
+obfuscated type and operation tokens to reduce payload and generated
+JS size and to allow the use of overloaded method names in
+RequestContext subtypes.  Users who have written their own
+ServiceLayerDecorator subclasses that override any of the resolveX()
+methods will need to modify their code to conform to the new API.  In
+general, the expected behavior of the resolveX() methods is unchanged.
+Users who need to retain compatibility with 2.3 and 2.4
+RequestFactory server code can leave methods with the old signatures
+in place, removing any @Override annotations.

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to