Interface KrmsAttributeDefinitionService
- All Known Implementing Classes:
KrmsAttributeDefinitionServiceImpl
public interface KrmsAttributeDefinitionService
-
Method Summary
Modifier and TypeMethodDescriptionconvertAttributeKeys(Map<String, String> attributesByName, String namespace) This method converts a collection of name/value attribute pairs to id/value attribute pairs.org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinitioncreateAttributeDefinition(org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinition attributeDefinition) This will create aKrmsAttributeDefinitionexactly like the parameter passed in.List<org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinition>Returns all KrmsAttributeDefinitionsList<org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinition>findAttributeDefinitionsByNamespace(String namespace) Returns all KrmsAttributeDefinition that for a given namespace.List<org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinition>findAttributeDefinitionsByType(String typeId) Returns all KrmsAttributeDefinition that for a given type.org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinitionLookup a KrmsAttributeDefinition based on the given id.org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinitiongetAttributeDefinitionByNameAndNamespace(String name, String namespace) Get a KrmsAttributeDefinition object based on name and namespacegetKrmsAttributeBo(String attributeName, String namespace) This method gets a KrmsAttributeDefinitionBo object for a given attribute.getKrmsAttributeId(String attributeName, String namespace) This method gets the attribute definition ID for a given attributevoidupdateAttributeDefinition(org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinition attributeDefinition) This will update aKrmsAttributeDefinition.
-
Method Details
-
createAttributeDefinition
@CacheEvict(value="http://rice.kuali.org/krms/v2_0/KrmsAttributionDefinitionType", allEntries=true) org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinition createAttributeDefinition(org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinition attributeDefinition) This will create aKrmsAttributeDefinitionexactly like the parameter passed in.- Parameters:
attributeDefinition- - KrmsAttributeDefinition- Throws:
IllegalArgumentException- if the attribute definition is nullIllegalStateException- if the attribute definition already exists in the system
-
updateAttributeDefinition
@CacheEvict(value="http://rice.kuali.org/krms/v2_0/KrmsAttributionDefinitionType", allEntries=true) void updateAttributeDefinition(org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinition attributeDefinition) This will update aKrmsAttributeDefinition.- Parameters:
attributeDefinition- - KrmsAttributeDefinition- Throws:
IllegalArgumentException- if the attribute definition is nullIllegalStateException- if the attribute definition does not exist in the system
-
getAttributeDefinitionById
@Cacheable(value="http://rice.kuali.org/krms/v2_0/KrmsAttributionDefinitionType", key="\'attributeDefinitionId=\' + #p0") org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinition getAttributeDefinitionById(String id) Lookup a KrmsAttributeDefinition based on the given id.- Parameters:
id- the given KrmsAttributeDefinition id- Returns:
- a KrmsAttributeDefinition object with the given id. A null reference is returned if an invalid or non-existant id is supplied.
-
getAttributeDefinitionByNameAndNamespace
@Cacheable(value="http://rice.kuali.org/krms/v2_0/KrmsAttributionDefinitionType", key="\'namespaceCode=\' + #p0 + \'|\' + \'name=\' + #p1") org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinition getAttributeDefinitionByNameAndNamespace(String name, String namespace) Get a KrmsAttributeDefinition object based on name and namespace- Parameters:
name- the given namenamespace- the given type namespace- Returns:
- A KrmsAttributeDefinition object with the given namespace and name if one with that name and namespace exists. Otherwise, null is returned.
- Throws:
IllegalStateException- if multiple KrmsAttributeDefinitions exist with the same name and namespace
-
findAttributeDefinitionsByNamespace
@Cacheable(value="http://rice.kuali.org/krms/v2_0/KrmsAttributionDefinitionType", key="\'namespace=\' + #p0") List<org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinition> findAttributeDefinitionsByNamespace(String namespace) Returns all KrmsAttributeDefinition that for a given namespace.- Returns:
- all KrmsAttributeDefinition for a namespace
-
findAttributeDefinitionsByType
@Cacheable(value="http://rice.kuali.org/krms/v2_0/KrmsAttributionDefinitionType", key="\'typeId=\' + #p0") List<org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinition> findAttributeDefinitionsByType(String typeId) Returns all KrmsAttributeDefinition that for a given type.- Returns:
- all KrmsAttributeDefinition for a type. May be empty, will not be null;
-
findAllAttributeDefinitions
@Cacheable(value="http://rice.kuali.org/krms/v2_0/KrmsAttributionDefinitionType", key="\'all\'") List<org.kuali.rice.krms.api.repository.type.KrmsAttributeDefinition> findAllAttributeDefinitions()Returns all KrmsAttributeDefinitions- Returns:
- all KrmsAttributeDefinitions
-
convertAttributeKeys
This method converts a collection of name/value attribute pairs to id/value attribute pairs.At the api layer, attributes are represented as name/value pairs. However, in the database, the names of the attribute and the values are stored separately. The attribute definitions contain the attribute names. All defined attributes(for the various krms entity types) are stored together in a single table. The attribute values themselves are stored in separate tables for each entity type, and then reference the attribute definitions by the attribute definition id.
This method converts the name/value pairs to id/value pairs so they can be searched from a single table. This simplifies the queries for attributes.
- Parameters:
attributesByName- - a Map<String/String> containing the name/value pairs for the set of attributes.namespace- - the namespace code of the set of attributes- Returns:
- a Map<String,String> containing the id/value pairs for the set of attributes.
-
getKrmsAttributeId
@Cacheable(value="http://rice.kuali.org/krms/v2_0/KrmsAttributionDefinitionType", key="\'{ID}namespaceCode=\' + #p0 + \'|\' + \'name=\' + #p1") String getKrmsAttributeId(String attributeName, String namespace) This method gets the attribute definition ID for a given attribute- Parameters:
attributeName- - the name of the attributenamespace- - the namespace code of the attribute- Returns:
- - the attribute definition id
-
getKrmsAttributeBo
This method gets a KrmsAttributeDefinitionBo object for a given attribute.- Parameters:
attributeName- - the name of the attributenamespace- - the namespace code of the attribute- Returns:
- - the attribute definition id
-