From 057bdd29cba2d6d906e818a3a8cb616a3237ec2c Mon Sep 17 00:00:00 2001 From: Manfred Tremmel Date: Tue, 10 Dec 2024 15:32:37 +0100 Subject: [PATCH] update to new gin version and jakarta namespace - also updated dependencies - using gwt 2.12.1 - java 11 as compile target - new checkstyle version and included configuration --- .../codequality/checkstyle.xml | 150 ++++++++++++++++++ .../codequality/opensource.java.header | 15 ++ .../codequality/suppressions.xml | 15 ++ dispatch-rest-delegates/pom.xml | 36 ++--- .../delegates/client/ResourceDelegate.java | 14 +- .../rebind/DelegateExtensionGenerator.java | 4 +- .../delegates/rebind/DelegateGenerator.java | 3 +- .../rebind/DelegateMethodGenerator.java | 6 +- .../rest/delegates/rebind/DelegateModule.java | 4 +- .../DelegatedActionMethodGenerator.java | 4 +- .../DelegatedDelegateMethodGenerator.java | 4 +- .../DelegatedSubResourceMethodGenerator.java | 4 +- .../test/AbstractDelegateStubber.java | 2 +- .../delegates/test/DelegateTestUtils.java | 4 +- .../rest/delegates/ResourceDelegate.gwt.xml | 4 +- .../rest/delegates/rebind/Delegate.vm | 4 +- ginuibinder/pom.xml | 31 +++- .../gwt/uibinder/rebind/FieldManager.java | 20 ++- .../uibinder/rebind/GinUiBinderGenerator.java | 2 +- 19 files changed, 261 insertions(+), 65 deletions(-) create mode 100644 dispatch-rest-delegates/codequality/checkstyle.xml create mode 100644 dispatch-rest-delegates/codequality/opensource.java.header create mode 100644 dispatch-rest-delegates/codequality/suppressions.xml diff --git a/dispatch-rest-delegates/codequality/checkstyle.xml b/dispatch-rest-delegates/codequality/checkstyle.xml new file mode 100644 index 0000000..b937aa8 --- /dev/null +++ b/dispatch-rest-delegates/codequality/checkstyle.xml @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dispatch-rest-delegates/codequality/opensource.java.header b/dispatch-rest-delegates/codequality/opensource.java.header new file mode 100644 index 0000000..7467547 --- /dev/null +++ b/dispatch-rest-delegates/codequality/opensource.java.header @@ -0,0 +1,15 @@ +/\*\*? + \* Copyright \d{4} ArcBees Inc\. + \* + \* Licensed under the Apache License, Version 2\.0 \(the "License"\); you may not + \* use this file except in compliance with the License\. You may obtain a copy of + \* the License at + \* + \* http://www\.apache\.org/licenses/LICENSE-2\.0 + \* + \* Unless required by applicable law or agreed to in writing, software + \* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + \* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied\. See the + \* License for the specific language governing permissions and limitations under + \* the License\. + \*/ diff --git a/dispatch-rest-delegates/codequality/suppressions.xml b/dispatch-rest-delegates/codequality/suppressions.xml new file mode 100644 index 0000000..8e6d283 --- /dev/null +++ b/dispatch-rest-delegates/codequality/suppressions.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + diff --git a/dispatch-rest-delegates/pom.xml b/dispatch-rest-delegates/pom.xml index eac686d..7356bea 100644 --- a/dispatch-rest-delegates/pom.xml +++ b/dispatch-rest-delegates/pom.xml @@ -18,18 +18,17 @@ http://arcbees.github.io/GWTP/ - 1.6 - 2.8.0 - 1.10.8 - 4.12 - - 3.2 - 2.13 - 6.2 - 1.2 - 2.10.3 - - 1.7 + 1.7-SNAPSHOT + 2.12.1 + 4.11.0 + 4.13.2 + + 3.13.0 + 3.6.0 + 10.20.1 + 3.11.1 + + 11 UTF-8 UTF-8 @@ -66,12 +65,12 @@ ${gwtp.version} - com.google.gwt + org.gwtproject gwt-user ${gwt.version} - com.google.gwt + org.gwtproject gwt-dev ${gwt.version} @@ -127,8 +126,8 @@ ${maven-checkstyle-plugin.version} - /checkstyle.xml - /suppressions.xml + /codequality/checkstyle.xml + /codequality/suppressions.xml basedir=${basedir} true true @@ -142,11 +141,6 @@ checkstyle ${checkstyle.version} - - com.arcbees - checkstyle - ${arcbees-checkstyle.version} - diff --git a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/client/ResourceDelegate.java b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/client/ResourceDelegate.java index ac59314..7c62aaf 100644 --- a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/client/ResourceDelegate.java +++ b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/client/ResourceDelegate.java @@ -25,35 +25,35 @@ * interface and {@link com.gwtplatform.dispatch.rest.client.RestDispatch} to simplify your code. Note that if your * resource interfaces don't return {@link com.gwtplatform.dispatch.rest.shared.RestAction RestAction<?>}s but the * result type directly, you will need to inject a {@link ResourceDelegate} to use your resource. - *

