interface iToSchema extends BaseIface {
static function FromParams(SchemaIface $o,DataNodeIface $of,?bool $doReplace=FALSE) : self;
}
trait tToSchema {
use BaseTrait;
// ++ SETUP ++ //
public static function FromParams(SchemaIface $o,DataNodeIface $of,?bool $doReplace=FALSE) : iToSchema {
$oThis = new static;
$oThis->WithParams($o,$of,$doReplace);
return $oThis;
}
// ++ SETUP: dynamic ++ //
private $ofData;
private $doRepl;
protected function WithParams(SchemaIface $o, DataNodeIface $of, bool $doReplace) {
$this->QOSchema()->SetIt($o);
$this->ofData = $of;
$this->doRepl = $doReplace;
}
protected function DataFileNode() : DataNodeIface { return $this->ofData; }
protected function OkToReplace() : bool { return $this->doRepl; }
// -- SETUP -- //
}
abstract class caToSchema extends BaseClass implements iToSchema {
use tToSchema;
}