Ferreteria/v0.6/clade/Sys/FileSys/aux/Fi/Data

From Woozle Writes Code
< Ferreteria‎ | v0.6‎ | clade‎ | Sys‎ | FileSys
Jump to navigation Jump to search
clade: Sys\FileSys\aux\Fi\Data
Clade Family
QStor Data (TBD)
Clade Aliases
Alias Clade
Base* [c,i] Sys\Data\Things\Array\QStor
FileIface Sys\FileSys\Node\Fi
QVarClass Data\Mem\QVar\Str
Subpages

About

  • PURPOSE: stores/retrieves metadata about export-data files

History

  • 2025-01-05 started
  • 2025-01-06 copied from [WF]Sys\Data\Engine\aux\MetaFile -> [WF]Sys/FileSys/Aspect/InOut/Fi/StoredArray
    • Original will become specialized for backup metadata, descending from this.
  • 2025-07-08 Changing this into an attached object, because I'm just having way too much trouble adding on array stuff with traits.
    • Renamed from [WFe]Sys/FileSys/Aspect/InOut/Fi.php -> [WFe]Sys/FileSys/aux/Data.php

Methods

| AddAll                | [WFe]/Sys/Data/Things/Array/ifaces/Q/Whole.php  | 29  |
| AddIt                 | [WFe]/Sys/Data/Things/Series.php                | 41  |
| AmHere                | [WFe]/Sys/Diag/Util/Helper.php                  | 270 |
| AmHereShort           | [WFe]/Sys/Diag/Util/Helper.php                  | 305 |
| Append                | [WFe]/Sys/Data/Things/Array/ifaces/Q/Series.php | 19  |
| AppendVals            | [WFe]/Sys/Data/Things/Array/ifaces/Q/Whole.php  | 32  |
| AsNew                 | [WFe]/Sys/Data/Things/Array/ifaces/Whole.php    | 43  |
| CCreatorMethod        | [WFe]/Sys/Diag/Util/Helper.php                  | 61  |
| CCreatorMethod_Set    | [WFe]/Sys/Diag/Util/Helper.php                  | 55  |
| Classes               | [WFe]/Aux/StandardBase.php                      | 32  |
| CodingPrompt          | [WFe]/Sys/Diag/Util/Helper.php                  | 395 |
| Count                 | [WFe]/Sys/Data/Things/Array/ifaces/Q/Whole.php  | 24  |
| Debug_Render          | [WFe]/Sys/Diag/Util/Helper.php                  | 180 |
| DiagnoseValue         | [WFe]/Sys/Diag/Util/Helper.php                  | 191 |
| ErrorWithStack        | [WFe]/Sys/Diag/Util/Helper.php                  | 525 |
| Fetch                 | [WFe]/Sys/FileSys/aux/Fi/Data.php               | 51  |
| FileLocationString    | [WFe]/Sys/Diag/Util/Helper.php                  | 482 |
| FromFile              | [WFe]/Sys/FileSys/aux/Fi/Data.php               | 22  |
| FromOArray            | [WFe]/Sys/Data/Things/Array/QStor.php           | 23  |
| FromStore             | [WFe]/Sys/Data/Things/Array/ifaces/Whole.php    | 36  |
| FromVArray            | [WFe]/Sys/Data/Things/Array/ifaces/Whole.php    | 48  |
| GetFinal              | [WFe]/Sys/Data/Things/Array/ifaces/Q/Series.php | 21  |
| GetFirst              | [WFe]/Sys/Data/Things/Array/ifaces/Q/Series.php | 13  |
| GetIt                 | [WFe]/Sys/Data/Things/Array/QStor.php           | 65  |
| GetItNz               | [WFe]/Sys/Data/Things/Array/ifaces/Q/Keyed.php  | 32  |
| GetItQ                | [WFe]/Sys/Data/Things/Array/QStor.php           | 130 |
| GetNext               | [WFe]/Sys/Data/Things/Array/ifaces/Q/Series.php | 15  |
| GetQObj               | [WFe]/Sys/Data/Things/Array/QStor.php           | 83  |
| GetRef                | [WFe]/Sys/Data/Things/Array/ifaces/Q/Keyed.php  | 55  |
| GetStore              | [WFe]/Sys/Data/Things/Array/ifaces/Whole.php    | 69  |
| GetThis               | [WFe]/Sys/Data/Things/Array/ifaces/Q/Series.php | 14  |
| GetVals               | [WFe]/Sys/Data/Things/Array/ifaces/Q/Whole.php  | 46  |
| Globals               | [WFe]/Aux/StandardBase.php                      | 31  |
| GoToFirst             | [WFe]/Sys/Data/Things/Series.php                | 43  |
| GoToNext              | [WFe]/Sys/Data/Things/Series.php                | 44  |
| GotToHere             | [WFe]/Sys/Diag/Util/Helper.php                  | 329 |
| HardAssert            | [WFe]/Sys/Diag/Util/Helper.php                  | 217 |
| HasIt                 | [WFe]/Sys/Data/Things/Array/ifaces/Q/Keyed.php  | 57  |
| HasThis               | [WFe]/Sys/Data/Things/Series.php                | 25  |
| Inspect               | [WFe]/Sys/Diag/Util/Helper.php                  | 154 |
| InspectNew            | [WFe]/Sys/Diag/Util/Helper.php                  | 155 |
| InspectorClass        | [WFe]/Sys/Data/Things/Array/ifaces/ARoot.php    | 19  |
| LetIt                 | [WFe]/Sys/Data/Things/Array/ifaces/Keyed.php    | 60  |
| LinePrefix            | [WFe]/Sys/Diag/Util/Helper.php                  | 361 |
| LoopCheck             | [WFe]/Sys/Diag/Util/Helper.php                  | 102 |
| MakeIt                | [WFe]/Sys/Data/Things/Array/ifaces/Q/Keyed.php  | 70  |
| MakeQ                 | [WFe]/Sys/Data/Things/Array/ifaces/Q/Whole.php  | 68  |
| MessageWithStack      | [WFe]/Sys/Diag/Util/Helper.php                  | 550 |
| OCreatorMethod        | [WFe]/Sys/Diag/Util/Helper.php                  | 84  |
| OCreatorMethod_Set    | [WFe]/Sys/Diag/Util/Helper.php                  | 78  |
| OCreatorReport        | [WFe]/Sys/Diag/Util/Helper.php                  | 472 |
| OFile                 | [WFe]/Sys/FileSys/aux/Fi/Data.php               | 32  |
| ObjectID              | [WFe]/Sys/Diag/Util/Helper.php                  | 479 |
| ObjectInfo            | [WFe]/Sys/Diag/Util/Helper.php                  | 480 |
| PromptForMethod       | [WFe]/Sys/Diag/Util/Helper.php                  | 368 |
| QVarClass             | [WFe]/Sys/FileSys/aux/Fi/Data.php               | 17  |
| QryIt                 | [WFe]/Sys/Data/Things/Array/ifaces/Keyed.php    | 40  |
| ReflectClass          | [WFe]/Sys/Diag/Util/Helper.php                  | 162 |
| ReflectObject         | [WFe]/Sys/Diag/Util/Helper.php                  | 160 |
| ReflectSelf           | [WFe]/Sys/Diag/Util/Helper.php                  | 158 |
| ReflectThis           | [WFe]/Sys/Diag/Util/Helper.php                  | 157 |
| Reflect_IsTraitMethod | [WFe]/Sys/Diag/Util/Helper.php                  | 186 |
| Reflect_MethodList    | [WFe]/Sys/Diag/Util/Helper.php                  | 185 |
| RemoveFirst           | [WFe]/Sys/Data/Things/Array/ifaces/Q/Series.php | 20  |
| RenderArray           | [WFe]/Sys/Diag/Util/Helper.php                  | 198 |
| RenderCaller          | [WFe]/Sys/Diag/Util/Helper.php                  | 434 |
| RenderError           | [WFe]/Sys/Diag/Util/Helper.php                  | 488 |
| RenderStackDump       | [WFe]/Sys/Diag/Util/Helper.php                  | 546 |
| RewindMe              | [WFe]/Sys/Data/Things/Series.php                | 42  |
| Screen                | [WFe]/Aux/Screener.php                          | 12  |
| SelfObject            | [WFe]/Sys/Diag/Util/Helper.php                  | 125 |
| SetIt                 | [WFe]/Sys/Data/Things/Array/QStor.php           | 38  |
| SetItQ                | [WFe]/Sys/Data/Things/Array/QStor.php           | 50  |
| SetStore              | [WFe]/Sys/Data/Things/Array/ifaces/Whole.php    | 68  |
| SetVals               | [WFe]/Sys/Data/Things/Array/QStor.php           | 57  |
| Settings              | [WFe]/Aux/StandardBase.php                      | 33  |
| ShowStack             | [WFe]/Sys/Diag/Util/Helper.php                  | 540 |
| SoftAssert            | [WFe]/Sys/Diag/Util/Helper.php                  | 207 |
| SortByKey             | [WFe]/Sys/Data/Things/Array/ifaces/Keyed.php    | 70  |
| StackFromCurrent      | [WFe]/Sys/Diag/Util/Helper.php                  | 164 |
| Store                 | [WFe]/Sys/FileSys/aux/Fi/Data.php               | 37  |
| TestAClass            | [WFe]/Sys/Diag/Util/Helper.php                  | 193 |
| ThrowHissy            | [WFe]/Sys/Diag/Util/Helper.php                  | 218 |
| ToString              | [WFe]/Sys/Data/Things/Array/QStor.php           | 110 |
| ToValue               | [WFe]/Sys/Data/Things/Array/ifaces/Q/Series.php | 26  |
| UserPrompt            | [WFe]/Sys/Diag/Util/Helper.php                  | 413 |
| WhoCalledMe           | [WFe]/Sys/Diag/Util/Helper.php                  | 450 |
| WithVArray            | [WFe]/Sys/Data/Things/Array/QStor.php           | 32  |
| ZapIt                 | [WFe]/Sys/Data/Things/Array/ifaces/Keyed.php    | 66  |
| ZapStore              | [WFe]/Sys/Data/Things/Array/ifaces/Whole.php    | 74  |
| __construct           | [WFe]/Sys/Data/Things/Array/QStor.php           | 21  |
| current               | [WFe]/Sys/Data/Things/Series.php                | 48  |
| key                   | [WFe]/Sys/Data/Things/Series.php                | 49  |
| next                  | [WFe]/Sys/Data/Things/Series.php                | 50  |
| offsetExists          | [WFe]/Sys/Data/Things/Array/ifaces/Keyed.php    | 75  |
| offsetGet             | [WFe]/Sys/Data/Things/Array/ifaces/Keyed.php    | 76  |
| offsetSet             | [WFe]/Sys/Data/Things/Array/ifaces/Keyed.php    | 77  |
| offsetUnset           | [WFe]/Sys/Data/Things/Array/ifaces/Keyed.php    | 78  |
| rewind                | [WFe]/Sys/Data/Things/Series.php                | 51  |
| valid                 | [WFe]/Sys/Data/Things/Series.php                | 52  |

