Class AbstractRestrictionProvider

    • Constructor Detail

      • AbstractRestrictionProvider

        public AbstractRestrictionProvider​(@NotNull
                                           @NotNull java.util.Map<java.lang.String,​? extends RestrictionDefinition> definitions)
    • Method Detail

      • getSupportedRestrictions

        @NotNull
        public @NotNull java.util.Set<RestrictionDefinition> getSupportedRestrictions​(@Nullable
                                                                                      @Nullable java.lang.String oakPath)
        Description copied from interface: RestrictionProvider
        Returns the restriction definitions supported by this provider implementation at the specified path.
        Specified by:
        getSupportedRestrictions in interface RestrictionProvider
        Parameters:
        oakPath - The path of the access controlled tree. A null path indicates that the supported restrictions for repository level policies should be returned.
        Returns:
        The set of supported restrictions at the given path.
      • createRestriction

        @NotNull
        public @NotNull Restriction createRestriction​(@Nullable
                                                      @Nullable java.lang.String oakPath,
                                                      @NotNull
                                                      @NotNull java.lang.String oakName,
                                                      @NotNull
                                                      @NotNull Value value)
                                               throws RepositoryException
        Description copied from interface: RestrictionProvider
        Creates a new single valued restriction for the specified parameters.
        Specified by:
        createRestriction in interface RestrictionProvider
        Parameters:
        oakPath - The path of the access controlled tree or null if the target policies applies to the repository level.
        oakName - The name of the restriction.
        value - The value of the restriction.
        Returns:
        A new restriction instance.
        Throws:
        AccessControlException - If no matching restriction definition exists for the specified parameters.
        RepositoryException - If another error occurs.
      • createRestriction

        @NotNull
        public @NotNull Restriction createRestriction​(@Nullable
                                                      @Nullable java.lang.String oakPath,
                                                      @NotNull
                                                      @NotNull java.lang.String oakName,
                                                      @NotNull
                                                      @NotNull Value... values)
                                               throws RepositoryException
        Description copied from interface: RestrictionProvider
        Creates a new multi valued restriction for the specified parameters.
        Specified by:
        createRestriction in interface RestrictionProvider
        Parameters:
        oakPath - The path of the access controlled tree or null if the target policies applies to the repository level.
        oakName - The name of the restriction.
        values - The values of the restriction.
        Returns:
        A new restriction instance.
        Throws:
        AccessControlException - If no matching restriction definition exists for the specified parameters.
        RepositoryException - If another error occurs.
      • readRestrictions

        @NotNull
        public @NotNull java.util.Set<Restriction> readRestrictions​(@Nullable
                                                                    @Nullable java.lang.String oakPath,
                                                                    @NotNull
                                                                    @NotNull Tree aceTree)
        Description copied from interface: RestrictionProvider
        Read the valid restrictions stored in the specified ACE tree.
        Specified by:
        readRestrictions in interface RestrictionProvider
        Parameters:
        oakPath - The path of the access controlled tree or null if the target policies applies to the repository level.
        aceTree - The tree corresponding to an ACE that may contain restrictions.
        Returns:
        The valid restrictions stored with the specified tree or an empty set.
      • validateRestrictions

        public void validateRestrictions​(@Nullable
                                         @Nullable java.lang.String oakPath,
                                         @NotNull
                                         @NotNull Tree aceTree)
                                  throws AccessControlException
        Description copied from interface: RestrictionProvider
        Validate the restrictions present with the specified ACE tree.
        Specified by:
        validateRestrictions in interface RestrictionProvider
        Parameters:
        oakPath - The path of the access controlled tree or null if the target policies applies to the repository level.
        aceTree - The tree corresponding to an ACE.
        Throws:
        AccessControlException - If any invalid restrictions are detected.