public class LDAPUtils extends Object
Modifier and Type | Class and Description |
---|---|
static class |
LDAPUtils.LocationInfo
Information where an object is located in the LDAP tree.
|
Modifier and Type | Field and Description |
---|---|
static String[] |
NO_ATTRIBUTES |
Constructor and Description |
---|
LDAPUtils() |
Modifier and Type | Method and Description |
---|---|
static LdapName |
composeDistinguishedName(LdapName parentDn,
Rdn rdn,
LdapName suffix)
Composes the distinguished name.
|
static void |
deleteRecursive(LdapName dn,
DirContext ctx) |
static void |
deleteRecursive(org.datanucleus.store.StoreManager storeMgr,
LdapName dn,
org.datanucleus.ExecutionContext ec) |
protected static Object |
findObjectUsingAID(org.datanucleus.ExecutionContext ec,
Class pcCls,
org.datanucleus.store.FieldValues fv,
boolean ignoreCache,
boolean checkInheritance)
Accessor for the ObjectProvider of an object given the object AID.
|
static List<org.datanucleus.metadata.AbstractMemberMetaData> |
getAllMemberMetaData(org.datanucleus.metadata.AbstractClassMetaData cmd) |
static String |
getAttributeNameForField(org.datanucleus.metadata.AbstractMemberMetaData mmd)
Accessor for the (LDAP) attribute name for the specified field.
|
static Object |
getAttributeValue(org.datanucleus.store.StoreManager storeMgr,
org.datanucleus.state.ObjectProvider op,
String attributeName)
Gets the attribute value of an specific attribute name from the ObjectProvider.
|
static Collection<Object> |
getAttributeValuesFromLDAP(org.datanucleus.store.StoreManager storeMgr,
org.datanucleus.state.ObjectProvider op,
String attributeName)
Gets the attribute value of an specific attribute name from LDAP.
|
static LdapName |
getDistinguishedNameForObject(org.datanucleus.store.StoreManager storeMgr,
org.datanucleus.state.ObjectProvider op)
Convenience method to return the distinguished name for the object being managed.
|
static LdapName |
getDistinguishedNameForObject(org.datanucleus.store.StoreManager storeMgr,
org.datanucleus.state.ObjectProvider op,
boolean forceFetchHierarchicalMappedDn)
Convenience method to return the distinguished name for the object being managed.
|
static org.datanucleus.metadata.AbstractClassMetaData |
getEffectiveClassMetaData(org.datanucleus.metadata.AbstractMemberMetaData mmd,
org.datanucleus.metadata.MetaDataManager mmgr)
Gets the effective class meta data for the given field meta data.
|
static String |
getEmptyValue(org.datanucleus.metadata.AbstractMemberMetaData mmd)
Convenience method to return value defined in extension "empty-value" of the given field meta data, null if not
specified.
|
static Map<LdapName,Attributes> |
getEntries(org.datanucleus.store.StoreManager storeMgr,
org.datanucleus.ExecutionContext ec,
org.datanucleus.metadata.AbstractClassMetaData candidateCmd,
LdapName base,
String additionalFilter,
boolean subclasses,
boolean ignoreCache) |
static LDAPUtils.LocationInfo |
getLocationInfo(org.datanucleus.metadata.AbstractClassMetaData cmd)
Convenience method to return the distinguished name pattern for the metadata being managed.
|
static List<org.datanucleus.metadata.AbstractMemberMetaData> |
getMemberMetaData(int[] fieldNumbers,
org.datanucleus.metadata.AbstractClassMetaData cmd) |
static org.datanucleus.metadata.AbstractMemberMetaData |
getMemberMetadataForAttributeName(org.datanucleus.metadata.AbstractClassMetaData cmd,
String attributeName)
Gets the member metadata from the given class metadata which attribute name matches the given LDAP attribute
name.
|
static Object |
getObjectByAttribute(org.datanucleus.store.StoreManager storeMgr,
org.datanucleus.ExecutionContext ec,
Class type,
String attributeName,
String attributeValue,
org.datanucleus.metadata.MetaDataManager mmgr)
Gets an object by type and attribute.
|
static Object |
getObjectByDN(org.datanucleus.store.StoreManager storeMgr,
org.datanucleus.ExecutionContext om,
Class type,
String dnAsString) |
static Set<String> |
getObjectClassesForClass(org.datanucleus.metadata.AbstractClassMetaData cmd)
Accessor for the (LDAP) object classes for the specified class.
|
static List<Object> |
getObjectsOfCandidateType(org.datanucleus.store.StoreManager storeMgr,
org.datanucleus.ExecutionContext ec,
org.datanucleus.metadata.AbstractClassMetaData candidateCmd,
LdapName base,
String additionalFilter,
boolean subclasses,
boolean ignoreCache) |
static List<Object> |
getObjectsOfCandidateType(org.datanucleus.store.StoreManager storeMgr,
org.datanucleus.ExecutionContext ec,
org.datanucleus.query.compiler.QueryCompilation compilation,
Map parameters,
Class candidateClass,
boolean subclasses,
boolean ignoreCache,
boolean inMemory)
Convenience method to get all objects of the candidate type (and optional subclasses).
|
static LdapName |
getParentDistingueshedName(LdapName dn,
LdapName suffix)
Gets the distinguished name of the parent object
|
static LdapName |
getSearchBase(org.datanucleus.metadata.AbstractClassMetaData cmd,
org.datanucleus.metadata.MetaDataManager mmgr) |
static SearchControls |
getSearchControls(org.datanucleus.metadata.AbstractClassMetaData cmd)
Gets the search controls.
|
static String |
getSearchFilter(org.datanucleus.metadata.AbstractClassMetaData cmd)
Convenience method to get the LDAP filter for the specified class.
|
static void |
insert(org.datanucleus.store.StoreManager storeMgr,
LdapName dn,
Attributes attributes,
org.datanucleus.ExecutionContext ec) |
static boolean |
isEmbeddedField(org.datanucleus.metadata.AbstractMemberMetaData mmd) |
static boolean |
isHierarchicalMappedAtChild(org.datanucleus.state.ObjectProvider sm)
Convenience method to check if the given object is mapped hierarchical.
|
static void |
markForDeletion(Object pc,
org.datanucleus.ExecutionContext ec) |
static void |
markForPersisting(Object pc,
org.datanucleus.ExecutionContext ec) |
static void |
markForRename(org.datanucleus.store.StoreManager storeMgr,
Object pc,
org.datanucleus.ExecutionContext ec,
LdapName oldDn,
LdapName newDn) |
static void |
unmarkForDeletion(Object pc,
org.datanucleus.ExecutionContext ec) |
static void |
update(org.datanucleus.store.StoreManager storeMgr,
LdapName dn,
Attributes attributes,
org.datanucleus.ExecutionContext ec) |
public static final String[] NO_ATTRIBUTES
public static org.datanucleus.metadata.AbstractClassMetaData getEffectiveClassMetaData(org.datanucleus.metadata.AbstractMemberMetaData mmd, org.datanucleus.metadata.MetaDataManager mmgr)
mmd
- the field meta datammgr
- Metadata managerpublic static org.datanucleus.metadata.AbstractMemberMetaData getMemberMetadataForAttributeName(org.datanucleus.metadata.AbstractClassMetaData cmd, String attributeName)
cmd
- the class metadataattributeName
- the LDAP attribute namepublic static List<org.datanucleus.metadata.AbstractMemberMetaData> getAllMemberMetaData(org.datanucleus.metadata.AbstractClassMetaData cmd)
public static List<org.datanucleus.metadata.AbstractMemberMetaData> getMemberMetaData(int[] fieldNumbers, org.datanucleus.metadata.AbstractClassMetaData cmd)
public static boolean isEmbeddedField(org.datanucleus.metadata.AbstractMemberMetaData mmd)
public static boolean isHierarchicalMappedAtChild(org.datanucleus.state.ObjectProvider sm)
sm
- ObjectProviderpublic static LdapName getParentDistingueshedName(LdapName dn, LdapName suffix)
dn
- The distinguished namesuffix
- the suffix defined in "dn" extensionpublic static LdapName getDistinguishedNameForObject(org.datanucleus.store.StoreManager storeMgr, org.datanucleus.state.ObjectProvider op)
storeMgr
- Store Managerop
- ObjectProviderpublic static LdapName getDistinguishedNameForObject(org.datanucleus.store.StoreManager storeMgr, org.datanucleus.state.ObjectProvider op, boolean forceFetchHierarchicalMappedDn)
storeMgr
- Store Managerop
- ObjectProviderforceFetchHierarchicalMappedDn
- true to fetch the name from directory serverpublic static LdapName getSearchBase(org.datanucleus.metadata.AbstractClassMetaData cmd, org.datanucleus.metadata.MetaDataManager mmgr)
public static SearchControls getSearchControls(org.datanucleus.metadata.AbstractClassMetaData cmd)
cmd
- the class meta datapublic static String getSearchFilter(org.datanucleus.metadata.AbstractClassMetaData cmd)
cmd
- the class meta datapublic static LDAPUtils.LocationInfo getLocationInfo(org.datanucleus.metadata.AbstractClassMetaData cmd)
cmd
- the class meta datapublic static String getEmptyValue(org.datanucleus.metadata.AbstractMemberMetaData mmd)
mmd
- the member meta datapublic static Object getAttributeValue(org.datanucleus.store.StoreManager storeMgr, org.datanucleus.state.ObjectProvider op, String attributeName)
storeMgr
- Store Managerop
- ObjectProviderattributeName
- the attribute namepublic static Collection<Object> getAttributeValuesFromLDAP(org.datanucleus.store.StoreManager storeMgr, org.datanucleus.state.ObjectProvider op, String attributeName)
storeMgr
- Store Managerop
- ObjectProviderattributeName
- the attribute namepublic static String getAttributeNameForField(org.datanucleus.metadata.AbstractMemberMetaData mmd)
mmd
- MetaData for the fieldpublic static Set<String> getObjectClassesForClass(org.datanucleus.metadata.AbstractClassMetaData cmd)
cmd
- Metadata for the classpublic static LdapName composeDistinguishedName(LdapName parentDn, Rdn rdn, LdapName suffix) throws InvalidNameException
parentDn
- the parent dnrdn
- the rdnsuffix
- the suffixInvalidNameException
- if error occurspublic static Object getObjectByDN(org.datanucleus.store.StoreManager storeMgr, org.datanucleus.ExecutionContext om, Class type, String dnAsString)
public static Object getObjectByAttribute(org.datanucleus.store.StoreManager storeMgr, org.datanucleus.ExecutionContext ec, Class type, String attributeName, String attributeValue, org.datanucleus.metadata.MetaDataManager mmgr)
storeMgr
- Store Managerec
- object managertype
- the object typeattributeName
- the attribute nameattributeValue
- the attribute valuemmgr
- the meta data managerpublic static void markForPersisting(Object pc, org.datanucleus.ExecutionContext ec)
public static void markForRename(org.datanucleus.store.StoreManager storeMgr, Object pc, org.datanucleus.ExecutionContext ec, LdapName oldDn, LdapName newDn)
public static void markForDeletion(Object pc, org.datanucleus.ExecutionContext ec)
public static void unmarkForDeletion(Object pc, org.datanucleus.ExecutionContext ec)
public static List<Object> getObjectsOfCandidateType(org.datanucleus.store.StoreManager storeMgr, org.datanucleus.ExecutionContext ec, org.datanucleus.query.compiler.QueryCompilation compilation, Map parameters, Class candidateClass, boolean subclasses, boolean ignoreCache, boolean inMemory)
storeMgr
- Store Managerec
- The object managercompilation
- The queryparameters
- The input parameterscandidateClass
- The class of the candidatessubclasses
- Include subclasses?ignoreCache
- Whether to ignore the cacheinMemory
- Whether to filter in memory or to use native LDAP filterspublic static List<Object> getObjectsOfCandidateType(org.datanucleus.store.StoreManager storeMgr, org.datanucleus.ExecutionContext ec, org.datanucleus.metadata.AbstractClassMetaData candidateCmd, LdapName base, String additionalFilter, boolean subclasses, boolean ignoreCache)
storeMgr
- Store Managerec
- The object managercandidateCmd
- The class meta data of the candidatebase
- the search base, or null to use the base of candidateCmdadditionalFilter
- the additional filter, or null to only use the filter of candidateCmdsubclasses
- true to include subclassesignoreCache
- whether to ignore the cacheprotected static Object findObjectUsingAID(org.datanucleus.ExecutionContext ec, Class pcCls, org.datanucleus.store.FieldValues fv, boolean ignoreCache, boolean checkInheritance)
ec
- ExecutionContextpcCls
- Type of the PC objectfv
- The field values to be loadedignoreCache
- true if it must ignore the cachecheckInheritance
- Whether look to the database to determine which
class this object is. This parameter is a hint. Set false, if it's
already determined the correct pcClass for this pc "object" in a certain
level in the hierarchy. Set to true and it will look to the database.public static Map<LdapName,Attributes> getEntries(org.datanucleus.store.StoreManager storeMgr, org.datanucleus.ExecutionContext ec, org.datanucleus.metadata.AbstractClassMetaData candidateCmd, LdapName base, String additionalFilter, boolean subclasses, boolean ignoreCache)
public static void insert(org.datanucleus.store.StoreManager storeMgr, LdapName dn, Attributes attributes, org.datanucleus.ExecutionContext ec)
public static void update(org.datanucleus.store.StoreManager storeMgr, LdapName dn, Attributes attributes, org.datanucleus.ExecutionContext ec)
public static void deleteRecursive(org.datanucleus.store.StoreManager storeMgr, LdapName dn, org.datanucleus.ExecutionContext ec)
public static void deleteRecursive(LdapName dn, DirContext ctx) throws NamingException
NamingException
Copyright © 2020. All rights reserved.