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 }