public synchronized void putAttributes( String principalDN, Map attributes, Set inAccessibleAttrNames, boolean isCompleteSet, boolean byteValues) { CacheEntry ce = (CacheEntry) cacheEntries.get(principalDN); if (ce == null) { ce = new CacheEntry(); cacheEntries.put(principalDN, ce); } // Copy only the attributes in the common place. Store the invalid/ // unreadable attrs per principal. if (!byteValues) { Set attrsWithValues = stringAttributes.copyValuesOnly(attributes); ce.putAttributes(attrsWithValues, inAccessibleAttrNames, isCompleteSet); } else { Set attrsWithValues = byteAttributes.copyValuesOnly(attributes); ce.putAttributes(attrsWithValues, inAccessibleAttrNames, isCompleteSet); } updateLastModifiedTime(); }