hadoop_common/fs/permission/
fs_create_modes.rs

1use super::FsPermission;
2
3/// A class that stores both masked and unmasked create modes
4/// and is a drop-in replacement for masked permission.
5pub struct FsCreateModes {
6    masked: FsPermission,
7    unmasked: FsPermission,
8}
9
10impl FsCreateModes {
11    /// Create from unmasked mode and umask.
12    pub fn apply_umask(mode: &FsPermission, umask: &FsPermission) -> Self {
13        Self::create(&mode.apply_umask(umask), mode)
14    }
15
16    /// Create from masked and unmasked modes.
17    pub fn create(masked: &FsPermission, unmasked: &FsPermission) -> Self {
18        FsCreateModes {
19            masked: masked.to_owned(),
20            unmasked: unmasked.to_owned(),
21        }
22    }
23
24    pub fn get_masked(&self) -> &FsPermission {
25        &self.masked
26    }
27
28    pub fn get_unmasked(&self) -> &FsPermission {
29        &self.unmasked
30    }
31}