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

com.google.gwt.dev.cfg.LibraryBuilder Maven / Gradle / Ivy

There is a newer version: 2.10.0
Show newest version
/*
 * Copyright 2013 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.dev.cfg;

import com.google.gwt.dev.javac.CompilationUnit;
import com.google.gwt.dev.jjs.PermutationResult;
import com.google.gwt.dev.resource.Resource;
import com.google.gwt.dev.util.PersistenceBackedObject;
import com.google.gwt.thirdparty.guava.common.collect.Multimap;

import java.util.Set;

/**
 * A builder which collects and writes the contents of a library.
* * It also provides access to a very small subset of properties for LibraryGroup access. */ public interface LibraryBuilder { /** * Adds a build resource. Build resources are any resources provided in source paths but which are * not themselves source code. For example *.gwt.xml and *.ui.xml files. */ void addBuildResource(Resource buildResource); /** * Adds a previously compiled (but not yet unified) compilation unit. */ void addCompilationUnit(CompilationUnit compilationUnit); /** * Registers a dependency on some other library. */ void addDependencyLibraryName(String dependencyLibraryName); /** * Registers dependency on a set of other libraries. */ void addDependencyLibraryNames(Set dependencyLibraryNames); /** * Registers newly legal values on some binding property. */ void addNewBindingPropertyValuesByName(String propertyName, Iterable propertyValues); /** * Sets the newly current value(s) on some configuration property. */ void addNewConfigurationPropertyValuesByName( String propertyName, Iterable propertyValues); /** * Adds a public resource (such as a html, css, or png file). */ void addPublicResource(Resource publicResource); /** * Marks a generator as having been executed for this library and all sub libraries. */ void addRanGeneratorName(String generatorName); /** * Returns the map of binding property names to newly legal values. */ Multimap getNewBindingPropertyValuesByName(); /** * Returns a map of configuration property names to newly set value(s). */ Multimap getNewConfigurationPropertyValuesByName(); /** * Returns a handle to the permutation result object that was constructed as part of the * compilation for this library. */ PersistenceBackedObject getPermutationResultHandle(); /** * Returns the set of names of types which are the subject of GWT.create() calls in source code * for this library. */ Set getReboundTypeNames(); /** * Records the library name.
* * Library names are the way that libraries reference one another as dependencies and should be * unique within the build tree. */ void setLibraryName(String libraryName); /** * Records the set of names of types which are the subject of GWT.create() calls in source code * for this library. */ void setReboundTypeNames(Set reboundTypeNames); /** * Finishes writing all library contents and closes the library. */ void write(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy