/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.gosu.properties; import gw.fs.IFile; import java.util.Set; /** * Represents the different sources of {@link PropertySet} objects that can be used to build * {@link PropertiesType} objects. */ public interface PropertySetSource { /** * The names of all the property sets available from this source * @return a non null set of property set names */ public Set<String> getPropertySetNames(); /** * Return the named property set * @param name the name of the property set * @return a property set, or null if the name is not in the set returned by {@link #getPropertySetNames()} */ public PropertySet getPropertySet(String name); /** * Return the property set for the given file * * @param file the name of the file * @return a property set, or null if the name is not in the set returned by {@link #getPropertySetNames()} */ PropertySet getPropertySetForFile(IFile file); /** * Returns the file for the given name. */ IFile getFile(String name); }