Package ome.security

Interface ChmodStrategy

  • All Known Implementing Classes:
    GroupChmodStrategy

    public interface ChmodStrategy
    Strategy for changing the permissions of objects in the database as well as verifying that the permissions for the modified objects are sensible after the change. This interface is designed to be used in an asynchronous situation where as many individual steps as possible are performed rather than performing everything in one go.
    Since:
    4.4
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void check​(ome.model.IObject obj, java.lang.Object check)
      Performs one of the checks returned by getChecks(IObject obj, String permissions).
      void chmod​(ome.model.IObject obj, java.lang.String permissions)
      Change the permissions for the given object.
      java.lang.Object[] getChecks​(ome.model.IObject obj, java.lang.String permissions)
      Return all the checks necessary to validate the given object if it were to have its permissions.
    • Method Detail

      • getChecks

        java.lang.Object[] getChecks​(ome.model.IObject obj,
                                     java.lang.String permissions)
        Return all the checks necessary to validate the given object if it were to have its permissions. The Object return value should be assumed opaque, and is primarily intended for passing it back to check(IObject, Object).
      • chmod

        void chmod​(ome.model.IObject obj,
                   java.lang.String permissions)
        Change the permissions for the given object. This may do nothing if the permissions do not differ from the current settings. In any case, this method is intended to return quickly. Once the change takes place, it will be necessary to run check(IObject, Object) to guarantee that no invalid links are present.
      • check

        void check​(ome.model.IObject obj,
                   java.lang.Object check)
        Performs one of the checks returned by getChecks(IObject obj, String permissions). These will typically be queries to be performed across all tables.