Class RulesBuilder.ModuleScope

java.lang.Object
org.cojen.boxtin.RulesBuilder.ModuleScope
Enclosing class:
RulesBuilder

public static final class RulesBuilder.ModuleScope extends Object
Builder of rules at the module level.
  • Method Details

    • denyAll

      public RulesBuilder.ModuleScope denyAll()
      Deny access to all packages, superseding all previous rules. This action is recursive, denying access to all classes, constructors, etc.
      Returns:
      this
    • denyAll

      public RulesBuilder.ModuleScope denyAll(DenyAction action)
      Deny access to all packages, superseding all previous rules. This action is recursive, denying access to all classes, constructors, etc.
      Returns:
      this
    • allowAll

      public RulesBuilder.ModuleScope allowAll()
      Allow access to all packages, superseding all previous rules. This action is recursive, allowing access to all classes, constructors, etc.
      Returns:
      this
    • forPackage

      public RulesBuilder.PackageScope forPackage(String name)
      Define specific rules against the given package, which can supersede all previous rules.
      Parameters:
      name - fully qualified package name
      Throws:
      IllegalArgumentException - if the package name isn't found
    • end

      public RulesBuilder end()
      End the current rules for this module and return to the outermost scope. More rules can be added to this scope later if desired.
    • forModule

      public RulesBuilder.ModuleScope forModule(String name)
      End the current rules for this module and begin a new module scope. More rules can be added to the scope later if desired.
      Parameters:
      name - fully qualified module name
      Throws:
      IllegalArgumentException - if the module isn't found
    • forModule

      public RulesBuilder.ModuleScope forModule(String name, String minVersion, String maxVersion)
      End the current rules for this module and begin a new module scope. More rules can be added to the scope later if desired.
      Parameters:
      name - fully qualified module name
      minVersion - optional minimum module version number to support (inclusive)
      maxVersion - optional maximum module version number to support (exclusive)
      Throws:
      IllegalArgumentException - if the module isn't found, or if the version is out of bounds, or if the min/max versions provided aren't parseable