001/**
002 * Copyright 2004-2014 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.opensource.org/licenses/ecl2.php
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 */
016package org.kuali.student.contract.model;
017
018import 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 */
025public interface ServiceContractModel {
026
027    public List<String> getSourceNames();
028
029    /**
030     * get the service definitions
031     * @return list of services known to the metadata
032     */
033    public List<Service> getServices();
034
035    /**
036     * Get service methods
037     * @return
038     */
039    public List<ServiceMethod> getServiceMethods();
040
041    /**
042     * load xml types
043     * @return
044     */
045    public List<XmlType> getXmlTypes();
046
047    /**
048     * Get Message Structure Definitions
049     * @return
050     */
051    public List<MessageStructure> getMessageStructures();
052
053    /**
054     * Gets the structure of this object as a String.
055     */
056    public String toString ();
057}