extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/projectarchive/FilePermission.java

Code
Comments
Other
Rev Date Author Line
3802 21 Mar 16 nicklas 1 package net.sf.basedb.reggie.projectarchive;
3802 21 Mar 16 nicklas 2
3802 21 Mar 16 nicklas 3 /**
3802 21 Mar 16 nicklas 4   File/directory permissions for cases
3802 21 Mar 16 nicklas 5   with and without consent.
3802 21 Mar 16 nicklas 6   
3802 21 Mar 16 nicklas 7   @author nicklas
3802 21 Mar 16 nicklas 8   @since 4.3
3802 21 Mar 16 nicklas 9 */
3802 21 Mar 16 nicklas 10 public enum FilePermission 
3802 21 Mar 16 nicklas 11 {
4306 17 Jan 17 nicklas 12   
4306 17 Jan 17 nicklas 13   
3802 21 Mar 16 nicklas 14   /**
3802 21 Mar 16 nicklas 15     Permissions on files that belong
3802 21 Mar 16 nicklas 16     to a case with Consent=Yes
3802 21 Mar 16 nicklas 17     Files: u=rw,g=r,o=
3802 21 Mar 16 nicklas 18     Directories: u=rwx,g=rx,o=
3802 21 Mar 16 nicklas 19   */
4306 17 Jan 17 nicklas 20   CONSENT(640, 750, "u=rwx,g=rx,o="),
3802 21 Mar 16 nicklas 21
3802 21 Mar 16 nicklas 22   /**
3802 21 Mar 16 nicklas 23     Permissions on files that belong
3802 21 Mar 16 nicklas 24     to a case with Consent!=Yes
3802 21 Mar 16 nicklas 25     Files: u=rw,g=,o=
3802 21 Mar 16 nicklas 26     Directories: u=rwx,g=,o=
3802 21 Mar 16 nicklas 27   */
5595 11 Sep 19 nicklas 28   NO_CONSENT(600, 700, "u=rwx,g=,o="),
4306 17 Jan 17 nicklas 29   
5595 11 Sep 19 nicklas 30   /**
5595 11 Sep 19 nicklas 31     Permission on files that belong to external
5595 11 Sep 19 nicklas 32     groups. 
5595 11 Sep 19 nicklas 33     Files: u=rw,g=r,o=
5595 11 Sep 19 nicklas 34     Directories: u=rwx,g=rx,o=
5595 11 Sep 19 nicklas 35     @since 4.23
5595 11 Sep 19 nicklas 36   */
5595 11 Sep 19 nicklas 37   EXTERNAL_GROUP_READABLE(640, 750, "u=rwx,g=rx,o=");
5595 11 Sep 19 nicklas 38   
3802 21 Mar 16 nicklas 39   private final int filePermission;
3802 21 Mar 16 nicklas 40   private final int dirPermission;
4306 17 Jan 17 nicklas 41   private final String umask;
3802 21 Mar 16 nicklas 42   
4306 17 Jan 17 nicklas 43   private FilePermission(int filePermission, int dirPermission, String umask)
3802 21 Mar 16 nicklas 44   {
3802 21 Mar 16 nicklas 45     this.filePermission = filePermission;
3802 21 Mar 16 nicklas 46     this.dirPermission = dirPermission;
4306 17 Jan 17 nicklas 47     this.umask = umask;
3802 21 Mar 16 nicklas 48   }
3802 21 Mar 16 nicklas 49   
3802 21 Mar 16 nicklas 50   /**
4306 17 Jan 17 nicklas 51     Get the permission for files or directory to use in 'chmod' 
4306 17 Jan 17 nicklas 52     command.
3802 21 Mar 16 nicklas 53   */
3802 21 Mar 16 nicklas 54   public int getPermission(boolean directory)
3802 21 Mar 16 nicklas 55   {
3802 21 Mar 16 nicklas 56     return directory ? dirPermission : filePermission;
3802 21 Mar 16 nicklas 57   }
3802 21 Mar 16 nicklas 58   
4306 17 Jan 17 nicklas 59   /**
4306 17 Jan 17 nicklas 60     Get the parameter to set in the 'umask' command for this
4306 17 Jan 17 nicklas 61     permission.
4306 17 Jan 17 nicklas 62     @since 4.xx
4306 17 Jan 17 nicklas 63   */
4306 17 Jan 17 nicklas 64   public String getUmask()
4306 17 Jan 17 nicklas 65   {
4306 17 Jan 17 nicklas 66     return umask;
4306 17 Jan 17 nicklas 67   }
3802 21 Mar 16 nicklas 68 }