HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers95/rentman.io/app/Komma/Kms/Core/NestedSets/Nodes/TreeModelInterface.php
<?php

namespace App\Komma\Kms\Core\NestedSets\Nodes;

interface TreeModelInterface
{
    /**
     * Actually finds the children for the node.
     *
     * @param int $depth
     * @return array
     */
    public function findChildren($depth = 0);

    /**
     * Returns the loaded children for the node.
     *
     * @return array
     */
    public function getChildren();

    /**
     * Sets the children for the model.
     *
     * @param array $children
     * @return void
     */
    public function setChildren(array $children);

    /**
     * Clears the children for the model.
     *
     * @return void
     */
    public function clearChildren();

    /**
     * Sets the child in the children array at
     * the given index.
     *
     * @param TreeModelInterface $child
     * @param int $index
     * @return void
     */
    public function setChildAtIndex(self $child, $index);

    /**
     * Returns the child at the given index. If
     * the index does not exist, we return "null"
     *
     * @param int $index
     * @return TreeModelInterface $child
     */
    public function getChildAtIndex($index);

    /**
     * Get the table associated with the node.
     *
     * @return string
     */
    public function getTable();

    /**
     * Get the primary key for the node.
     *
     * @return string
     */
    public function getKeyName();

    /**
     * Get the value indicating whether the IDs are incrementing.
     *
     * @return bool
     */
    public function getIncrementing();

    /**
     * Get all of the current attributes on the node.
     *
     * @return array
     */
    public function getAllAttributes();

    /**
     * Set all of the current attributes on the node.
     *
     * @param array $attributes
     * @return void
     */
    public function setAllAttributes(array $attributes);

    /**
     * Get an attribute from the model.
     *
     * @param string $key
     * @return mixed
     */
    public function getAttribute($key);

    /**
     * Set a given attribute on the model.
     *
     * @param string $key
     * @param mixed $value
     * @return void
     */
    public function setAttribute($key, $value);

    /**
     * Get the reserved attributes.
     *
     * @return array
     */
    public function getReservedAttributeNames();

    /**
     * Get the name of a reserved attribute.
     *
     * @param string $key
     * @return string
     */
    public function getReservedAttributeName($key);

    /**
     * Return the "depth" attribute.
     *
     * @return string
     */
    public function getDepthAttributeName();

    /**
     * Finds all nodes in a flat array.
     *
     * @return array
     */
    public function findAll();

    /**
     * Creates a new instance of this node.
     *
     * @return TreeModelInterface
     */
    public function createNode();

    /**
     * Callback after the node is created in the
     * database, not necessarily through save().
     *
     * @return void
     */
    public function afterCreate();

    /**
     * Makes the model the last child of the given parent.
     *
     * @param TreeModelInterface $parent
     * @return void
     */
    public function makeLastChildOf(self $parent);

    /**
     * Callback after the node is updated in the
     * database, not necessarily through save().
     *
     * @return void
     */
    public function afterUpdate();

    /**
     * Returns the parent for the node.
     *
     * @return TreeModel
     */
    public function getParent();

    /**
     * Returns the count of children for the model.
     *
     * @param int $depth
     * @return int
     */
    public function getChildrenCount($depth = 0);

    /**
     * Delete the model from the database and also
     * all of it's children.
     *
     * @return void
     */
    public function deleteWithChildren();

    /**
     * Return a number, representing some color that represents
     * the status if the TreeModel. Used at the frontend
     *
     * @return mixed
     */
    public function getColorStatusNumber():int;
}