...

Source file src/github.com/dsoprea/go-utility/v2/filesystem/simplefileinfo.go

Documentation: github.com/dsoprea/go-utility/v2/filesystem

     1  package rifs
     2  
     3  import (
     4  	"os"
     5  	"time"
     6  )
     7  
     8  // SimpleFileInfo is a simple `os.FileInfo` implementation useful for testing
     9  // with the bare minimum.
    10  type SimpleFileInfo struct {
    11  	filename string
    12  	isDir    bool
    13  	size     int64
    14  	mode     os.FileMode
    15  	modTime  time.Time
    16  }
    17  
    18  // NewSimpleFileInfoWithFile returns a new file-specific SimpleFileInfo.
    19  func NewSimpleFileInfoWithFile(filename string, size int64, mode os.FileMode, modTime time.Time) *SimpleFileInfo {
    20  	return &SimpleFileInfo{
    21  		filename: filename,
    22  		isDir:    false,
    23  		size:     size,
    24  		mode:     mode,
    25  		modTime:  modTime,
    26  	}
    27  }
    28  
    29  // NewSimpleFileInfoWithDirectory returns a new directory-specific
    30  // SimpleFileInfo.
    31  func NewSimpleFileInfoWithDirectory(filename string, modTime time.Time) *SimpleFileInfo {
    32  	return &SimpleFileInfo{
    33  		filename: filename,
    34  		isDir:    true,
    35  		mode:     os.ModeDir,
    36  		modTime:  modTime,
    37  	}
    38  }
    39  
    40  // Name returns the base name of the file.
    41  func (sfi *SimpleFileInfo) Name() string {
    42  	return sfi.filename
    43  }
    44  
    45  // Size returns the length in bytes for regular files; system-dependent for
    46  // others.
    47  func (sfi *SimpleFileInfo) Size() int64 {
    48  	return sfi.size
    49  }
    50  
    51  // Mode returns the file mode bits.
    52  func (sfi *SimpleFileInfo) Mode() os.FileMode {
    53  	return sfi.mode
    54  }
    55  
    56  // ModTime returns the modification time.
    57  func (sfi *SimpleFileInfo) ModTime() time.Time {
    58  	return sfi.modTime
    59  }
    60  
    61  // IsDir returns true if a directory.
    62  func (sfi *SimpleFileInfo) IsDir() bool {
    63  	return sfi.isDir
    64  }
    65  
    66  // Sys returns internal state.
    67  func (sfi *SimpleFileInfo) Sys() interface{} {
    68  	return nil
    69  }
    70  

View as plain text