Ferreteria/v0.6/clade/Sys/FileSys/Aspect

From Woozle Writes Code
< Ferreteria‎ | v0.6‎ | clade‎ | Sys‎ | FileSys
Revision as of 16:00, 1 November 2025 by Woozle (talk | contribs) (Created page with "{{page/clade/v2 |fam= {{!}} align=right {{!}} {{l/ver/clade|Aux|StandardBase}} {{!}} align=center {{!}} → {{l/ver/clade|Sys\FileSys|Aspect}} → {{!}} align=left {{!}} {{l/ver/clade|Sys\FileSys\Aspect|Fi}}<br> {{l/ver/clade|Sys\FileSys\Aspect|Fo}}<br> {{l/ver/clade|Sys\FileSys\Aspect|Ident}}<br> {{l/ver/clade|Sys\FileSys\Aspect|InOut}} |alia= {{!-!}} '''Base'''* [c,i] {{!!}} {{l/ver/clade/full|p=ferreteria|Aux|StandardBase}} {{!-!}} '''Node'''* [c,i] {{!!}} {{l...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
clade: Sys\FileSys\Aspect
Clade Family
StandardBase Aspect

Fi
Fo
Ident
InOut

Clade Aliases
Alias Clade
Base* [c,i] Aux\StandardBase
Node* [c,i] Sys\FileSys\Node
Subpages

Code

interface iAspect extends BaseIface {
    static function FromNode(NodeIface $o) : self;
}
abstract class caAspect extends BaseClass implements iAspect {
    // ++ CONFIG ++ //

    protected function NodeClass() : string { return NodeClass::class; }

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

    public static function FromNode(NodeIface $o) : iAspect {
        $oThis = new static;
        $oThis->Node($o);
        return $oThis;
    }

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

    private $oNode = NULL;
    protected function Node(?NodeIface $o=NULL) : NodeIface { return is_object($o) ? ($this->oNode = $o) : ($this->oNode ?? ($this->oNode = $this->NewNode())); }
    abstract protected function NewNode() : NodeIface;

    // -- STRUCT -- //
}