+ *

* This delegate will not send the HTTP request until you call a method, that is not a sub-resource, from the underlying * resource. The underlying resource is returned when either {@link #withoutCallback()} or {@link * #withCallback(AsyncCallback)} are called. - *

+ *

* The following example shows how to retrieve the {@link DispatchRequest} and delete a potential car: *


  * {@literal @}Path("/cars")
  * public interface CarsResource {
  *      CarResource car(int id);
  * }
- * 

+ * * public interface CarResource { * {@literal @}DELETE * void delete(); * } - *

+ * * public class CarPresenter { * private final ResourceDelegate<CarsResource> carsResourceDelegate; - *

+ * * {@literal @}Inject * CarPresenter(ResourceDelegate<CarsResource> carsResourceDelegate) { * this.carsResourceDelegate = carsResourceDelegate; * } - *

+ * * {@literal @}Override * public void onReveal() { * DelegatingDispatchRequest dispatchRequest = new DelegatingDispatchRequest(); - *

+ * * carsResourceDelegate * .withDelegatingDispatchRequest(dispatchRequest) * .withCallback(new AsyncCallback<Void>() {/{@literal * snip *}/}); diff --git a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegateExtensionGenerator.java b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegateExtensionGenerator.java index 9b0d8b4..8763798 100644 --- a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegateExtensionGenerator.java +++ b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegateExtensionGenerator.java @@ -20,8 +20,6 @@ import java.util.Collection; import java.util.List; -import javax.inject.Inject; - import com.google.gwt.core.ext.GeneratorContext; import com.google.gwt.core.ext.UnableToCompleteException; import com.gwtplatform.dispatch.rest.rebind.AbstractGenerator; @@ -34,6 +32,8 @@ import com.gwtplatform.dispatch.rest.rebind.utils.ClassDefinition; import com.gwtplatform.dispatch.rest.rebind.utils.Logger; +import jakarta.inject.Inject; + public class DelegateExtensionGenerator extends AbstractGenerator implements ExtensionGenerator { private final DelegateGenerator delegateGenerator; diff --git a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegateGenerator.java b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegateGenerator.java index 869f2bb..1485424 100644 --- a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegateGenerator.java +++ b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegateGenerator.java @@ -23,7 +23,6 @@ import java.util.Set; import java.util.TreeSet; -import javax.inject.Inject; import javax.ws.rs.Path; import org.apache.velocity.app.VelocityEngine; @@ -45,6 +44,8 @@ import com.gwtplatform.dispatch.rest.rebind.utils.Logger; import com.gwtplatform.dispatch.rest.shared.RestAction; +import jakarta.inject.Inject; + import static com.gwtplatform.dispatch.rest.rebind.utils.Generators.findGenerator; public class DelegateGenerator extends AbstractVelocityGenerator diff --git a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegateMethodGenerator.java b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegateMethodGenerator.java index 80966e8..42c9139 100644 --- a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegateMethodGenerator.java +++ b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegateMethodGenerator.java @@ -21,8 +21,6 @@ import java.util.Map; import java.util.Set; -import javax.inject.Inject; - import org.apache.velocity.app.VelocityEngine; import com.google.gwt.core.ext.GeneratorContext; @@ -40,6 +38,8 @@ import com.gwtplatform.dispatch.rest.rebind.utils.Logger; import com.gwtplatform.dispatch.rest.shared.RestAction; +import jakarta.inject.Inject; + import static com.gwtplatform.dispatch.rest.rebind.utils.JPrimitives.classTypeOrConvertToBoxed; public class DelegateMethodGenerator extends ActionMethodGenerator { @@ -146,7 +146,7 @@ private boolean hasValidReturnType() { JClassType classType = returnType.isClassOrInterface(); JPrimitiveType primitiveType = returnType.isPrimitive(); - return (classType != null && restActionType != null && !classType.isAssignableTo(restActionType)) + return classType != null && restActionType != null && !classType.isAssignableTo(restActionType) || primitiveType != null; } diff --git a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegateModule.java b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegateModule.java index 331262e..c78888f 100644 --- a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegateModule.java +++ b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegateModule.java @@ -16,10 +16,10 @@ package com.gwtplatform.dispatch.rest.delegates.rebind; -import javax.inject.Singleton; - import com.google.inject.AbstractModule; +import jakarta.inject.Singleton; + import static com.gwtplatform.dispatch.rest.rebind.extension.ExtensionModule.addExtensionGenerator; import static com.gwtplatform.dispatch.rest.rebind.resource.ResourceModule.addMethodGenerator; diff --git a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegatedActionMethodGenerator.java b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegatedActionMethodGenerator.java index f956ff7..fab10b0 100644 --- a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegatedActionMethodGenerator.java +++ b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegatedActionMethodGenerator.java @@ -20,8 +20,6 @@ import java.util.List; import java.util.Map; -import javax.inject.Inject; - import org.apache.velocity.app.VelocityEngine; import com.google.gwt.core.ext.GeneratorContext; @@ -34,6 +32,8 @@ import com.gwtplatform.dispatch.rest.rebind.resource.MethodDefinition; import com.gwtplatform.dispatch.rest.rebind.utils.Logger; +import jakarta.inject.Inject; + public class DelegatedActionMethodGenerator extends AbstractDelegatedMethodGenerator { private static final String TEMPLATE = "com/gwtplatform/dispatch/rest/delegates/rebind/DelegatedActionMethod.vm"; private static final String DEFAULT_ACTION_VARIABLE_NAME = "action"; diff --git a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegatedDelegateMethodGenerator.java b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegatedDelegateMethodGenerator.java index 84d39d2..c8e66f1 100644 --- a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegatedDelegateMethodGenerator.java +++ b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegatedDelegateMethodGenerator.java @@ -19,8 +19,6 @@ import java.io.StringWriter; import java.util.Map; -import javax.inject.Inject; - import org.apache.velocity.app.VelocityEngine; import com.google.gwt.core.ext.GeneratorContext; @@ -31,6 +29,8 @@ import com.gwtplatform.dispatch.rest.rebind.resource.MethodDefinition; import com.gwtplatform.dispatch.rest.rebind.utils.Logger; +import jakarta.inject.Inject; + public class DelegatedDelegateMethodGenerator extends AbstractDelegatedMethodGenerator { private static final String TEMPLATE = "com/gwtplatform/dispatch/rest/delegates/rebind/DelegatedDelegateMethod.vm"; diff --git a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegatedSubResourceMethodGenerator.java b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegatedSubResourceMethodGenerator.java index 1a12a86..407b2cf 100644 --- a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegatedSubResourceMethodGenerator.java +++ b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/rebind/DelegatedSubResourceMethodGenerator.java @@ -19,8 +19,6 @@ import java.io.StringWriter; import java.util.Map; -import javax.inject.Inject; - import org.apache.velocity.app.VelocityEngine; import com.google.gwt.core.ext.GeneratorContext; @@ -33,6 +31,8 @@ import com.gwtplatform.dispatch.rest.rebind.utils.ClassDefinition; import com.gwtplatform.dispatch.rest.rebind.utils.Logger; +import jakarta.inject.Inject; + public class DelegatedSubResourceMethodGenerator extends AbstractDelegatedMethodGenerator { private static final String TEMPLATE = "com/gwtplatform/dispatch/rest/delegates/rebind/DelegatedSubResourceMethod.vm"; diff --git a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/test/AbstractDelegateStubber.java b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/test/AbstractDelegateStubber.java index fbf3cd0..c9e4337 100644 --- a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/test/AbstractDelegateStubber.java +++ b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/test/AbstractDelegateStubber.java @@ -72,7 +72,7 @@ public S withResponse(Response response) { /** * This is similar than calling {@link #withResponse(Response)}. Instead, a mock of {@link Response} is created and * configured to return status. - *

+ *

* If {@link #withResponse(Response)} was previously called, the previously configured {@link Response} will be * overwritten. * diff --git a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/test/DelegateTestUtils.java b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/test/DelegateTestUtils.java index 2985c27..cba7b67 100644 --- a/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/test/DelegateTestUtils.java +++ b/dispatch-rest-delegates/src/main/java/com/gwtplatform/dispatch/rest/delegates/test/DelegateTestUtils.java @@ -24,9 +24,9 @@ /** * Utility methods to help mocking {@link com.gwtplatform.dispatch.rest.delegates.client.ResourceDelegate}s. - *

+ *

* Important:

  • {@link #init()} must be called before each test. Not doing it may cause unexpected - * results. Using JUnit's {@link org.junit.Before @Before} is perfect for that.
  • {@link + * results. Using JUnit's org.junit.Before is perfect for that.
  • {@link * DelegateMocking#useResource(Object) useResource(Object)} must be called before any other methods exactly once * and before any other methods for the delegate is called. Assertion errors will be thrown otherwise.
  • *
diff --git a/dispatch-rest-delegates/src/main/resources/com/gwtplatform/dispatch/rest/delegates/ResourceDelegate.gwt.xml b/dispatch-rest-delegates/src/main/resources/com/gwtplatform/dispatch/rest/delegates/ResourceDelegate.gwt.xml index 993c130..575cc8e 100644 --- a/dispatch-rest-delegates/src/main/resources/com/gwtplatform/dispatch/rest/delegates/ResourceDelegate.gwt.xml +++ b/dispatch-rest-delegates/src/main/resources/com/gwtplatform/dispatch/rest/delegates/ResourceDelegate.gwt.xml @@ -1,6 +1,6 @@ - + diff --git a/dispatch-rest-delegates/src/main/resources/com/gwtplatform/dispatch/rest/delegates/rebind/Delegate.vm b/dispatch-rest-delegates/src/main/resources/com/gwtplatform/dispatch/rest/delegates/rebind/Delegate.vm index 261aac0..28024d4 100644 --- a/dispatch-rest-delegates/src/main/resources/com/gwtplatform/dispatch/rest/delegates/rebind/Delegate.vm +++ b/dispatch-rest-delegates/src/main/resources/com/gwtplatform/dispatch/rest/delegates/rebind/Delegate.vm @@ -1,10 +1,10 @@ package $package; -import javax.inject.Inject; - import com.gwtplatform.dispatch.rest.client.RestDispatch; import com.gwtplatform.dispatch.rest.client.core.StaticParametersFactory; import com.gwtplatform.dispatch.rest.delegates.client.AbstractResourceDelegate; + +import jakarta.inject.Inject; #foreach ($import in $imports) import $import; #end diff --git a/ginuibinder/pom.xml b/ginuibinder/pom.xml index 51deec5..dbcd946 100644 --- a/ginuibinder/pom.xml +++ b/ginuibinder/pom.xml @@ -17,11 +17,16 @@ http://arcbees.github.io/GWTP/ - 2.8.0 - 2.1.2 + 2.12.1 + HEAD-SNAPSHOT - 2.10.3 - + 3.13.0 + 3.11.1 + + 11 + UTF-8 + UTF-8 + scm:git:git@github.com:ArcBees/gwtp-extensions.git @@ -31,17 +36,17 @@ - com.google.gwt + org.gwtproject gwt-user ${gwt.version} - com.google.gwt + org.gwtproject gwt-dev ${gwt.version} - com.google.gwt.inject + io.github.gwtplus.gin gin ${gin.version} @@ -62,6 +67,18 @@ + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin.version} + + + ${target.jdk} + ${target.jdk} + ${project.build.sourceEncoding} + + + org.apache.maven.plugins maven-javadoc-plugin diff --git a/ginuibinder/src/main/java/com/google/gwt/uibinder/rebind/FieldManager.java b/ginuibinder/src/main/java/com/google/gwt/uibinder/rebind/FieldManager.java index a1b35b0..b0b9b4c 100644 --- a/ginuibinder/src/main/java/com/google/gwt/uibinder/rebind/FieldManager.java +++ b/ginuibinder/src/main/java/com/google/gwt/uibinder/rebind/FieldManager.java @@ -133,8 +133,10 @@ public FieldManager(TypeOracle typeOracle, MortalLogger logger, boolean useLazyW /** * Converts the given field to its getter. Example: - *
  • myWidgetX = get_myWidgetX() - *
  • f_html1 = get_f_html1() + *
      + *
    • myWidgetX = get_myWidgetX()
    • + *
    • f_html1 = get_f_html1()
    • + *
    */ public String convertFieldToGetter(String fieldName) { // could this conversion can be moved to FieldWriter? @@ -221,8 +223,8 @@ public void push(XMLElement source, FieldWriter fieldWriter) { * When making a field we peek at the {@link #parsedFieldStack} to make sure * that the field that holds the widget currently being parsed will depended * upon the field being declared. This ensures, for example, that dom id - * fields (see {@link UiBinderWriter#declareDomIdHolder()}) used by an HTMLPanel - * will be declared before it is. + * fields (see {@link com.google.gwt.uibinder.rebind.UiBinderWriter#declareDomIdHolder(String)}) + * used by an HTMLPanel will be declared before it is. * * @param fieldWriterType the field writer type associated * @param fieldType the type of the new field @@ -257,8 +259,8 @@ public FieldWriter registerField(String type, String fieldName) * When making a field we peek at the {@link #parsedFieldStack} to make sure * that the field that holds the widget currently being parsed will depended * upon the field being declared. This ensures, for example, that dom id - * fields (see {@link UiBinderWriter#declareDomIdHolder()}) used by an HTMLPanel - * will be declared before it is. + * fields (see {@link com.google.gwt.uibinder.rebind.UiBinderWriter#declareDomIdHolder(String)}) + * used by an HTMLPanel will be declared before it is. * * @throws UnableToCompleteException on duplicate name * @return a new {@link FieldWriter} instance @@ -274,9 +276,11 @@ public FieldWriter registerFieldForGeneratedCssResource( * Register a new field for {@link com.google.gwt.uibinder.client.LazyDomElement} * types. LazyDomElement fields can only be associated with html elements. Example: * + *
      *
    • LazyDomElement<DivElement> -> <div>
    • *
    • LazyDomElement<Element> -> <div>
    • *
    • LazyDomElement<SpanElement> -> <span>
    • + *
    * * @param templateFieldType the html type to bind, eg, SpanElement, DivElement, etc * @param ownerField the field instance @@ -300,8 +304,8 @@ public FieldWriter registerFieldForLazyDomElement(JClassType templateFieldType, * When making a field we peek at the {@link #parsedFieldStack} to make sure * that the field that holds the widget currently being parsed will depended * upon the field being declared. This ensures, for example, that dom id - * fields (see {@link UiBinderWriter#declareDomIdHolder()}) used by an HTMLPanel - * will be declared before it is. + * fields (see {@link com.google.gwt.uibinder.rebind.UiBinderWriter#declareDomIdHolder(String)}) + * used by an HTMLPanel will be declared before it is. * * @param assignableType class or interface extened or implemented by this * type diff --git a/ginuibinder/src/main/java/com/google/gwt/uibinder/rebind/GinUiBinderGenerator.java b/ginuibinder/src/main/java/com/google/gwt/uibinder/rebind/GinUiBinderGenerator.java index c1d2f4b..871c0ac 100644 --- a/ginuibinder/src/main/java/com/google/gwt/uibinder/rebind/GinUiBinderGenerator.java +++ b/ginuibinder/src/main/java/com/google/gwt/uibinder/rebind/GinUiBinderGenerator.java @@ -30,7 +30,7 @@ * that allows fields to be instantiated using gin dependency * injection. Modifications are clearly indicated by * {@code MODIFICATION} comments. - *

    + *

    * To use this you need to use the following in your module file: *

     <inherits name="com.google.gwt.uibinder.GinUiBinder" />
    * instead of {@code com.google.gwt.uibinder.UiBinder}.