Class Denials

java.lang.Object
com.axelor.ai.governance.access.Denials

public final class Denials extends Object
How the AI tools word a refusal: the operation, the model and what was refused, and nothing about the rule behind it. The agent relays the real cause instead of inventing one, and the user learns that access is missing, never how it is configured.
  • Method Details

    • model

      public static String model(Operation operation, String model)
      The operation is refused on the model as a whole.
    • agent

      public static String agent(Operation operation, String model)
      The operation is refused to the assistant, though the user may perform it.
    • customStorage

      public static String customStorage()
      The entity storing every custom record is refused to the assistant, naming what works instead so the agent asks again by the custom model's name.
    • agentRecords

      public static String agentRecords(Operation operation, String model, Collection<Long> ids)
      The operation is refused to the assistant on these records, though the user may perform it.
    • records

      public static String records(Operation operation, String model, Collection<Long> ids)
      The operation is refused on these records.
    • read

      public static String read(String model, Collection<String> fields)
      Reading these fields is refused.
    • write

      public static String write(String model, Collection<String> fields)
      Writing these fields is refused; a nested field is named by its path.
    • read

      public static String read(String model, Map<Access.Refuser,? extends Collection<String>> refused)
      Reading these fields is refused, each by whoever refuses it: the user's permissions, or only the assistant's, which the refusal says so the user knows their own access is intact.
    • write

      public static String write(String model, Map<Access.Refuser,? extends Collection<String>> refused)
      The same for writing; a nested field is named by its path.