001    /*
002     * Copyright 2009 The Kuali Foundation
003     *
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may      obtain a copy of the License at
007     *
008     *      http://www.osedu.org/licenses/ECL-2.0
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.student.contract.model;
017    
018    import java.util.List;
019    
020    /**
021     * Abstration of the spreadsheet that holds the data so we can implement both
022     * google and excel versions as well as caching and expanding ones.
023     * @author nwright
024     */
025    public interface DictionaryModel extends SearchModel, ServiceContractModel {
026    
027        /**
028         * get name of the source of this spreadsheet
029         * @return
030         */
031        public List<String> getSourceNames();
032    
033        /**
034         * get dictionary entries
035         * @return
036         */
037        public List<Dictionary> getDictionary();
038    
039        /**
040         * load lu States
041         * @return
042         */
043        public List<State> getStates();
044    
045        /**
046         * get the kuali student types
047         * @return
048         */
049        public List<Type> getTypes();
050    
051        /**
052         * get fields
053         * @return
054         */
055        public List<Field> getFields();
056    
057        /**
058         * get constraints
059         * @return
060         */
061        public List<Constraint> getConstraints();
062    
063        /**
064         * get cross object constraints
065         * @return
066         */
067        public List<CrossObjectConstraint> getCrossObjectConstraints();
068    
069        /**
070         * get Orchestration Object Definitions
071         * @return
072         */
073        public List<OrchObj> getOrchObjs();
074    
075        /**
076         * get the project definitions
077         * @return list of projects known to the metadata
078         */
079        public List<Project> getProjects();
080    }