Package org.alfresco.repo.domain.qname
Interface QNameDAO
-
- All Known Implementing Classes:
AbstractQNameDAOImpl,QNameDAOImpl
public interface QNameDAOData abstraction layer for QName and Namespace entities.- Since:
- 3.4
- Author:
- Derek Hulley
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.Map<org.alfresco.service.namespace.QName,? extends java.lang.Object>convertIdMapToQNameMap(java.util.Map<java.lang.Long,? extends java.lang.Object> idMap)Convenience method to convert map keys from QName IDs to QNamesjava.util.Set<org.alfresco.service.namespace.QName>convertIdsToQNames(java.util.Set<java.lang.Long> ids)Bulk-convert QName IDs into QNamesjava.util.Set<java.lang.Long>convertQNamesToIds(java.util.Set<org.alfresco.service.namespace.QName> qnames, boolean create)Bulk-convert QNames into QName IDs.voiddeleteQName(org.alfresco.service.namespace.QName qname)Delete a QName.org.alfresco.util.Pair<java.lang.Long,java.lang.String>getNamespace(java.lang.Long id)org.alfresco.util.Pair<java.lang.Long,java.lang.String>getNamespace(java.lang.String namespaceUri)org.alfresco.util.Pair<java.lang.Long,java.lang.String>getOrCreateNamespace(java.lang.String namespaceUri)Get an existing instance matching the URI or create one if necessary.org.alfresco.util.Pair<java.lang.Long,org.alfresco.service.namespace.QName>getOrCreateQName(org.alfresco.service.namespace.QName qname)Get an existing instance matching the QName or create one if necessary.org.alfresco.util.Pair<java.lang.Long,org.alfresco.service.namespace.QName>getQName(java.lang.Long id)org.alfresco.util.Pair<java.lang.Long,org.alfresco.service.namespace.QName>getQName(org.alfresco.service.namespace.QName qname)voidupdateNamespace(java.lang.String oldNamespaceUri, java.lang.String newNamespaceUri)Modifies an existing namespace URI.org.alfresco.util.Pair<java.lang.Long,org.alfresco.service.namespace.QName>updateQName(org.alfresco.service.namespace.QName qnameOld, org.alfresco.service.namespace.QName qnameNew)Modify an existing QName.
-
-
-
Method Detail
-
getNamespace
org.alfresco.util.Pair<java.lang.Long,java.lang.String> getNamespace(java.lang.Long id)
- Parameters:
id- the unique ID of the entity- Returns:
- the namespace pair (id, uri)
- Throws:
org.alfresco.error.AlfrescoRuntimeException- if the ID provided is invalid
-
getNamespace
org.alfresco.util.Pair<java.lang.Long,java.lang.String> getNamespace(java.lang.String namespaceUri)
- Parameters:
namespaceUri- the namespace URI to query for- Returns:
- the namespace pair (id, uri) or null if it doesn't exist
-
getOrCreateNamespace
org.alfresco.util.Pair<java.lang.Long,java.lang.String> getOrCreateNamespace(java.lang.String namespaceUri)
Get an existing instance matching the URI or create one if necessary. Note that this method should be treated as a write method and should not be used in the context of read-only or query methods.- Parameters:
namespaceUri- the namespace URI to create- Returns:
- the existing namespace pair (id, uri) or a new one
-
updateNamespace
void updateNamespace(java.lang.String oldNamespaceUri, java.lang.String newNamespaceUri)Modifies an existing namespace URI. If the new URI already exists, then no new entity is created.- Parameters:
oldNamespaceUri- the old namespace URInewNamespaceUri- the new namespace URI- Throws:
org.alfresco.error.AlfrescoRuntimeException- if the new namespace is in use
-
getQName
org.alfresco.util.Pair<java.lang.Long,org.alfresco.service.namespace.QName> getQName(java.lang.Long id)
- Parameters:
id- the unique ID of the entity- Returns:
- the QName pair (id, qname) (never null)
- Throws:
org.alfresco.error.AlfrescoRuntimeException- if the ID provided is invalid
-
getQName
org.alfresco.util.Pair<java.lang.Long,org.alfresco.service.namespace.QName> getQName(org.alfresco.service.namespace.QName qname)
- Parameters:
qname- the QName to query for- Returns:
- the QName pair (id, qname) or null if it doesn't exist
-
getOrCreateQName
org.alfresco.util.Pair<java.lang.Long,org.alfresco.service.namespace.QName> getOrCreateQName(org.alfresco.service.namespace.QName qname)
Get an existing instance matching the QName or create one if necessary. Note that this method should be treated as a write method and should not be used in the context of read-only or query methods.- Parameters:
qname- the QName to query for- Returns:
- the QName pair (id, qname) or a new one
-
updateQName
org.alfresco.util.Pair<java.lang.Long,org.alfresco.service.namespace.QName> updateQName(org.alfresco.service.namespace.QName qnameOld, org.alfresco.service.namespace.QName qnameNew)Modify an existing QName. The ID of the new QName will be the same as the old one i.e. the old QName will cease to exist and will become the new QName. This allows QName modification without affecting tables that reference the old QName.- Parameters:
qnameOld- the old QName, which must existqnameNew- the new QName, which must not exist- Returns:
- the QName pair (id, qname) with the ID unchanged from old to new
-
deleteQName
void deleteQName(org.alfresco.service.namespace.QName qname)
Delete a QName. This will work only if the QName is not in use e.g. by nodes, properties, etc
-
convertIdsToQNames
java.util.Set<org.alfresco.service.namespace.QName> convertIdsToQNames(java.util.Set<java.lang.Long> ids)
Bulk-convert QName IDs into QNames- Parameters:
ids- the IDs- Returns:
- the QNames for the IDs given, in the same order
-
convertIdMapToQNameMap
java.util.Map<org.alfresco.service.namespace.QName,? extends java.lang.Object> convertIdMapToQNameMap(java.util.Map<java.lang.Long,? extends java.lang.Object> idMap)
Convenience method to convert map keys from QName IDs to QNames- Parameters:
idMap- a map of objects keyed by QName ID- Returns:
- a map of the same objects keyed by the equivalent QNames
-
convertQNamesToIds
java.util.Set<java.lang.Long> convertQNamesToIds(java.util.Set<org.alfresco.service.namespace.QName> qnames, boolean create)Bulk-convert QNames into QName IDs. This is primarily used for generating SQL IN clause lists for other DAO queries.- Parameters:
qnames- the QNames to convertcreate- true to create any missing QName entities- Returns:
- returns the QName IDs (order not guaranteed)
-
-