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