001package org.kuali.ole.service;
002
003import org.kuali.ole.deliver.api.OleDeliverRequestDefinition;
004import org.kuali.ole.deliver.bo.OlePatronLoanDocuments;
005import org.kuali.ole.deliver.api.OleEntityAddressDefinition;
006import org.kuali.ole.deliver.api.OlePatronDefinition;
007import org.kuali.ole.deliver.api.OlePatronNotesDefinition;
008import org.kuali.ole.deliver.api.OlePatronQueryResults;
009import org.kuali.rice.core.api.criteria.QueryByCriteria;
010import org.kuali.rice.kim.api.identity.address.EntityAddress;
011import org.kuali.rice.kim.api.identity.email.EntityEmail;
012import org.kuali.rice.kim.api.identity.entity.Entity;
013import org.kuali.rice.kim.api.identity.name.EntityName;
014import org.kuali.rice.kim.api.identity.phone.EntityPhone;
015import org.kuali.rice.kim.api.identity.type.EntityTypeContactInfo;
016
017import javax.jws.WebService;
018import javax.jws.soap.SOAPBinding;
019import java.util.List;
020
021/**
022 * Created by IntelliJ IDEA.
023 * User: pvsubrah
024 * Date: 5/9/12
025 * Time: 2:52 PM
026 * To change this template use File | Settings | File Templates.
027 */
028@WebService(name = "olePatronService", targetNamespace = "http://service.ole.kuali.org/")
029@SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
030public interface OlePatronService {
031
032    public OlePatronDefinition getPatron(String patronId);
033
034    public OlePatronDefinition createPatron(OlePatronDefinition olePatron);
035
036    public OlePatronDefinition updatePatron(OlePatronDefinition olePatron);
037
038    public OlePatronDefinition inactivatePatron(String patronId);
039
040    public void addNameToEntity(EntityName name, Entity entity);
041
042    public EntityName updateName(EntityName name);
043
044    public boolean inactivateName(String nameId);
045
046    public void addEmailToEntity(List<EntityEmail> emails, EntityTypeContactInfo entityTypeContactInfo);
047
048    public boolean updateEmail(EntityEmail entityEmail);
049
050    public boolean inactivateEmail(String emailId);
051
052    public void addAddressToEntity(List<OleEntityAddressDefinition> oleEntityAddress, EntityTypeContactInfo entityTypeContactInfo);
053
054    public boolean updateAddress(EntityAddress entityAddress);
055
056    public boolean inactivateAddress(String addressId);
057
058    public void addPhoneToEntity(List<EntityPhone> entityPhone, EntityTypeContactInfo entityTypeContactInfo);
059
060    public boolean updatePhone(EntityPhone entityPhone);
061
062    public boolean inactivatePhone(String phoneId);
063
064    public boolean addNoteToPatron(OlePatronNotesDefinition patronNote);
065
066    public boolean updateNote(OlePatronNotesDefinition patronNote);
067
068    public boolean inactivateNote(String patronNoteId);
069
070    public OlePatronQueryResults getPatrons();
071
072    public OlePatronQueryResults findPatron(QueryByCriteria queryCriteria);
073
074    public void deletePatronBatchProgram();
075    // renewal by patron methods
076
077    public OlePatronLoanDocuments getPatronLoanedItems(String patronBarcode);
078
079    public List<OleDeliverRequestDefinition> getPatronRequestItems(String patronId);
080
081    public OlePatronLoanDocuments performRenewalItems(OlePatronLoanDocuments olePatronLoanDocuments);
082
083}