Code

as of 2025-10-28

interface iData extends BaseIface {
    function Store();
    function Fetch();
}
class cData extends BaseClass implements iData {

    // ++ CONFIG ++ //

    protected function QVarClass(int|string $snKey) : string { return QVarClass::class; }

    // -- CONFIG -- //
    // ++ SETUP ++ //

    public static function FromFile(FileIface $o) : iData {
        $oThis = new static;
        $oThis->OFile($o);
        return $oThis;
    }

    // -- SETUP -- //
    // ++ STRUCT ++ //

    private $oFile = NULL;
    protected function OFile(?FileIface $o=NULL) : FileIface { return is_object($o) ? ($this->oFile = $o) : $this->oFile; }

    // -- STRUCT -- //
    // ++ R/W ++ //

    public function Store() {
        $oIdent = $this->OFile()->Ident();
        $fs = $oIdent->SpecFull();
        $fp = $oIdent->SpecPath();
        if (!file_exists($fp)) {
            $ok = @mkdir($fp,0777,TRUE);  // TODO: make filemode configurable
            if (!$ok) {
                echo self::Screen()->ErrorIt('Error').": could not create folder '$fp'.".CRLF;
                die();
            }
        }
        $jsData = json_encode($this->GetVals(),JSON_PRETTY_PRINT);
        file_put_contents($fs,$jsData);
    }
    public function Fetch() {
        $fs = $this->OFile()->Ident()->SpecFull();
        $jsData = file_get_contents($fs);
        $ar = json_decode($jsData,TRUE);
        if (is_array($ar)) {
            $this->SetVals($ar);
        } else {
            $nCh = strlen($jsData);
            $sS = ($nCh == 1) ? '' : 's';
            echo "File [$fs] did not contain decodeable JSON. ($nCh char$sS)".CRLF; die();
        }
    }

    // -- R/W -- //
}