Class KrmsTypeServiceBase
- All Implemented Interfaces:
org.kuali.rice.krms.framework.type.RemotableAttributeOwner
- Direct Known Subclasses:
ActionTypeServiceBase,AgendaTypeServiceBase,PeopleFlowActionTypeService,RuleTypeServiceBase,ValidationActionTypeServiceImpl,ValidationRuleTypeServiceImpl
KrmsTypeServiceBase is an abstract class providing default implementation and hooks for
provisioning and validating the custom attributes of a krms type. Is should probably be mentioned that the
default validation methods don't actually check anything, they just return empty error lists.-
Nested Class Summary
Nested classes/interfaces inherited from class org.kuali.rice.krad.datadictionary.validation.AttributeValidatingTypeServiceBase
org.kuali.rice.krad.datadictionary.validation.AttributeValidatingTypeServiceBase.TypeAttributeDefinition, org.kuali.rice.krad.datadictionary.validation.AttributeValidatingTypeServiceBase.TypeAttributeValidationException -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionList<org.kuali.rice.core.api.uif.RemotableAttributeField> getAttributeFields(String krmsTypeId) get theRemotableAttributeFields for the custom attributes of this krms type.org.kuali.rice.krad.service.DataDictionaryRemoteFieldServiceprotected List<org.kuali.rice.krad.datadictionary.validation.AttributeValidatingTypeServiceBase.TypeAttributeDefinition> getTypeAttributeDefinitions(String krmsTypeId) Gets an ordered List ofAttributeValidatingTypeServiceBase.TypeAttributeDefinitions for the attributes on the KRMS type specified by the given krmsTypeId.protected voidsortFields(List<org.kuali.rice.krad.datadictionary.validation.AttributeValidatingTypeServiceBase.TypeAttributeDefinition> results, Map<String, Integer> sortCodeMap) org.kuali.rice.core.api.uif.RemotableAttributeFieldtranslateTypeAttribute(org.kuali.rice.krms.api.repository.type.KrmsTypeAttribute inputAttribute, org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinition attributeDefinition) Translate aKrmsTypeAttributeinto aRemotableAttributeField.List<org.kuali.rice.core.api.uif.RemotableAttributeError> validateAttributes(String krmsTypeId, Map<String, String> attributes) List<org.kuali.rice.core.api.uif.RemotableAttributeError> validateAttributesAgainstExisting(String krmsTypeId, Map<String, String> newAttributes, Map<String, String> oldAttributes) protected List<org.kuali.rice.core.api.uif.RemotableAttributeError> validateNonDataDictionaryAttribute(org.kuali.rice.core.api.uif.RemotableAttributeField attr, String key, String value) Methods inherited from class org.kuali.rice.krad.datadictionary.validation.AttributeValidatingTypeServiceBase
createErrorString, extractErrorsFromGlobalVariablesErrorMap, getAttributeErrorLabel, getAttributeFormatter, getAttributeValidatingExpression, getConfigurationService, getDataDictionaryService, getDictionaryValidationService, validateAttributeFormat, validateAttributeRequired, validateDataDictionaryAttribute, validatePrimitiveAttributeFromDescriptor, validateReferencesExistAndActive
-
Constructor Details
-
KrmsTypeServiceBase
public KrmsTypeServiceBase()
-
-
Method Details
-
getAttributeFields
public List<org.kuali.rice.core.api.uif.RemotableAttributeField> getAttributeFields(String krmsTypeId) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException get the
RemotableAttributeFields for the custom attributes of this krms type. This implementation will (by default) return any attributes mapped to the type viaKrmsTypeAttributeBo. If there is is a component name defined on the relatedKrmsAttributeDefinitionBothen that will be used to generate theRemotableAttributeField. If not, then a simple text input will be produced.An extending class can also override the
translateTypeAttribute(org.kuali.rice.krms.api.repository.type.KrmsTypeAttribute, org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinition)method which is called from here, and within it hand create the RemotableAttributeField for a certain attribute.Also handy for extenders to know, this method delegates to
getTypeAttributeDefinitions(String)and then pulls out theRemotableAttributeFields from the returnedAttributeValidatingTypeServiceBase.TypeAttributeDefinitions- Specified by:
getAttributeFieldsin interfaceorg.kuali.rice.krms.framework.type.RemotableAttributeOwner- Parameters:
krmsTypeId- the people flow type identifier. Must not be null or blank.- Returns:
- Throws:
org.kuali.rice.core.api.exception.RiceIllegalArgumentException
-
getTypeAttributeDefinitions
protected List<org.kuali.rice.krad.datadictionary.validation.AttributeValidatingTypeServiceBase.TypeAttributeDefinition> getTypeAttributeDefinitions(String krmsTypeId) Gets an ordered List ofAttributeValidatingTypeServiceBase.TypeAttributeDefinitions for the attributes on the KRMS type specified by the given krmsTypeId.- Specified by:
getTypeAttributeDefinitionsin classorg.kuali.rice.krad.datadictionary.validation.AttributeValidatingTypeServiceBase- Parameters:
krmsTypeId- the ID of the KRMS Type whose attributes we are getting.- Returns:
- a List of type-agnostic
AttributeValidatingTypeServiceBase.TypeAttributeDefinitions - See Also:
-
sortFields
-
validateAttributes
public List<org.kuali.rice.core.api.uif.RemotableAttributeError> validateAttributes(String krmsTypeId, Map<String, String> attributes) throws org.kuali.rice.core.api.exception.RiceIllegalArgumentException- Specified by:
validateAttributesin interfaceorg.kuali.rice.krms.framework.type.RemotableAttributeOwner- Overrides:
validateAttributesin classorg.kuali.rice.krad.datadictionary.validation.AttributeValidatingTypeServiceBase- Throws:
org.kuali.rice.core.api.exception.RiceIllegalArgumentException
-
validateAttributesAgainstExisting
public List<org.kuali.rice.core.api.uif.RemotableAttributeError> validateAttributesAgainstExisting(String krmsTypeId, Map<String, String> newAttributes, Map<String, throws org.kuali.rice.core.api.exception.RiceIllegalArgumentExceptionString> oldAttributes) - Specified by:
validateAttributesAgainstExistingin interfaceorg.kuali.rice.krms.framework.type.RemotableAttributeOwner- Throws:
org.kuali.rice.core.api.exception.RiceIllegalArgumentException
-
translateTypeAttribute
public org.kuali.rice.core.api.uif.RemotableAttributeField translateTypeAttribute(org.kuali.rice.krms.api.repository.type.KrmsTypeAttribute inputAttribute, org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinition attributeDefinition) Translate aKrmsTypeAttributeinto aRemotableAttributeField. Override this method to provide custom translation of certain attributes.- Parameters:
inputAttribute- theKrmsTypeAttributeto translateattributeDefinition- theKrmsAttributeDefinitionfor the given inputAttribute- Returns:
- a
RemotableAttributeFieldfor the given inputAttribute
-
getDataDictionaryRemoteFieldService
public org.kuali.rice.krad.service.DataDictionaryRemoteFieldService getDataDictionaryRemoteFieldService()- Overrides:
getDataDictionaryRemoteFieldServicein classorg.kuali.rice.krad.datadictionary.validation.AttributeValidatingTypeServiceBase
-
validateNonDataDictionaryAttribute
protected List<org.kuali.rice.core.api.uif.RemotableAttributeError> validateNonDataDictionaryAttribute(org.kuali.rice.core.api.uif.RemotableAttributeField attr, String key, String value) - Specified by:
validateNonDataDictionaryAttributein classorg.kuali.rice.krad.datadictionary.validation.AttributeValidatingTypeServiceBase
-