Example usage for com.google.common.css.compiler.passes CssClassRenaming CssClassRenaming

List of usage examples for com.google.common.css.compiler.passes CssClassRenaming CssClassRenaming

Introduction

In this page you can find the example usage for com.google.common.css.compiler.passes CssClassRenaming CssClassRenaming.

Prototype

public CssClassRenaming(MutatingVisitController visitController, SubstitutionMap cssClassRenamingMap,
            SubstitutionMap elementIdMap) 

Source Link

Usage

From source file:com.google.gwt.resources.rg.GssResourceGenerator.java

private Map<String, String> doClassRenaming(CssTree cssTree, JMethod method, TreeLogger logger,
        ResourceContext context) throws UnableToCompleteException {
    Map<String, Map<String, String>> replacementsWithPrefix = computeReplacements(method, logger, context);

    Set<String> externalClasses = collectExternalClasses(cssTree);

    RenamingSubstitutionMap substitutionMap = new RenamingSubstitutionMap(replacementsWithPrefix,
            externalClasses, isStrictResource(method), logger);

    new CssClassRenaming(cssTree.getMutatingVisitController(), substitutionMap, null).runPass();

    if (substitutionMap.hasError()) {
        throw new UnableToCompleteException();
    }//w w  w  .  ja  v a 2s.  c  om

    Map<String, String> mapping = replacementsWithPrefix.get("");

    mapping = Maps.newHashMap(Maps.filterKeys(mapping, Predicates.in(substitutionMap.getStyleClasses())));

    // add external classes in the mapping
    for (String external : externalClasses) {
        mapping.put(external, external);
    }

    return mapping;
}