<?php

/**
 * Generated by phpSPO model generator 2020-05-24T22:03:02+00:00 
 */
namespace Office365\Graph;

use Office365\Runtime\ClientObject;
use Office365\Runtime\ResourcePath;
/**
 *  "A mail folder in a user's mailbox, such as Inbox and Drafts. Mail folders can contain messages, other Outlook items, and child mail folders."
 */
class MailFolder extends ClientObject
{
    /**
     * The mailFolder's display name.
     * @return string
     */
    public function getDisplayName()
    {
        if (!$this->isPropertyAvailable("DisplayName")) {
            return null;
        }
        return $this->getProperty("DisplayName");
    }
    /**
     * The mailFolder's display name.
     * @var string
     */
    public function setDisplayName($value)
    {
        $this->setProperty("DisplayName", $value, true);
    }
    /**
     * The unique identifier for the mailFolder's parent mailFolder.
     * @return string
     */
    public function getParentFolderId()
    {
        if (!$this->isPropertyAvailable("ParentFolderId")) {
            return null;
        }
        return $this->getProperty("ParentFolderId");
    }
    /**
     * The unique identifier for the mailFolder's parent mailFolder.
     * @var string
     */
    public function setParentFolderId($value)
    {
        $this->setProperty("ParentFolderId", $value, true);
    }
    /**
     * The number of immediate child mailFolders in the current mailFolder.
     * @return integer
     */
    public function getChildFolderCount()
    {
        if (!$this->isPropertyAvailable("ChildFolderCount")) {
            return null;
        }
        return $this->getProperty("ChildFolderCount");
    }
    /**
     * The number of immediate child mailFolders in the current mailFolder.
     * @var integer
     */
    public function setChildFolderCount($value)
    {
        $this->setProperty("ChildFolderCount", $value, true);
    }
    /**
     * The number of items in the mailFolder marked as unread.
     * @return integer
     */
    public function getUnreadItemCount()
    {
        if (!$this->isPropertyAvailable("UnreadItemCount")) {
            return null;
        }
        return $this->getProperty("UnreadItemCount");
    }
    /**
     * The number of items in the mailFolder marked as unread.
     * @var integer
     */
    public function setUnreadItemCount($value)
    {
        $this->setProperty("UnreadItemCount", $value, true);
    }
    /**
     * The number of items in the mailFolder.
     * @return integer
     */
    public function getTotalItemCount()
    {
        if (!$this->isPropertyAvailable("TotalItemCount")) {
            return null;
        }
        return $this->getProperty("TotalItemCount");
    }
    /**
     * The number of items in the mailFolder.
     * @var integer
     */
    public function setTotalItemCount($value)
    {
        $this->setProperty("TotalItemCount", $value, true);
    }
}