<?php

/**
 * OpenKM, Open Knowledge Management System S.L.  (http://www.openkm.com)
 * Copyright (c) 2006-2023
 *
 * No bytes were intentionally harmed during the development of this application.
 *
 * This program is commercial software; you can use it under the terms of the
 * EULA - OpenKM SDK End User License Agreement as published by OpenKM Knowledge Management System S.L.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * EULA - OpenKM SDK End User License Agreement for more details:
 * http://docs.openkm.com/kcenter/view/licenses/eula-openkm-sdk-end-user-license-agreement.html
 */

namespace openkm\bean;

/**
 * Node
 *
 * @author sochoa
 */
class Node {

    const AUTHOR = 'okm:author';
    const NAME = 'okm:name';
    const DESCRIPTION = 'okm:description';

    protected $created;
    protected $lastModified;    
    protected $path;
    protected $author;
    protected $permissions = 0;
    protected $uuid;
    protected $parent;    
    protected $subscribed = false;
    protected $nodeClass = 0;
    protected $dispositionCurrentStage;
    protected $subscriptors = [];
    protected $keywords = [];
    protected $categories = [];
    protected $notes = [];    
    protected $linkTarget = null;
    private $actualVersion;
    private $promotedAsRecord; 
    private $hasRelations = false;
    private $description = "";    
    private $restricted;
    private $locked = false;                    
    private $template;
    private $lockInfo;
    
    public function getCreated() {
        return $this->created;
    }

    public function getLastModified() {
        return $this->lastModified;
    }

    public function getPath() {
        return $this->path;
    }

    public function getAuthor() {
        return $this->author;
    }

    public function getPermissions() {
        return $this->permissions;
    }

    public function getUuid() {
        return $this->uuid;
    }

    public function getParent() {
        return $this->parent;
    }

    public function getSubscribed() {
        return $this->subscribed;
    }

    public function getNodeClass() {
        return $this->nodeClass;
    }

    public function getDispositionCurrentStage() {
        return $this->dispositionCurrentStage;
    }

    public function getSubscriptors() {
        return $this->subscriptors;
    }

    public function getKeywords() {
        return $this->keywords;
    }

    public function getCategories() {
        return $this->categories;
    }

    public function getNotes() {
        return $this->notes;
    }

    public function getActualVersion() {
        return $this->actualVersion;
    }

    public function getPromotedAsRecord() {
        return $this->promotedAsRecord;
    }

    public function getHasRelations() {
        return $this->hasRelations;
    }

    public function getDescription() {
        return $this->description;
    }

    public function getRestricted() {
        return $this->restricted;
    }

    public function getLocked() {
        return $this->locked;
    }

    public function getTemplate() {
        return $this->template;
    }

    public function getLockInfo() {
        return $this->lockInfo;
    }

    public function setCreated($created): void {
        $this->created = $created;
    }

    public function setLastModified($lastModified): void {
        $this->lastModified = $lastModified;
    }

    public function setPath($path): void {
        $this->path = $path;
    }

    public function setAuthor($author): void {
        $this->author = $author;
    }

    public function setPermissions($permissions): void {
        $this->permissions = $permissions;
    }

    public function setUuid($uuid): void {
        $this->uuid = $uuid;
    }

    public function setParent($parent): void {
        $this->parent = $parent;
    }

    public function setSubscribed($subscribed): void {
        $this->subscribed = $subscribed;
    }

    public function setNodeClass($nodeClass): void {
        $this->nodeClass = $nodeClass;
    }

    public function setDispositionCurrentStage($dispositionCurrentStage): void {
        $this->dispositionCurrentStage = $dispositionCurrentStage;
    }

    public function setSubscriptors($subscriptors): void {
        $this->subscriptors = $subscriptors;
    }

    public function setKeywords($keywords): void {
        $this->keywords = $keywords;
    }

    public function setCategories($categories): void {
        $this->categories = $categories;
    }

    public function setNotes($notes): void {
        $this->notes = $notes;
    }

    public function setActualVersion($actualVersion): void {
        $this->actualVersion = $actualVersion;
    }

    public function setPromotedAsRecord($promotedAsRecord): void {
        $this->promotedAsRecord = $promotedAsRecord;
    }

    public function setHasRelations($hasRelations): void {
        $this->hasRelations = $hasRelations;
    }

    public function setDescription($description): void {
        $this->description = $description;
    }

    public function setRestricted($restricted): void {
        $this->restricted = $restricted;
    }

    public function setLocked($locked): void {
        $this->locked = $locked;
    }

    public function setTemplate($template): void {
        $this->template = $template;
    }

    public function setLockInfo($lockInfo): void {
        $this->lockInfo = $lockInfo;
    }
}

?>
