ComponentService

Name Component
Version
Included Services  
Java Package org.kuali.rice.coreservice.api.component

Defines the contract for a service which can be used to interact with the Rice core component store.

Operations
Main Message Structures

Method getComponentByCode
Description This will return a {@link org.kuali.rice.coreservice.api.component.Component} with the given namespaceCode and
componentCode
Parameters String namespaceCode the namespaceCode of the component
String componentCode the componentCode of the component
Return Component the component with the given namespaceCode and componentCode
Errors RiceIllegalArgumentException if the namespaceCode or componentCode is null or blank

Back to Operations

Method getAllComponentsByNamespaceCode
Description This will return a list of all {@link org.kuali.rice.coreservice.api.component.Component} with the
given namespaceCode
Parameters String namespaceCode the namespaceCode of the component
Return ComponentList a list of components with the given namespaceCode
Errors RiceIllegalArgumentException if the namespaceCode is null or blank

Back to Operations

Method getActiveComponentsByNamespaceCode
Description This will return a list of active {@link org.kuali.rice.coreservice.api.component.Component} with the
given namespaceCode
Parameters String namespaceCode the namespaceCode of the component
Return ComponentList a list of active components with the given namespaceCode
Errors RiceIllegalArgumentException if the namespaceCode is null or blank

Back to Operations

Method getDerivedComponentSet
Description This will return a list of derived {@link org.kuali.rice.coreservice.api.component.Component} with the
given componentSetId
Parameters String componentSetId the componentSetId of the component
Return ComponentList a list of components with the given componentSetId
Errors RiceIllegalArgumentException if the componentSetId is null or blank

Back to Operations

Method publishDerivedComponents
Description Publishes the given set of derived components to make them available to the component system. It should only
ever be necessary to invoke this service whenever published components for an application change. However, it is
always safe to invoke this method even if the client cannot make this determination as the implementation of this
service should be responsible for handling the given information and ignoring it if no publication needs to
occur. To this end, this method should be idempotent.

When invoked, the set of components known to the component system for the given component set id will be
replaced with the given list. Any previously published components for the component set id which are not
contained within the given list will be deleted.



The {@code componentSetId} should be an identifier generated by the client application which uniquely
identifies the component set being published (either newly published or updated). A simple value to use would
be the {@code applicationId} of the client application but this would mean an application could only ever publish
a single custom component set. So the {@code applicationId} could also be combined with some additional
information on the source of the components being published if a particular application needs to publish custom
components from multiple sources.



The {@code componentSetId} on each of the components supplied in the list must either be null or equal to the
component set id that is passed to this method, otherwise a {@code RiceIllegalArgumentException} will be thrown.

Parameters String componentSetId an id that uniquely identifies this set of components being checked. The service will use
this to track the components being published
ComponentList components the components to publish, may be empty or null, in which case all published components for the
given component set id will be deleted from the component system if any exist
Return void ???
Errors RiceIllegalArgumentException if componentSetId is a null or blank value

Back to Operations