001    // This file is part of AceWiki.
002    // Copyright 2008-2012, AceWiki developers.
003    // 
004    // AceWiki is free software: you can redistribute it and/or modify it under the terms of the GNU
005    // Lesser General Public License as published by the Free Software Foundation, either version 3 of
006    // the License, or (at your option) any later version.
007    // 
008    // AceWiki is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
009    // even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
010    // Lesser General Public License for more details.
011    // 
012    // You should have received a copy of the GNU Lesser General Public License along with AceWiki. If
013    // not, see http://www.gnu.org/licenses/.
014    
015    package ch.uzh.ifi.attempto.acewiki.aceowl;
016    
017    import java.util.Collection;
018    import java.util.List;
019    
020    
021    import ch.uzh.ifi.attempto.acewiki.core.OntologyElement;
022    import ch.uzh.ifi.attempto.acewiki.owl.OWLOntoElement;
023    import ch.uzh.ifi.attempto.ape.LexiconEntry;
024    import ch.uzh.ifi.attempto.chartparser.LexicalRule;
025    
026    /**
027     * This interface represents an OWL ontology element with lexical entries that define its ACE
028     * representation.
029     * 
030     * @author Tobias Kuhn
031     */
032    public interface ACEOWLOntoElement extends OntologyElement, OWLOntoElement {
033            
034            /**
035             * Returns the lexicon entries (one for each word form).
036             * 
037             * @return The lexicon entries.
038             */
039            public List<LexiconEntry> getLexiconEntries();
040            
041            /**
042             * This method should collect the lexical rules of this ontology element for the given category
043             * name.
044             * 
045             * @param catName The category name.
046             * @param lexRules The lexical rules should be added to this collection.
047             */
048            // TODO: Improve this.
049            public void collectLexicalRules(String catName, Collection<LexicalRule> lexRules);
050    
051    }