Coverage Report - org.kuali.student.enrollment.roster.service.LprRosterService
 
Classes in this File Line Coverage Branch Coverage Complexity
LprRosterService
N/A
N/A
1
 
 1  
 /*
 2  
  * Copyright 2012 The Kuali Foundation 
 3  
  *
 4  
  * Licensed under the Educational Community License, Version 1.0 (the
 5  
  * "License"); you may not use this file except in compliance with the
 6  
  * License. You may obtain a copy of the License at
 7  
  *
 8  
  * http://www.opensource.org/licenses/ecl1.php 
 9  
  *
 10  
  * Unless required by applicable law or agreed to in writing, software
 11  
  * distributed under the License is distributed on an "AS IS" BASIS,
 12  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 13  
  * implied. See the License for the specific language governing
 14  
  * permissions and limitations under the License.
 15  
  */
 16  
 
 17  
 package org.kuali.student.enrollment.roster.service;
 18  
 
 19  
 import java.util.List;
 20  
 
 21  
 import javax.jws.WebParam;
 22  
 import javax.jws.WebService;
 23  
 import javax.jws.soap.SOAPBinding;
 24  
 
 25  
 import org.kuali.rice.core.api.criteria.QueryByCriteria;
 26  
 
 27  
 import org.kuali.student.enrollment.roster.dto.LprRosterEntryInfo;
 28  
 import org.kuali.student.enrollment.roster.dto.LprRosterInfo;
 29  
 
 30  
 import org.kuali.student.r2.common.dto.ContextInfo;
 31  
 import org.kuali.student.r2.common.dto.StatusInfo;
 32  
 import org.kuali.student.r2.common.dto.ValidationResultInfo;
 33  
 
 34  
 import org.kuali.student.r2.common.exceptions.AlreadyExistsException;
 35  
 import org.kuali.student.r2.common.exceptions.DataValidationErrorException;
 36  
 import org.kuali.student.r2.common.exceptions.DisabledIdentifierException;
 37  
 import org.kuali.student.r2.common.exceptions.DoesNotExistException;
 38  
 import org.kuali.student.r2.common.exceptions.InvalidParameterException;
 39  
 import org.kuali.student.r2.common.exceptions.MissingParameterException;
 40  
 import org.kuali.student.r2.common.exceptions.OperationFailedException;
 41  
 import org.kuali.student.r2.common.exceptions.PermissionDeniedException;
 42  
 import org.kuali.student.r2.common.exceptions.ReadOnlyException;
 43  
 import org.kuali.student.r2.common.exceptions.VersionMismatchException;
 44  
 
 45  
 import org.kuali.student.r2.common.util.constants.LprRosterServiceConstants;
 46  
 
 47  
 /**
 48  
  * The LprRoster service maintains ordered collections of Lprs for
 49  
  * various applications such as waitlists and grading sheets.
 50  
  */
 51  
 
 52  
 @WebService(name = "LprRosterService", serviceName = "LprRosterService", portName = "LprRosterService", targetNamespace = LprRosterServiceConstants.NAMESPACE)
 53  
 @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
 54  
 
 55  
 public interface LprRosterService {
 56  
 
 57  
     /**
 58  
      * Retrieves a single LprRoster by an LprRoster Id.
 59  
      *
 60  
      * @param lprRosterId the identifier for the LprRoster to be retrieved
 61  
      * @param contextInfo information containing the principalId and
 62  
      *        locale information about the caller of the service
 63  
      *        operation
 64  
      * @return the LprRoster requested
 65  
      * @throws DoesNotExistException lprRosterId is not found
 66  
      * @throws InvalidParameterException contextInfo is not valid
 67  
      * @throws MissingParameterException lprRosterId or contextInfo is
 68  
      *         missing or null
 69  
      * @throws OperationFailedException unable to complete request
 70  
      * @throws PermissionDeniedException an authorization failure occurred
 71  
      */
 72  
     public LprRosterInfo getLprRoster(@WebParam(name = "lprRosterId") String lprRosterId,
 73  
                                       @WebParam(name = "contextInfo") ContextInfo contextInfo)
 74  
         throws DoesNotExistException, 
 75  
                InvalidParameterException,
 76  
                MissingParameterException, 
 77  
                OperationFailedException, 
 78  
                PermissionDeniedException;
 79  
 
 80  
     /**
 81  
      * Retrieve a list of LprRosters from a list of LprRoster Ids. The
 82  
      * returned list may be in any order and if duplicate Ids are
 83  
      * supplied, a unique set may or may not ber returned.
 84  
      *
 85  
      * @param lprRosterIds a list of LprRoster identifiers
 86  
      * @param contextInfo information containing the principalId and
 87  
      *        locale information about the caller of the service
 88  
      *        operation
 89  
      * @return a list of LprRosters
 90  
      * @throws DoesNotExistException a lprRosterId in the list was not found
 91  
      * @throws InvalidParameterException contextInfo is not valid
 92  
      * @throws MissingParameterException lprRosterIds, an Id in
 93  
      *         lprRosterIds, or contextInfo is missing or null
 94  
      * @throws OperationFailedException unable to complete request
 95  
      * @throws PermissionDeniedException an authorization failure occurred
 96  
      */
 97  
     public List<LprRosterInfo> getLprRostersByIds(@WebParam(name = "lprRosterIds") List<String> lprRosterIds,
 98  
                                                   @WebParam(name = "contextInfo") ContextInfo contextInfo)
 99  
         throws DoesNotExistException, 
 100  
                InvalidParameterException,
 101  
                MissingParameterException, 
 102  
                OperationFailedException, 
 103  
                PermissionDeniedException;
 104  
 
 105  
     /**
 106  
      * Retrieve a list of LprRosterIds by LprRoster Type.
 107  
      *
 108  
      * @param lprRosterTypeKey an identifier for an LprRoster Type
 109  
      * @param contextInfo information containing the principalId and
 110  
      *        locale information about the caller of the service
 111  
      *        operation
 112  
      * @return a list of LprRosters identifiers matching
 113  
      *         lprRosterTypeKey or an empty list of none found
 114  
      * @throws InvalidParameterException contextInfo is not valid
 115  
      * @throws MissingParameterException lprRosterTypeKey
 116  
      *         or contextInfo is missing or null
 117  
      * @throws OperationFailedException unable to complete request
 118  
      * @throws PermissionDeniedException an authorization failure occurred
 119  
      */
 120  
     public List<String> getLprRosterIdsByType(@WebParam(name = "lprRosterTypeKey") String lprRosterTypeKey,
 121  
                                               @WebParam(name = "contextInfo") ContextInfo contextInfo)
 122  
         throws InvalidParameterException,
 123  
                MissingParameterException, 
 124  
                OperationFailedException, 
 125  
                PermissionDeniedException;
 126  
 
 127  
     /**
 128  
      * Gets a list of LprRosters associated with a given Lui. 
 129  
      *
 130  
      * @param luiId an identifier for a LUI
 131  
      * @param contextInfo information containing the principalId and
 132  
      *        locale information about the caller of the service
 133  
      *        operation
 134  
      * @return list of LprRosters associated with the given Lui or
 135  
      *         an empty list if none found 
 136  
      * @throws InvalidParameterException contextInfo is not valid
 137  
      * @throws MissingParameterException luiId
 138  
      *         or contextInfo is missing or null
 139  
      * @throws OperationFailedException unable to complete request
 140  
      * @throws PermissionDeniedException an authorization failure occurred
 141  
      */
 142  
     public List<LprRosterInfo> getLprRostersByLui(@WebParam(name = "luiId") String luiId,
 143  
                                                   @WebParam(name = "contextInfo") ContextInfo contextInfo)
 144  
         throws InvalidParameterException,
 145  
                MissingParameterException, 
 146  
                OperationFailedException, 
 147  
                PermissionDeniedException;
 148  
 
 149  
     /**
 150  
      * Gets a list of LprRosters associated with a given LprRoster
 151  
      * Type and Lui.
 152  
      *
 153  
      * @param lprRosterTypeKey an identifier for an LprRoster Type
 154  
      * @param luiId an identifier for a Lui
 155  
      * @param contextInfo information containing the principalId and
 156  
      *        locale information about the caller of the service
 157  
      *        operation
 158  
      * @return list of LprRosters of the given LprRoster Type and
 159  
      *         associated with the given Lui or an empty list if none
 160  
      *         found
 161  
      * @throws InvalidParameterException contextInfo is not valid
 162  
      * @throws MissingParameterException lprRosterTypeKey, luiId or
 163  
      *         contextInfo is missing or null
 164  
      * @throws OperationFailedException unable to complete request
 165  
      * @throws PermissionDeniedException an authorization failure occurred
 166  
      */
 167  
     public List<LprRosterInfo> getLprRostersByTypeAndLui(@WebParam(name = "lprRosterTypeKey") String lprRosterTypeKey,
 168  
                                                          @WebParam(name = "luiId") String luiId,
 169  
                                                          @WebParam(name = "contextInfo") ContextInfo contextInfo)
 170  
         throws InvalidParameterException,
 171  
                MissingParameterException, 
 172  
                OperationFailedException, 
 173  
                PermissionDeniedException;
 174  
 
 175  
     /**
 176  
      * Searches for LprRosters that meet the given search criteria.
 177  
      *
 178  
      * @param criteria the search criteria
 179  
      * @param contextInfo information containing the principalId and
 180  
      *        locale information about the caller of the service
 181  
      *        operation
 182  
      * @return a list of LprRoster identifiers matching the criteria
 183  
      * @throws InvalidParameterException criteria or contextInfo is
 184  
      *         not valid
 185  
      * @throws MissingParameterException criteria or or contextInfo is
 186  
      *         missing or null
 187  
      * @throws OperationFailedException unable to complete request
 188  
      * @throws PermissionDeniedException an authorization failure occurred
 189  
      */
 190  
     public List<String> searchForLprRosterIds(@WebParam(name = "criteria") QueryByCriteria criteria,
 191  
                                               @WebParam(name = "contextInfo") ContextInfo contextInfo)
 192  
         throws InvalidParameterException,
 193  
                MissingParameterException, 
 194  
                OperationFailedException, 
 195  
                PermissionDeniedException;
 196  
 
 197  
     /**
 198  
      * Searches for LprRosters that meet the given search criteria.
 199  
      *
 200  
      * @param criteria the search criteria
 201  
      * @param contextInfo information containing the principalId and
 202  
      *        locale information about the caller of the service
 203  
      *        operation
 204  
      * @return a list of LprRosters matching the criteria
 205  
      * @throws InvalidParameterException criteria or contextInfo is
 206  
      *         not valid
 207  
      * @throws MissingParameterException criteria or or contextInfo is
 208  
      *         missing or null
 209  
      * @throws OperationFailedException unable to complete request
 210  
      * @throws PermissionDeniedException an authorization failure occurred
 211  
      */
 212  
     public List<LprRosterInfo> searchForLprRosters(@WebParam(name = "criteria") QueryByCriteria criteria,
 213  
                                                    @WebParam(name = "contextInfo") ContextInfo contextInfo)
 214  
         throws InvalidParameterException,
 215  
                MissingParameterException, 
 216  
                OperationFailedException, 
 217  
                PermissionDeniedException;
 218  
 
 219  
     /**
 220  
      * Validates an LprRoster. Depending on the value of
 221  
      * validationType, this validation could be limited to tests on
 222  
      * just the current LprRoster and its directly contained
 223  
      * sub-objects or expanded to perform all tests related to this
 224  
      * LprRoster. If an identifier is present for the LprRoster
 225  
      * (and/or one of its contained sub-objects) and a record is found
 226  
      * for that identifier, the validation checks if the LprRoster can
 227  
      * be updated to the new values. If an identifier is not present
 228  
      * or a record does not exist, the validation checks if the
 229  
      * LprRoster with the given data can be created.
 230  
      *
 231  
      * @param validationTypeKey the identifier for the validation Type
 232  
      * @param lprRosterTypeKey the identifier for the LprRoster Type
 233  
      *        to be validated
 234  
      * @param lprRosterInfo the LprRoster to be validated
 235  
      * @param contextInfo information containing the principalId and
 236  
      *        locale information about the caller of the service
 237  
      *        operation
 238  
      * @return a list of validation results or an empty list if
 239  
      *         validation succeeded
 240  
      * @throws DoesNotExistException validationTypeKey or
 241  
      *         lprRosterTypeKey is not found
 242  
      * @throws InvalidParameterException lprRosterInfo or contextInfo
 243  
      *         is not valid
 244  
      * @throws MissingParameterException validationTypeKey,
 245  
      *         lprRosterTypeKey, lprRosterInfo, or contextInfo is
 246  
      *         missing or null
 247  
      * @throws OperationFailedException unable to complete request
 248  
      * @throws PermissionDeniedException an authorization failure occurred
 249  
      */
 250  
     public List<ValidationResultInfo> validateLprRoster(@WebParam(name = "validationTypeKey") String validationTypeKey,
 251  
                                                         @WebParam(name = "lprRosterTypeKey") String lprRosterTypeKey,
 252  
                                                         @WebParam(name = "lprRosterInfo") LprRosterInfo lprRosterInfo,
 253  
                                                         @WebParam(name = "contextInfo") ContextInfo contextInfo)
 254  
         throws DoesNotExistException,
 255  
                InvalidParameterException,
 256  
                MissingParameterException, 
 257  
                OperationFailedException, 
 258  
                PermissionDeniedException;
 259  
 
 260  
     /**
 261  
      * Creates a new LprRoster. The LprRoster Id, Type, and Meta
 262  
      * information may not be set in the supplied data object.
 263  
      *
 264  
      * @param lprRosterTypeKey the identifier for the Type of
 265  
      *        LprRoster to be created
 266  
      * @param lprRosterInfo the data with which to create the
 267  
      *        LprRoster
 268  
      * @param contextInfo information containing the principalId and
 269  
      *        locale information about the caller of the service
 270  
      *        operation
 271  
      * @return the new LprRoster
 272  
      * @throws DataValidationErrorException supplied data is invalid
 273  
      * @throws DoesNotExistException lprRosterTypeKey does not exist
 274  
      *         or is not supported
 275  
      * @throws InvalidParameterException lprRosterInfo or contextInfo
 276  
      *         is not valid
 277  
      * @throws MissingParameterException lprRosterTypeKey,
 278  
      *         lprRosterInfo, or contextInfo is missing or null
 279  
      * @throws OperationFailedException unable to complete request
 280  
      * @throws PermissionDeniedException an authorization failure occurred
 281  
      * @throws ReadOnlyException an attempt at supplying information
 282  
      *         designated as read only
 283  
      */
 284  
     public LprRosterInfo createLprRoster(@WebParam(name = "lprRosterTypeKey") String lprRosterTypeKey,
 285  
                                          @WebParam(name = "lprRosterInfo") LprRosterInfo lprRosterInfo,
 286  
                                          @WebParam(name = "contextInfo") ContextInfo contextInfo)
 287  
         throws DataValidationErrorException,
 288  
                DoesNotExistException,
 289  
                InvalidParameterException,
 290  
                MissingParameterException, 
 291  
                OperationFailedException, 
 292  
                PermissionDeniedException,
 293  
                ReadOnlyException;
 294  
 
 295  
     /**
 296  
      * Updates an existing LprRoster. The LprRoster Id, Type, and Meta
 297  
      * information may not be changed.
 298  
      *
 299  
      * @param lprRosterId the identifier for the LprRoster to be
 300  
      *        updated
 301  
      * @param lprRosterInfo the new data for the LprRoster
 302  
      * @param contextInfo information containing the principalId and
 303  
      *        locale information about the caller of the service
 304  
      *        operation
 305  
      * @return the updated LprRoster
 306  
      * @throws DataValidationErrorException supplied data is invalid
 307  
      * @throws DoesNotExistException lprRosterId is not found
 308  
      * @throws InvalidParameterException lprRosterInfo or contextInfo
 309  
      *         is not valid
 310  
      * @throws MissingParameterException lprRosterId, lprRosterInfo,
 311  
      *         or contextInfo is missing or null
 312  
      * @throws OperationFailedException unable to complete request
 313  
      * @throws PermissionDeniedException an authorization failure occurred
 314  
      * @throws ReadOnlyException an attempt at supplying information
 315  
      *         designated as read only
 316  
      * @throws VersionMismatchException an optimistic locking failure
 317  
      *         or the action was attempted on an out of date version
 318  
      */
 319  
     public LprRosterInfo updateLprRoster(@WebParam(name = "lprRosterId") String lprRosterId,
 320  
                                          @WebParam(name = "lprRosterInfo") LprRosterInfo lprRosterInfo,
 321  
                                          @WebParam(name = "contextInfo") ContextInfo contextInfo)
 322  
         throws DataValidationErrorException,
 323  
                DoesNotExistException,
 324  
                InvalidParameterException,
 325  
                MissingParameterException, 
 326  
                OperationFailedException, 
 327  
                PermissionDeniedException,
 328  
                ReadOnlyException,
 329  
                VersionMismatchException;                          
 330  
 
 331  
     /**
 332  
      * Deletes an existing LprRoster.
 333  
      *
 334  
      * @param lprRosterId the identifier for the LprRoster to be deleted
 335  
      * @param contextInfo information containing the principalId and
 336  
      *        locale information about the caller of the service
 337  
      *        operation
 338  
      * @return the status of the delete operation. This must always be
 339  
      *         true.
 340  
      * @throws DoesNotExistException lprRosterId is not found
 341  
      * @throws InvalidParameterException contextInfo is not valid
 342  
      * @throws MissingParameterException lprRosterId or contextInfo is
 343  
      *         missing or null
 344  
      * @throws OperationFailedException unable to complete request
 345  
      * @throws PermissionDeniedException authorization failure
 346  
      */
 347  
     public StatusInfo deleteLprRoster(@WebParam(name = "lprRosterId") String lprRosterId,
 348  
                                       @WebParam(name = "contextInfo") ContextInfo contextInfo) 
 349  
         throws DoesNotExistException, 
 350  
                InvalidParameterException,
 351  
                MissingParameterException, 
 352  
                OperationFailedException, 
 353  
                PermissionDeniedException;
 354  
 
 355  
     /**
 356  
      * Retrieves a single LprRosterEntry by an LprRosterEntry Id.
 357  
      *
 358  
      * @param lprRosterEntryId the identifier for the LprRosterEntry to be retrieved
 359  
      * @param contextInfo information containing the principalId and
 360  
      *        locale information about the caller of the service
 361  
      *        operation
 362  
      * @return the LprRosterEntry requested
 363  
      * @throws DoesNotExistException lprRosterEntryId is not found
 364  
      * @throws InvalidParameterException contextInfo is not valid
 365  
      * @throws MissingParameterException lprRosterEntryId or
 366  
      *         contextInfo is missing or null
 367  
      * @throws OperationFailedException unable to complete request
 368  
      * @throws PermissionDeniedException an authorization failure occurred
 369  
      */
 370  
     public LprRosterEntryInfo getLprRosterEntry(@WebParam(name = "lprRosterEntryId") String lprRosterEntryId,
 371  
                                                 @WebParam(name = "contextInfo") ContextInfo contextInfo)
 372  
         throws DoesNotExistException, 
 373  
                InvalidParameterException,
 374  
                MissingParameterException, 
 375  
                OperationFailedException, 
 376  
                PermissionDeniedException;
 377  
 
 378  
     /**
 379  
      * Retrieve a list of LprRosterEntriess from a list of
 380  
      * LprRosterEntry Ids. The returned list may be in any order and
 381  
      * if duplicate Ids are supplied, a unique set may or may not ber
 382  
      * returned.
 383  
      *
 384  
      * @param lprRosterEntryIds a list of LprRosterEntry identifiers
 385  
      * @param contextInfo information containing the principalId and
 386  
      *        locale information about the caller of the service
 387  
      *        operation
 388  
      * @return a list of LprRosterEntries
 389  
      * @throws DoesNotExistException a lprRosterEntryId in the list
 390  
      *         was not found
 391  
      * @throws InvalidParameterException contextInfo is not valid
 392  
      * @throws MissingParameterException lprRosterEntryIds, an Id in
 393  
      *         lprRosterIds, or contextInfo is missing or null
 394  
      * @throws OperationFailedException unable to complete request
 395  
      * @throws PermissionDeniedException an authorization failure occurred
 396  
      */
 397  
     public List<LprRosterEntryInfo> getLprRosterEntriesByIds(@WebParam(name = "lprRosterEntryIds") List<String> lprRosterEntryIds,
 398  
                                                              @WebParam(name = "contextInfo") ContextInfo contextInfo)
 399  
         throws DoesNotExistException, 
 400  
                InvalidParameterException,
 401  
                MissingParameterException, 
 402  
                OperationFailedException, 
 403  
                PermissionDeniedException;
 404  
 
 405  
     /**
 406  
      * Retrieve a list of LprRosterENtryIds by LprRosterEntry Type.
 407  
      *
 408  
      * @param lprRosterEntryTypeKey an identifier for an
 409  
      *        LprRosterEntry Type
 410  
      * @param contextInfo information containing the principalId and
 411  
      *        locale information about the caller of the service
 412  
      *        operation
 413  
      * @return a list of LprRosterEntries identifiers matching
 414  
      *         lprRosterEntryTypeKey or an empty list of none found
 415  
      * @throws InvalidParameterException contextInfo is not valid
 416  
      * @throws MissingParameterException lprRosterEntryTypeKey
 417  
      *         or contextInfo is missing or null
 418  
      * @throws OperationFailedException unable to complete request
 419  
      * @throws PermissionDeniedException an authorization failure occurred
 420  
      */
 421  
     public List<String> getLprRosterEntryIdsByType(@WebParam(name = "lprRosterEntryTypeKey") String lprRosterEntryTypeKey,
 422  
                                                    @WebParam(name = "contextInfo") ContextInfo contextInfo)
 423  
         throws InvalidParameterException,
 424  
                MissingParameterException, 
 425  
                OperationFailedException, 
 426  
                PermissionDeniedException;
 427  
 
 428  
     /**
 429  
      * This method returns all the LprRosterEntries for an LprRoster.
 430  
      *
 431  
      * @param lprRosterId an identifier for an LprRoster
 432  
      * @param contextInfo information containing the principalId and
 433  
      *        locale information about the caller of the service
 434  
      *        operation
 435  
      * @return a list of LprRosterEntries identifiers for the given
 436  
      *         LprRoster or an empty list of none found
 437  
      * @throws InvalidParameterException contextInfo is not valid
 438  
      * @throws MissingParameterException lprRosterId or contextInfo is
 439  
      *         missing or null
 440  
      * @throws OperationFailedException unable to complete request
 441  
      * @throws PermissionDeniedException an authorization failure occurred
 442  
      */
 443  
     public List<LprRosterEntryInfo> getLprRosterEntriesByLprRoster(@WebParam(name = "lprRosterId") String lprRosterId,
 444  
                                                                    @WebParam(name = "contextInfo") ContextInfo contextInfo)
 445  
         throws InvalidParameterException, 
 446  
                MissingParameterException, 
 447  
                OperationFailedException,
 448  
                PermissionDeniedException;
 449  
 
 450  
     /**
 451  
      * This method returns all the LprRosterEntries for an LPR.
 452  
      *
 453  
      * @param lprId an identifier for an Lpr
 454  
      * @param contextInfo information containing the principalId and
 455  
      *        locale information about the caller of the service
 456  
      *        operation
 457  
      * @return a list of LprRosterEntries identifiers for the given
 458  
      *         Lpr or an empty list of none found
 459  
      * @throws InvalidParameterException contextInfo is not valid
 460  
      * @throws MissingParameterException lprId or contextInfo is
 461  
      *         missing or null
 462  
      * @throws OperationFailedException unable to complete request
 463  
      * @throws PermissionDeniedException an authorization failure occurred
 464  
      */
 465  
     public List<LprRosterEntryInfo> getLprRosterEntriesByLpr(@WebParam(name = "lprId") String lprId,
 466  
                                                              @WebParam(name = "contextInfo") ContextInfo contextInfo)
 467  
         throws InvalidParameterException, 
 468  
                MissingParameterException, 
 469  
                OperationFailedException,
 470  
                PermissionDeniedException;
 471  
 
 472  
     /**
 473  
      * This method returns all the LprRosterEntries to the given
 474  
      * LprRoster and Lpr.
 475  
      *
 476  
      * @param lprRosterId an identifier for an LprRoster
 477  
      * @param lprId an identifier for an Lpr
 478  
      * @param contextInfo information containing the principalId and
 479  
      *        locale information about the caller of the service
 480  
      *        operation
 481  
      * @return a list of LprRosterEntries identifiers for the given
 482  
      *         LprRoster and Lpr or an empty list of none found
 483  
      * @throws InvalidParameterException contextInfo is not valid
 484  
      * @throws MissingParameterException lprRosterId, lprId, or
 485  
      *         contextInfo is missing or null
 486  
      * @throws OperationFailedException unable to complete request
 487  
      * @throws PermissionDeniedException an authorization failure occurred
 488  
      */
 489  
     public List<LprRosterEntryInfo> getLprRosterEntriesByLprRosterAndLpr(@WebParam(name = "lprRosterId") String lprRosterId,
 490  
                                                                           @WebParam(name = "lprId") String lprId,
 491  
                                                                           @WebParam(name = "contextInfo") ContextInfo contextInfo)
 492  
         throws InvalidParameterException, 
 493  
                MissingParameterException, 
 494  
                OperationFailedException,
 495  
                PermissionDeniedException;
 496  
 
 497  
     /**
 498  
      * Searches for LprRosterEntries that meet the given search
 499  
      * criteria.
 500  
      *
 501  
      * @param criteria the search criteria
 502  
      * @param contextInfo information containing the principalId and
 503  
      *        locale information about the caller of the service
 504  
      *        operation
 505  
      * @return a list of LprRosterEntry identifiers matching the
 506  
      *         criteria
 507  
      * @throws InvalidParameterException criteria or contextInfo is
 508  
      *         not valid
 509  
      * @throws MissingParameterException criteria or or contextInfo is
 510  
      *         missing or null
 511  
      * @throws OperationFailedException unable to complete request
 512  
      * @throws PermissionDeniedException an authorization failure occurred
 513  
      */
 514  
     public List<String> searchForLprRosterEntryIds(@WebParam(name = "criteria") QueryByCriteria criteria,
 515  
                                                    @WebParam(name = "contextInfo") ContextInfo contextInfo)
 516  
         throws InvalidParameterException,
 517  
                MissingParameterException, 
 518  
                OperationFailedException, 
 519  
                PermissionDeniedException;
 520  
 
 521  
     /**
 522  
      * Searches for LprRosterEntris that meet the given search
 523  
      * criteria.
 524  
      *
 525  
      * @param criteria the search criteria
 526  
      * @param contextInfo information containing the principalId and
 527  
      *        locale information about the caller of the service
 528  
      *        operation
 529  
      * @return a list of LprRosterEntries matching the criteria
 530  
      * @throws InvalidParameterException criteria or contextInfo is
 531  
      *         not valid
 532  
      * @throws MissingParameterException criteria or or contextInfo is
 533  
      *         missing or null
 534  
      * @throws OperationFailedException unable to complete request
 535  
      * @throws PermissionDeniedException an authorization failure occurred
 536  
      */
 537  
     public List<LprRosterEntryInfo> searchForLprRosterEntries(@WebParam(name = "criteria") QueryByCriteria criteria,
 538  
                                                               @WebParam(name = "contextInfo") ContextInfo contextInfo)
 539  
         throws InvalidParameterException,
 540  
                MissingParameterException, 
 541  
                OperationFailedException, 
 542  
                PermissionDeniedException;
 543  
 
 544  
     /**
 545  
      * Validates an LprRosterEntry. Depending on the value of
 546  
      * validationType, this validation could be limited to tests on
 547  
      * just the current LprRosterEntry and its directly contained
 548  
      * sub-objects or expanded to perform all tests related to this
 549  
      * LprRosterEntry. If an identifier is present for the
 550  
      * LprRosterEntry (and/or one of its contained sub-objects) and a
 551  
      * record is found for that identifier, the validation checks if
 552  
      * the LprRosterEntry can be updated to the new values. If an
 553  
      * identifier is not present or a record does not exist, the
 554  
      * validation checks if the LprRosterEntry with the given data can
 555  
      * be created.
 556  
      *
 557  
      * @param validationTypeKey the identifier for the validation Type
 558  
      * @param lprRosterId the LprRoster of the LprRosterEntry
 559  
      * @param lprId the Lpr of the LprRosterEntry
 560  
      * @param lprRosterEntryTypeKey the identifier for the
 561  
      *        LprRosterEntry Type to be validated
 562  
      * @param lprRosterEntryInfo the LprRosterEntry to be validated
 563  
      * @param contextInfo information containing the principalId and
 564  
      *        locale information about the caller of the service
 565  
      *        operation
 566  
      * @return a list of validation results or an empty list if
 567  
      *         validation succeeded
 568  
      * @throws DoesNotExistException validationTypeKey, lprRosterId,
 569  
      *         or lprId, or lprRosterEntryTypeKey is not found
 570  
      * @throws InvalidParameterException lprRosterEntryInfo or contextInfo
 571  
      *         is not valid
 572  
      * @throws MissingParameterException validationTypeKey,
 573  
      *         lprRosterId, lprId, lprRosterTypeKey, lprRosterInfo, or
 574  
      *         contextInfo is missing or null
 575  
      * @throws OperationFailedException unable to complete request
 576  
      * @throws PermissionDeniedException an authorization failure occurred
 577  
      */
 578  
     public List<ValidationResultInfo> validateLprRosterEntry(@WebParam(name = "validationTypeKey") String validationTypeKey,
 579  
                                                         @WebParam(name = "lprRosterId") String lprRosterId,
 580  
                                                         @WebParam(name = "lprId") String lprId,
 581  
                                                         @WebParam(name = "lprRosterTypeKey") String lprRosterTypeKey,
 582  
                                                         @WebParam(name = "lprRosterInfo") LprRosterInfo lprRosterInfo,
 583  
                                                         @WebParam(name = "contextInfo") ContextInfo contextInfo)
 584  
         throws DoesNotExistException,
 585  
                InvalidParameterException,
 586  
                MissingParameterException, 
 587  
                OperationFailedException, 
 588  
                PermissionDeniedException;
 589  
 
 590  
     /**
 591  
      * Creates a new LprRosterEntry. The LprRosterEntry Id,
 592  
      * LprRosterId, Lpr Id, Type, and Meta information may not be set
 593  
      * in the supplied data object.
 594  
      *
 595  
      * @param lprRosterId the LprRoster of the LprRosterEntry
 596  
      * @param lprId the Lpr of the LprRosterEntry
 597  
      * @param lprRosterEntryTypeKey the identifier for the Type of
 598  
      *        LprRosterEntry to be created
 599  
      * @param lprRosterInfo the data with which to create the
 600  
      *        LprRoster
 601  
      * @param contextInfo information containing the principalId and
 602  
      *        locale information about the caller of the service
 603  
      *        operation
 604  
      * @return the new LprRosterEntry
 605  
      * @throws DataValidationErrorException supplied data is invalid
 606  
      * @throws DoesNotExistException lprRosterId, lprId, or
 607  
      *         lprRosterEntryTypeKey does not exist or is not
 608  
      *         supported
 609  
      * @throws InvalidParameterException lprRosterEntryInfo or contextInfo
 610  
      *         is not valid
 611  
      * @throws MissingParameterException lprRosterId, lprId,
 612  
      *         lprRosterEntryTypeKey, lprRosterInfo, or contextInfo is
 613  
      *         missing or null
 614  
      * @throws OperationFailedException unable to complete request
 615  
      * @throws PermissionDeniedException an authorization failure occurred
 616  
      * @throws ReadOnlyException an attempt at supplying information
 617  
      *         designated as read only
 618  
      */
 619  
     public LprRosterEntryInfo createLprRosterEntry(@WebParam(name = "lprRosterId") String lprRosterId,
 620  
                                                    @WebParam(name = "lprId") String lprId,
 621  
                                                    @WebParam(name = "lprRosterEntryTypeKey") String lprRosterEntryTypeKey,
 622  
                                                    @WebParam(name = "lprRosterEntryInfo") LprRosterEntryInfo lprRosterEntryInfo,
 623  
                                                    @WebParam(name = "contextInfo") ContextInfo contextInfo)
 624  
         throws DataValidationErrorException,
 625  
                DoesNotExistException,
 626  
                InvalidParameterException,
 627  
                MissingParameterException, 
 628  
                OperationFailedException, 
 629  
                PermissionDeniedException,
 630  
                ReadOnlyException;
 631  
  
 632  
     /**
 633  
      * Updates an existing LprRosterEntry. The LprRosterEntry Id,
 634  
      * Type, and Meta information may not be changed.
 635  
      *
 636  
      * @param lprRosterEntryId the identifier for the LprRosterEntry to
 637  
      *        be updated
 638  
      * @param lprRosterEntryInfo the new data for the LprRosterEntry
 639  
      * @param contextInfo information containing the principalId and
 640  
      *        locale information about the caller of the service
 641  
      *        operation
 642  
      * @return the updated LprRosterEntry
 643  
      * @throws DataValidationErrorException supplied data is invalid
 644  
      * @throws DoesNotExistException lprRosterEntryId is not found
 645  
      * @throws InvalidParameterException lprRosterEntryInfo or
 646  
      *         contextInfo is not valid
 647  
      * @throws MissingParameterException lprRosterEntryId,
 648  
      *         lprRosterEntryInfo, or contextInfo is missing or null
 649  
      * @throws OperationFailedException unable to complete request
 650  
      * @throws PermissionDeniedException an authorization failure occurred
 651  
      * @throws ReadOnlyException an attempt at supplying information
 652  
      *         designated as read only
 653  
      * @throws VersionMismatchException an optimistic locking failure
 654  
      *         or the action was attempted on an out of date version
 655  
      */
 656  
     public LprRosterEntryInfo updateLprRosterEntry(@WebParam(name = "lprRosterEntryId") String lprRosterEntryId,
 657  
                                                    @WebParam(name = "lprRosterEntryInfo") LprRosterEntryInfo lprRosterEntryInfo,
 658  
                                                    @WebParam(name = "contextInfo") ContextInfo contextInfo)
 659  
         throws DataValidationErrorException,
 660  
                DoesNotExistException,
 661  
                InvalidParameterException,
 662  
                MissingParameterException, 
 663  
                OperationFailedException, 
 664  
                PermissionDeniedException,
 665  
                ReadOnlyException,
 666  
                VersionMismatchException;                          
 667  
 
 668  
     /**
 669  
      * Deletes an existing LprRosterEntry.
 670  
      *
 671  
      * @param lprRosterEntryId the identifier for the LprRosterEntry
 672  
      *        to be deleted
 673  
      * @param contextInfo information containing the principalId and
 674  
      *        locale information about the caller of the service
 675  
      *        operation
 676  
      * @return the status of the delete operation. This must always be
 677  
      *         true.
 678  
      * @throws DoesNotExistException lprRosterEntryId is not found
 679  
      * @throws InvalidParameterException contextInfo is not valid
 680  
      * @throws MissingParameterException lprRosterEntryId or
 681  
      *         contextInfo is missing or null
 682  
      * @throws OperationFailedException unable to complete request
 683  
      * @throws PermissionDeniedException authorization failure
 684  
      */
 685  
     public StatusInfo deleteLprRosterEntry(@WebParam(name = "lprRosterEntryId") String lprRosterEntryId,
 686  
                                            @WebParam(name = "contextInfo") ContextInfo contextInfo) 
 687  
         throws DoesNotExistException, 
 688  
                InvalidParameterException,
 689  
                MissingParameterException, 
 690  
                OperationFailedException, 
 691  
                PermissionDeniedException;
 692  
 
 693  
     /**
 694  
      * Inserts an existing roster entry at a particular position on
 695  
      * the roster.
 696  
      * 
 697  
      * If another roster entry already exists at that particular
 698  
      * position within the roster then this method "bumps down" the
 699  
      * rest of the roster entries until there is an open position.
 700  
      * 
 701  
      * @param lprRosterEntryId
 702  
      * @param position the absolute position in the LprRoster
 703  
      * @param contextInfo information containing the principalId and
 704  
      *        locale information about the caller of the service
 705  
      *        operation
 706  
      * @throws DoesNotExistException lprRosterEntryId is not found
 707  
      * @throws InvalidParameterException contextInfo is not valid
 708  
      * @throws MissingParameterException lprRosterEntryId or
 709  
      *         contextInfo is missing or null
 710  
      * @throws OperationFailedException unable to complete request
 711  
      * @throws PermissionDeniedException an authorization failure occurred
 712  
      */
 713  
     public StatusInfo moveLprRosterEntryToPosition(@WebParam(name = "lprRosterEntryId") String lprRosterEntryId,
 714  
                                                    @WebParam(name = "position") Integer position,
 715  
                                                    @WebParam(name = "contextInfo") ContextInfo contextInfo)
 716  
         throws DoesNotExistException, 
 717  
                InvalidParameterException,
 718  
                MissingParameterException, 
 719  
                OperationFailedException, 
 720  
                PermissionDeniedException;
 721  
 
 722  
     /**
 723  
      * Reorders all the LprRosterEntries setting their position to
 724  
      * match the order within the specified list of LprRosterEntry
 725  
      * Ids.
 726  
      * 
 727  
      * This is a bulk method to reset the positions all of the entries
 728  
      * in the LprRoster.
 729  
      * 
 730  
      * Any entries in the LprRoster that arenot specified in the
 731  
      * supplied list are ordered by their existing position and placed
 732  
      * at the end of the LprRosterEntries in the specified list.
 733  
      *
 734  
      * @param lprRosterIds the LprRoster to reorder.  All supplied
 735  
      *        LprRosterEntryIds must belong to the given LprRoster.
 736  
      * @param lprRosterEntryIds an ordered list of LprRosterEntries
 737  
      * @param contextInfo information containing the principalId and
 738  
      *        locale information about the caller of the service
 739  
      *        operation
 740  
      * @throws DoesNotExistException an lprRosterEntryId in the list
 741  
      *         is not found
 742  
      * @throws InvalidParameterException contextInfo is not valid
 743  
      * @throws MissingParameterException lprRosterEntryIds, an Id in
 744  
      *         lprRosterEntryIds, or conetxtInfo is missing or null
 745  
      * @throws OperationFailedException unable to complete request
 746  
      * @throws PermissionDeniedException an authorization failure occurred
 747  
      */
 748  
     public StatusInfo reorderLprRosterEntries(@WebParam(name = "lprRosterIds") String lprRosterId,
 749  
                                               @WebParam(name = "lprRosterEntryIds") List<String> lprRosterEntryIds,
 750  
                                               @WebParam(name = "context") ContextInfo contextInfo) 
 751  
         throws DoesNotExistException, 
 752  
                InvalidParameterException,
 753  
                MissingParameterException, 
 754  
                OperationFailedException, 
 755  
                PermissionDeniedException;
 756  
 }