All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.gwt.resources.ext.ClientBundleFields Maven / Gradle / Ivy

There is a newer version: 2.12.1
Show newest version
/*
 * Copyright 2008 Google 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.
 */
package com.google.gwt.resources.ext;

import com.google.gwt.core.ext.typeinfo.JType;

/**
 * Allows ResourceGenerators to define fields within the implementation class
 * for a bundle type. An instance of this interface will be provided via the
 * {@link ResourceGenerator#createFields} 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 {@link #define} method with the same inputs will * result in different identifiers being produced. */ public interface ClientBundleFields { /** * Adds a field to the bundle. Equivalent to * defineField(type, name, null, true, false). * * @param type the declared type of the field * @param name a Java identifier to be used as the basis for the name of the * field * @return the identifier that must be used to access the field */ String define(JType type, String name); /** * Adds a field to the bundle. * * @param type the declared type of the field * @param name a Java identifier to be used as the basis for the name of the * field * @param initializer a Java expression that will be used as the field's * initializer, or null if no initialization expression * is desired * @param isStatic if true the field will be declared to be * static * @param isFinal if true the fields will be declared as final * @return the identifier that must be used to access the field */ String define(JType type, String name, String initializer, boolean isStatic, boolean isFinal); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy