Package org.apache.sshd.common
Interface AttributeStore
-
- All Superinterfaces:
AttributeRepository
- All Known Subinterfaces:
Channel,ClientChannel,ClientFactoryManager,ClientSession,FactoryManager,ServerChannel,ServerFactoryManager,ServerSession,Session,SessionContext
- All Known Implementing Classes:
AbstractChannel,AbstractClientChannel,AbstractClientSession,AbstractFactoryManager,AbstractServerChannel,AbstractServerSession,AbstractSession,AgentForwardedChannel,AgentForwardedChannel,AsyncCapableClientChannel,ChannelAgentForwarding,ChannelAgentForwarding,ChannelDirectTcpip,ChannelExec,ChannelForwardedX11,ChannelSession,ChannelSession,ChannelShell,ChannelSubsystem,ClientSessionImpl,DefaultSftpClient.SftpChannelSubsystem,DirectoryHandle,FileHandle,Handle,PtyCapableChannelSession,ServerSessionImpl,SessionHelper,SshClient,SshServer,TcpipClientChannel,TcpipServerChannel
public interface AttributeStore extends AttributeRepository
Provides the capability to attach in-memory attributes to the entity
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.sshd.common.AttributeRepository
AttributeRepository.AttributeKey<T>
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description voidclearAttributes()Removes all currently stored user-defined attributesdefault <T> TcomputeAttributeIfAbsent(AttributeRepository.AttributeKey<T> key, java.util.function.Function<? super AttributeRepository.AttributeKey<T>,? extends T> resolver)If the specified key is not already associated with a value (or is mapped tonull), attempts to compute its value using the given mapping function and enters it into this map unlessnull.<T> TremoveAttribute(AttributeRepository.AttributeKey<T> key)Removes the user-defined attribute<T> TsetAttribute(AttributeRepository.AttributeKey<T> key, T value)Sets a user-defined attribute.-
Methods inherited from interface org.apache.sshd.common.AttributeRepository
attributeKeys, getAttribute, getAttributesCount, resolveAttribute
-
-
-
-
Method Detail
-
computeAttributeIfAbsent
default <T> T computeAttributeIfAbsent(AttributeRepository.AttributeKey<T> key, java.util.function.Function<? super AttributeRepository.AttributeKey<T>,? extends T> resolver)
If the specified key is not already associated with a value (or is mapped tonull), attempts to compute its value using the given mapping function and enters it into this map unlessnull.- Type Parameters:
T- The generic attribute type- Parameters:
key- The key of the attribute; must not benull.resolver- The (nevernull) mapping function to use if value not already mapped. If returnsnullthen value is not mapped to the provided key.- Returns:
- The resolved value -
nullif value not mapped and resolver did not return a non-nullvalue for it
-
setAttribute
<T> T setAttribute(AttributeRepository.AttributeKey<T> key, T value)
Sets a user-defined attribute.- Type Parameters:
T- The generic attribute type- Parameters:
key- The key of the attribute; must not benull.value- The value of the attribute; must not benull.- Returns:
- The old value of the attribute;
nullif it is new.
-
removeAttribute
<T> T removeAttribute(AttributeRepository.AttributeKey<T> key)
Removes the user-defined attribute- Type Parameters:
T- The generic attribute type- Parameters:
key- The key of the attribute; must not benull.- Returns:
- The removed value;
nullif no previous value
-
clearAttributes
void clearAttributes()
Removes all currently stored user-defined attributes
-
-