Class RestrictedReadPropertyAccessor

  • All Implemented Interfaces:
    org.springframework.expression.PropertyAccessor

    public class RestrictedReadPropertyAccessor
    extends java.lang.Object
    implements org.springframework.expression.PropertyAccessor
    PropertyAccessor wrapper, that checks current user permissions before it reads a value. If user is not allowed to read a value, then AccessException is thrown.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean canRead​(org.springframework.expression.EvaluationContext evaluationContext, java.lang.Object object, java.lang.String expression)  
      boolean canWrite​(org.springframework.expression.EvaluationContext evaluationContext, java.lang.Object object, java.lang.String expression)  
      java.lang.Class<?>[] getSpecificTargetClasses()  
      org.springframework.expression.TypedValue read​(org.springframework.expression.EvaluationContext evaluationContext, java.lang.Object object, java.lang.String expression)  
      void write​(org.springframework.expression.EvaluationContext evaluationContext, java.lang.Object object, java.lang.String expression, java.lang.Object value)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RestrictedReadPropertyAccessor

        public RestrictedReadPropertyAccessor​(org.springframework.expression.PropertyAccessor accessor,
                                              PermissionFacade permissionFacade)
    • Method Detail

      • getSpecificTargetClasses

        public java.lang.Class<?>[] getSpecificTargetClasses()
        Specified by:
        getSpecificTargetClasses in interface org.springframework.expression.PropertyAccessor
      • canRead

        public boolean canRead​(org.springframework.expression.EvaluationContext evaluationContext,
                               java.lang.Object object,
                               java.lang.String expression)
                        throws org.springframework.expression.AccessException
        Specified by:
        canRead in interface org.springframework.expression.PropertyAccessor
        Throws:
        org.springframework.expression.AccessException
      • read

        public org.springframework.expression.TypedValue read​(org.springframework.expression.EvaluationContext evaluationContext,
                                                              java.lang.Object object,
                                                              java.lang.String expression)
                                                       throws org.springframework.expression.AccessException
        Specified by:
        read in interface org.springframework.expression.PropertyAccessor
        Throws:
        org.springframework.expression.AccessException
      • canWrite

        public boolean canWrite​(org.springframework.expression.EvaluationContext evaluationContext,
                                java.lang.Object object,
                                java.lang.String expression)
                         throws org.springframework.expression.AccessException
        Specified by:
        canWrite in interface org.springframework.expression.PropertyAccessor
        Throws:
        org.springframework.expression.AccessException
      • write

        public void write​(org.springframework.expression.EvaluationContext evaluationContext,
                          java.lang.Object object,
                          java.lang.String expression,
                          java.lang.Object value)
                   throws org.springframework.expression.AccessException
        Specified by:
        write in interface org.springframework.expression.PropertyAccessor
        Throws:
        org.springframework.expression.AccessException