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

All Methods Instance Methods Abstract Methods
`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