package org.skyscreamer.yoga.selector.parser; import java.util.Map; import org.skyscreamer.yoga.exceptions.ParseSelectorException; /** * An implementation of {@link AliasSelectorResolver} that uses an injected Map to translate the alias. The key of each * map entry is the alias, and the value is the fully-formed selector expression. */ public class MapSelectorResolver implements AliasSelectorResolver { private Map<String, String> _definedSelectors; public String resolveSelector( String aliasSelectorExpression ) throws ParseSelectorException { String result = _definedSelectors.get( aliasSelectorExpression ); if ( result == null ) { throw new ParseSelectorException( "No selector defined for " + aliasSelectorExpression ); } return result; } /** * Injects the map that will be used to resolve selector expressions * * @param definedSelectors Your map of aliases */ public void setDefinedSelectors( Map<String, String> definedSelectors ) { _definedSelectors = definedSelectors; } }