001/**
002 * Portions Copyright 2001 Sun Microsystems, Inc.
003 * Portions Copyright 1999-2001 Language Technologies Institute, 
004 * Carnegie Mellon University.
005 * All Rights Reserved.  Use is subject to license terms.
006 * 
007 * See the file "license.terms" for information on usage and
008 * redistribution of this file, and for a DISCLAIMER OF ALL 
009 * WARRANTIES.
010 */
011package com.sun.speech.freetts;
012
013
014/**
015 * Manages a feature or item path. Allows navigation
016 * to the corresponding feature or item.
017 */
018public interface PathExtractor {
019
020    /**
021     * Finds the item associated with this object.
022     *
023     * @param item the starting point for the path navigation
024     *
025     * @return the item associated with the path or null
026     */
027    Item findItem(Item item);
028
029    /**
030     * Finds the feature associated with this object.
031     *
032     * @param item the starting point for the path navigation
033     *
034     * @return the feature associated or "0"  if the
035     *   feature was not found
036     */
037    Object findFeature(Item item);
038
039
040    // TODO: add these to the interface should we support binary
041    // files
042    /*
043    public void writeBinary();
044    public void readBinary();
045    */
046}