org.apache.ignite.internal.processors.security

## Class AbstractSecurityAwareExternalizable<T>

- java.lang.Object
- - org.apache.ignite.internal.processors.security.AbstractSecurityAwareExternalizable<T>

All Implemented Interfaces:
  Externalizable, Serializable, GridInternalWrapper<T>

Direct Known Subclasses:
  SecurityAwareBiPredicate, SecurityAwareFilter, SecurityAwareFilterFactory, SecurityAwarePredicate, SecurityAwareTransformerFactory

    public abstract class AbstractSecurityAwareExternalizable<T>
    extends Object
    implements Externalizable, GridInternalWrapper<T>

Abstract security aware Externalizable.

See Also:
  Serialized Form

### Field Summary

Fields
`protected IgniteEx` `ignite` Ignite.
`protected T` `original` Original component.
`protected UUID` `subjectId` Security subject id.

### Constructor Summary

Constructors
`protected` `AbstractSecurityAwareExternalizable()` Default constructor.
`protected` `AbstractSecurityAwareExternalizable(UUID subjectId, T original)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `logAccessDeniedMessage(AccessControlException e)` Writes access denied message.
`void` `readExternal(ObjectInput in)`
`T` `userObject()` Get user object where resources must be injected.
`void` `writeExternal(ObjectOutput out)`

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

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

### Field Detail

#### subjectId

    protected UUID subjectId

Security subject id.

#### original

    protected T original

Original component.

#### ignite

    @IgniteInstanceResource
    protected transient IgniteEx ignite

Ignite.

### Constructor Detail

#### AbstractSecurityAwareExternalizable

    protected AbstractSecurityAwareExternalizable()

Default constructor.

#### AbstractSecurityAwareExternalizable

    protected AbstractSecurityAwareExternalizable(UUID subjectId,
                                                  T original)

Parameters:
  `subjectId` - Security subject id.
  `original` - Original component.

### Method Detail

#### logAccessDeniedMessage

    protected void logAccessDeniedMessage(AccessControlException e)

Writes access denied message.

Parameters:
  `e` - Exception to log.

#### userObject

    public T userObject()

Get user object where resources must be injected.

Specified by:
  `userObject` in interface `GridInternalWrapper<T>`
Returns:
  User object.

#### writeExternal

    public void writeExternal(ObjectOutput out)
                       throws IOException

Specified by:
  `writeExternal` in interface `Externalizable`
Throws:
  `IOException`

#### readExternal

    public void readExternal(ObjectInput in)
                      throws IOException,
                             ClassNotFoundException

Specified by:
  `readExternal` in interface `Externalizable`
Throws:
  `IOException`
  `ClassNotFoundException`

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.16.0
Release Date | : December 15 2023