<?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;

/**
 * Token
 *
 * @author sochoa
 */
class Token {

    private $id;
    private $name;
    private $suspended;
    private $parent;
    private $node;
    private $start;
    private $end;
    private $availableTransitions = [];
    private $comments = [];
    private $processInstance;

    function __construct() {
        
    }
    
    function getId() {
        return $this->id;
    }

    function getName() {
        return $this->name;
    }

    function isSuspended() {
        return $this->suspended;
    }

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

    function getNode() {
        return $this->node;
    }

    function getStart() {
        return $this->start;
    }

    function getEnd() {
        return $this->end;
    }

    function getAvailableTransitions() {
        return $this->availableTransitions;
    }

    function getComments() {
        return $this->comments;
    }

    function getProcessInstance() {
        return $this->processInstance;
    }

    function setId($id) {
        $this->id = $id;
    }

    function setName($name) {
        $this->name = $name;
    }

    function setSuspended($suspended) {
        $this->suspended = $suspended;
    }

    function setParent(Token $parent) {
        $this->parent = $parent;
    }

    function setNode($node) {
        $this->node = $node;
    }

    function setStart($start) {
        $this->start = $start;
    }

    function setEnd($end) {
        $this->end = $end;
    }

    function setAvailableTransitions($availableTransitions = []) {
        $this->availableTransitions = $availableTransitions;
    }

    function setComments($comments = []) {
        $this->comments = $comments;
    }

    function setProcessInstance(ProcessInstance $processInstance) {
        $this->processInstance = $processInstance;
    }



}
