Package com.rosivanyshyn.controller.security.filter.access.chain

# Class AccessChain

java.lang.Object
com.rosivanyshyn.controller.security.filter.access.chain.AccessChain

Direct Known Subclasses:
  `AvailableAccessChain`, `RoleAccessChain`, `UrlAccessChain`

public abstract class AccessChain extends Object
Access Chain interface.
Each chain provide security logic for different situation

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected AccessMapHolder`
  `holder`
  `protected AccessChain`
  `successor`
  `protected ArrayList<String>`
  `urls`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AccessChain(AccessChain successor, AccessMapHolder holder, ArrayList<String> urls)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract void`
  `processRequest(jakarta.servlet.http.HttpServletRequest req, jakarta.servlet.http.HttpServletResponse res, jakarta.servlet.FilterChain chain, String action, AccountRole role)`
  Process user request

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

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

- ## Field Details

  - ### successor

    protected AccessChain successor

  - ### holder

    protected AccessMapHolder holder

  - ### urls

    protected ArrayList<String> urls

- ## Constructor Details

  - ### AccessChain

    public AccessChain(AccessChain successor, AccessMapHolder holder, ArrayList<String> urls)

- ## Method Details

  - ### processRequest

    public abstract void processRequest(jakarta.servlet.http.HttpServletRequest req, jakarta.servlet.http.HttpServletResponse res, jakarta.servlet.FilterChain chain, String action, AccountRole role) throws IOException, jakarta.servlet.ServletException
    Process user request
    Parameters:
      `req` - User request
      `res` - Response to user
      `chain` - Application filter chain
      `action` - Current Action
      `role` - Current user role
    Throws:
      `IOException`
      `jakarta.servlet.ServletException`