blob: e286d7540aa08de226ab17f81ba58ba12acce55e [file] [log] [blame]
/*
* Copyright 2009 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.core.ext;
import java.util.List;
import java.util.Set;
import java.util.SortedSet;
/**
* A named deferred binding (property, value) pair for use in generators.
*
* @see com.google.gwt.core.ext.linker.SelectionProperty A similarly-named
* analog for linkers.
*/
public interface SelectionProperty {
/**
* The name of the property.
*
* @return the property name as a String.
* */
String getName();
/**
* The value for the permutation currently being considered.
*
* @return the property value as a String.
*/
String getCurrentValue();
/**
* Gets the fallback value for the property.
* @return the fallback, or ""
*/
String getFallbackValue();
/**
* Returns the list of fall back values for a given value.
* @param value the property value
* @return the fall back list of values by increasing order
* of preference.
*/
List<? extends Set<String>> getFallbackValues(String value);
/**
* Returns the possible values for the property in sorted order.
*
* @return a SortedSet of Strings containing the possible property values.
*/
SortedSet<String> getPossibleValues();
}