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

From Woozle Writes Code
< Ferreteria‎ | v0.6‎ | clade‎ | Sys‎ | FileSys
Revision as of 18:55, 4 November 2025 by Woozle (talk | contribs)
Jump to navigation Jump to search
clade: Sys\FileSys\Aspect
Clade Family
StandardBase Aspect

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 -- //
}