Example usage for com.google.common.css MinimalSubstitutionMap MinimalSubstitutionMap

List of usage examples for com.google.common.css MinimalSubstitutionMap MinimalSubstitutionMap

Introduction

In this page you can find the example usage for com.google.common.css MinimalSubstitutionMap MinimalSubstitutionMap.

Prototype

public MinimalSubstitutionMap() 

Source Link

Usage

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

private Map<String, String> computeReplacementsForType(JClassType cssResource) {
    Map<String, String> replacements = replacementsByClassAndMethod.get(cssResource);

    if (replacements == null) {
        replacements = new HashMap<String, String>();
        replacementsByClassAndMethod.put(cssResource, replacements);

        String resourcePrefix = resourcePrefixBuilder.get(cssResource.getQualifiedSourceName());

        // This substitution map will prefix each renamed class with the resource prefix and use a
        // MinimalSubstitutionMap for computing the obfuscated name.
        SubstitutionMap prefixingSubstitutionMap = new PrefixingSubstitutionMap(new MinimalSubstitutionMap(),
                obfuscationPrefix + resourcePrefix + "-");

        for (JMethod method : cssResource.getOverridableMethods()) {
            if (method == getNameMethod || method == getTextMethod || method == ensuredInjectedMethod) {
                continue;
            }//from w  w  w .j ava 2  s . co m

            String styleClass = getClassName(method);

            if (replacementsForSharedMethods.containsKey(method)) {
                replacements.put(styleClass, replacementsForSharedMethods.get(method));
            } else {
                String obfuscatedClassName = prefixingSubstitutionMap.get(styleClass);
                String replacement = obfuscationStyle.getPrettyName(styleClass, cssResource,
                        obfuscatedClassName);

                replacements.put(styleClass, replacement);
                maybeHandleSharedMethod(method, replacement);
            }
        }
    }

    return replacements;
}