001    /**
002     * Copyright 2010 The Kuali Foundation Licensed under the
003     * Educational Community License, Version 2.0 (the "License"); you may
004     * not use this file except in compliance with the License. You may
005     * obtain a copy of the License at
006     *
007     * http://www.osedu.org/licenses/ECL-2.0
008     *
009     * Unless required by applicable law or agreed to in writing,
010     * software distributed under the License is distributed on an "AS IS"
011     * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
012     * or implied. See the License for the specific language governing
013     * permissions and limitations under the License.
014     */
015    
016    package org.kuali.student.common.ui.client.service;
017    
018    import com.google.gwt.user.client.rpc.RemoteService;
019    import org.kuali.student.r1.common.dictionary.old.dto.ObjectStructure;
020    import org.kuali.student.r2.core.search.dto.SearchRequestInfo;
021    import org.kuali.student.r2.core.search.dto.SearchResultInfo;
022    import org.kuali.student.r2.core.class1.type.dto.TypeInfo;
023    
024    import java.util.List;
025    import org.kuali.student.r2.core.search.service.SearchService;
026    
027    /**
028     *  A base RPC service interface that exposes dictionary and search interfaces
029     *  of a service endpoint interface SEI
030     * 
031     * @author Kuali Student Team
032     *
033     */
034    public interface BaseRpcService extends RemoteService{
035    
036        /* Dictionary Operations */
037        
038        public List<String> getObjectTypes();
039    
040        public ObjectStructure getObjectStructure(String objectTypeKey);    
041        
042        /* Search Operations */
043        public List<TypeInfo> getSearchTypes();
044    
045        public TypeInfo getSearchType(String searchTypeKey);
046    
047        public SearchResultInfo search(SearchRequestInfo searchRequest);
048    
049    }