Package org.apache.sling.jackrabbit.usermanager.impl.resource

# Class BaseAuthorizableValueMap

java.lang.Object
org.apache.sling.jackrabbit.usermanager.impl.resource.BaseAuthorizableValueMap

All Implemented Interfaces:
  `Map<String,Object>`, `org.apache.sling.api.resource.ValueMap`

Direct Known Subclasses:
  `AuthorizableValueMap`, `NestedAuthorizableValueMap`

public abstract class BaseAuthorizableValueMap extends Object implements org.apache.sling.api.resource.ValueMap
base implementation for ValueMap implementations for Authorizable Resources

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`BaseAuthorizableValueMap.LazyInputStream`

## Nested classes/interfaces inherited from interface java.util.Map

`Map.Entry<K extends Object,V extends Object>`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected org.apache.jackrabbit.api.security.user.Authorizable`
`authorizable`
`protected final Map<String,Object>`
`cache`
`protected boolean`
`fullyRead`
`protected final org.slf4j.Logger`
`log`
default log
`protected final SystemUserManagerPaths`
`systemUserManagerPaths`

### Fields inherited from interface org.apache.sling.api.resource.ValueMap

`EMPTY`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`BaseAuthorizableValueMap(org.apache.jackrabbit.api.security.user.Authorizable authorizable, SystemUserManagerPaths systemUserManagerPaths)`

## Method Summary

Modifier and Type
Method
Description
`void`
`clear()`
`boolean`
`containsKey(Object key)`
`boolean`
`containsValue(Object value)`
`protected <T> T`
`convertToType(String name, Class<T> type)`
`Set<Map.Entry<String,Object>>`
`entrySet()`
`Object`
`get(Object key)`
`<T> T`
`get(String name, Class<T> type)`
`<T> T`
`get(String name, T defaultValue)`
`boolean`
`isEmpty()`
`Set<String>`
`keySet()`
`Object`
`put(String arg0, Object arg1)`
`void`
`putAll(Map<? extends String,? extends Object> arg0)`
`protected abstract Object`
`read(String key)`
`protected abstract void`
`readFully()`
`protected Object`
`readPropertyAndCache(String key, String relPath)`
`Object`
`remove(Object arg0)`
`int`
`size()`
`static Object`
`toJavaObject(javax.jcr.Value value)`
Converts a JCR Value to a corresponding Java Object
`String`
`toString()`
Reads the authorizable map completely and returns the string representation of the cached properties.
`Collection<Object>`
`values()`
`protected Object`
`valuesToJavaObject(javax.jcr.Value[] values)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.util.Map

`compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll`

## Field Details

### log

protected final org.slf4j.Logger log
default log

### fullyRead

protected boolean fullyRead

### cache

protected final Map<String,Object> cache

### authorizable

protected org.apache.jackrabbit.api.security.user.Authorizable authorizable

### systemUserManagerPaths

protected final SystemUserManagerPaths systemUserManagerPaths

## Constructor Details

### BaseAuthorizableValueMap

protected BaseAuthorizableValueMap(org.apache.jackrabbit.api.security.user.Authorizable authorizable, SystemUserManagerPaths systemUserManagerPaths)

## Method Details

### get

public <T> T get(String name, Class<T> type)

Specified by:
  `get` in interface `org.apache.sling.api.resource.ValueMap`

### get

public <T> T get(String name, T defaultValue)

Specified by:
  `get` in interface `org.apache.sling.api.resource.ValueMap`

### containsKey

public boolean containsKey(Object key)

Specified by:
  `containsKey` in interface `Map<String,Object>`

### containsValue

public boolean containsValue(Object value)

Specified by:
  `containsValue` in interface `Map<String,Object>`

### entrySet

public Set<Map.Entry<String,Object>> entrySet()

Specified by:
  `entrySet` in interface `Map<String,Object>`

### get

public Object get(Object key)

Specified by:
  `get` in interface `Map<String,Object>`

### keySet

public Set<String> keySet()

Specified by:
  `keySet` in interface `Map<String,Object>`

### size

public int size()

Specified by:
  `size` in interface `Map<String,Object>`

### isEmpty

public boolean isEmpty()

Specified by:
  `isEmpty` in interface `Map<String,Object>`

### values

public Collection<Object> values()

Specified by:
  `values` in interface `Map<String,Object>`

### read

protected abstract Object read(String key)

### readPropertyAndCache

protected Object readPropertyAndCache(String key, String relPath) throws javax.jcr.RepositoryException

Throws:
  `javax.jcr.RepositoryException`

### toJavaObject

public static Object toJavaObject(javax.jcr.Value value) throws javax.jcr.RepositoryException
Converts a JCR Value to a corresponding Java Object

Parameters:
  `value` - the JCR Value to convert
Returns:
  the Java Object
Throws:
  `javax.jcr.RepositoryException` - if the value cannot be converted

### valuesToJavaObject

protected Object valuesToJavaObject(javax.jcr.Value[] values) throws javax.jcr.RepositoryException

Throws:
  `javax.jcr.RepositoryException`

### readFully

protected abstract void readFully()

### toString

public String toString()
Reads the authorizable map completely and returns the string representation of the cached properties.

Overrides:
  `toString` in class `Object`

### remove

public Object remove(Object arg0)

Specified by:
  `remove` in interface `Map<String,Object>`

### clear

public void clear()

Specified by:
  `clear` in interface `Map<String,Object>`

### put

public Object put(String arg0, Object arg1)

Specified by:
  `put` in interface `Map<String,Object>`

### putAll

public void putAll(Map<? extends String,? extends Object> arg0)

Specified by:
  `putAll` in interface `Map<String,Object>`

### convertToType

protected <T> T convertToType(String name, Class<T> type)