View Javadoc

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