package novaling.linguicon;

public interface IFeatureSystemAdapter {
	/* CONSTANTS */
	
	//
	
	
	/* NESTED ENUMS */
	
	//
	
	
	/* STATIC METHODS */
	
	//
	
	
	/* DEFAULT METHODS */
	
	//
	
	
	/* ABSTRACT METHODS	*/
	
	/** loadFeatures()
	 * 
	 * Loads the adapter's source's defined phonological feature system into a
	 * Java-ready FeatureSystem object.
	 * 
	 * For implementation: Not all fields in the FeatureSystem need be set, as
	 * it is understandable that some sources may not go into detail with some
	 * aspects of a feature system, such as feature geometry. All that is
	 * utterly necessary is that the adapter load in the features in the system
	 * along with their possible values (privative/unary, binary, scalar).
	 * 
	 * @return A FeatureSystem object containing all features defined in the
	 * 	source, optionally along with any other information available on them.
	 */
	FeatureSystem loadFeatures();
	
	
	/* OVERRIDE METHODS */
	
	//
	
	
}
