pub struct DirEntry {
name: String,
timestamp: String,
length: i32,
length_set: bool,
entry_type: FileDirTypes,
children: Vec<Rc<RefCell<dyn FileDirEntry>>>,
}
Expand description
Represents the directory entry allowed in the hierarchy for the Composite design pattern example. A directory can contain other directories and file entries.
Fields§
§name: String
Name of the directory.
timestamp: String
Timestamp of the directory (expressed as a string).
length: i32
Length of all children of the directory (computed on first call to the length() method.)
length_set: bool
True if the length has been computed (on the first call to the length() method).
entry_type: FileDirTypes
Type of the entry as a value from the FileDirTypes enumeration.
children: Vec<Rc<RefCell<dyn FileDirEntry>>>
Vector of FileDirEntry objects representing the children of this directory.
Implementations§
source§impl DirEntry
impl DirEntry
sourcepub fn new(name: &str, timestamp: &str) -> DirEntry
pub fn new(name: &str, timestamp: &str) -> DirEntry
Constructor for DirEntry
Parameters
-
name
Name of the file.
-
timestamp
String containing the timestamp for the file.
Returns
Returns the new DirEntry object.
sourcepub fn add_child(&mut self, entry: Rc<RefCell<dyn FileDirEntry>>)
pub fn add_child(&mut self, entry: Rc<RefCell<dyn FileDirEntry>>)
Add the specified FileDirEntry object as a child of this directory.
Trait Implementations§
source§impl FileDirEntry for DirEntry
impl FileDirEntry for DirEntry
source§fn entry_type(&self) -> &FileDirTypes
fn entry_type(&self) -> &FileDirTypes
Returns a reference to the FileDirTypes value representing the type of
entry this trait represents.