com.google.gwt.resources.ext

## Interface ClientBundleFields

-     public interface ClientBundleFields

  Allows ResourceGenerators to define fields within the implementation class for a bundle type. An instance of this interface will be provided via the `ResourceGenerator.createFields(com.google.gwt.core.ext.TreeLogger, com.google.gwt.resources.ext.ResourceContext, com.google.gwt.resources.ext.ClientBundleFields)` method.

  Because multiple, unrelated ResourceGenerators may be generating method implementations within a single bundle implementation, it is necessary to ensure that they do not attempt to declare multiple fields with the same name. The methods in this interface will provide a guaranteed-unique identifier to use when generating method implementations.

  Multiple invocations of the `define(com.google.gwt.core.ext.typeinfo.JType, java.lang.String)` method with the same inputs will result in different identifiers being produced.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `define(JType type, java.lang.String name)` Adds a field to the bundle.
    `java.lang.String` | `define(JType type, java.lang.String name, java.lang.String initializer, boolean isStatic, boolean isFinal)` Adds a field to the bundle.

- - ### Method Detail

    - #### define

          java.lang.String define(JType type,
                                java.lang.String name)

      Adds a field to the bundle. Equivalent to `defineField(type, name, null, true, false)`.
      Parameters:
        `type` - the declared type of the field
        `name` - a Java identifier to be used as the basis for the name of the field
      Returns:
        the identifier that must be used to access the field

    - #### define

          java.lang.String define(JType type,
                                java.lang.String name,
                                java.lang.String initializer,
                                boolean isStatic,
                                boolean isFinal)

      Adds a field to the bundle.
      Parameters:
        `type` - the declared type of the field
        `name` - a Java identifier to be used as the basis for the name of the field
        `initializer` - a Java expression that will be used as the field's initializer, or `null` if no initialization expression is desired
        `isStatic` - if `true` the field will be declared to be static
        `isFinal` - if `true` the fields will be declared as final
      Returns:
        the identifier that must be used to access the field