001 package org.kuali.student.common.ui.server.gwt;
002
003 import java.util.List;
004 import java.util.Map;
005
006 import org.kuali.student.common.assembly.data.Data;
007 import org.kuali.student.common.assembly.data.Metadata;
008 import org.kuali.student.common.exceptions.DataValidationErrorException;
009 import org.kuali.student.common.exceptions.DoesNotExistException;
010 import org.kuali.student.common.exceptions.InvalidParameterException;
011 import org.kuali.student.common.exceptions.MissingParameterException;
012 import org.kuali.student.common.exceptions.OperationFailedException;
013 import org.kuali.student.common.exceptions.VersionMismatchException;
014 import org.kuali.student.common.rice.authorization.PermissionType;
015 import org.kuali.student.common.ui.client.service.DataSaveResult;
016 import org.kuali.student.common.validation.dto.ValidationResultInfo;
017
018 public interface DataService {
019 //Data operations
020 public Data getData(String dataId) throws OperationFailedException, DoesNotExistException, InvalidParameterException, MissingParameterException, OperationFailedException;
021
022 public Metadata getMetadata(String id, Map<String, String> attributes) throws OperationFailedException;
023
024 public DataSaveResult saveData(Data data) throws OperationFailedException, DataValidationErrorException, VersionMismatchException;
025
026 public List<ValidationResultInfo> validateData(Data data) throws OperationFailedException;
027
028 //AuthZ operations
029 public Boolean isAuthorized(PermissionType type, Map<String,String> attributes);
030 }