Ferreteria/v0.6/clade/Sys/FileSys/Aspect: Difference between revisions

From Woozle Writes Code
< Ferreteria‎ | v0.6‎ | clade‎ | Sys‎ | FileSys
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 2: Line 2:
|fam=
|fam=
{{!}} align=right  {{!}} {{l/ver/clade|Aux|StandardBase}}
{{!}} align=right  {{!}} {{l/ver/clade|Aux|StandardBase}}
{{!}} align=center {{!}} &rarr; {{l/ver/clade|Sys\FileSys|Aspect}} &rarr;
{{!}} align=center {{!}} &rArr; {{l/ver/clade|Sys\FileSys|Aspect}} &rArr;
{{!}} align=left {{!}}
{{!}} align=left {{!}}
{{l/ver/clade|Sys\FileSys\Aspect|Ident}}<br>
{{l/ver/clade|Sys\FileSys\Aspect|Ident}}<br>

Revision as of 18:55, 4 November 2025

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