<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: grafeas/v1/vex.proto

namespace Grafeas\V1\VulnerabilityAssessmentNote;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBUtil;
use Google\Protobuf\RepeatedField;

/**
 * Publisher contains information about the publisher of
 * this Note.
 * (-- api-linter: core::0123::resource-annotation=disabled
 *     aip.dev/not-precedent: Publisher is not a separate resource. --)
 *
 * Generated from protobuf message <code>grafeas.v1.VulnerabilityAssessmentNote.Publisher</code>
 */
class Publisher extends \Google\Protobuf\Internal\Message
{
    /**
     * Name of the publisher.
     * Examples: 'Google', 'Google Cloud Platform'.
     *
     * Generated from protobuf field <code>string name = 1;</code>
     */
    protected $name = '';
    /**
     * Provides information about the authority of the issuing party to
     * release the document, in particular, the party's constituency and
     * responsibilities or other obligations.
     *
     * Generated from protobuf field <code>string issuing_authority = 2;</code>
     */
    protected $issuing_authority = '';
    /**
     * The context or namespace.
     * Contains a URL which is under control of the issuing party and can
     * be used as a globally unique identifier for that issuing party.
     * Example: https://csaf.io
     *
     * Generated from protobuf field <code>string publisher_namespace = 3;</code>
     */
    protected $publisher_namespace = '';

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type string $name
     *           Name of the publisher.
     *           Examples: 'Google', 'Google Cloud Platform'.
     *     @type string $issuing_authority
     *           Provides information about the authority of the issuing party to
     *           release the document, in particular, the party's constituency and
     *           responsibilities or other obligations.
     *     @type string $publisher_namespace
     *           The context or namespace.
     *           Contains a URL which is under control of the issuing party and can
     *           be used as a globally unique identifier for that issuing party.
     *           Example: https://csaf.io
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Grafeas\V1\Vex::initOnce();
        parent::__construct($data);
    }

    /**
     * Name of the publisher.
     * Examples: 'Google', 'Google Cloud Platform'.
     *
     * Generated from protobuf field <code>string name = 1;</code>
     * @return string
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * Name of the publisher.
     * Examples: 'Google', 'Google Cloud Platform'.
     *
     * Generated from protobuf field <code>string name = 1;</code>
     * @param string $var
     * @return $this
     */
    public function setName($var)
    {
        GPBUtil::checkString($var, True);
        $this->name = $var;

        return $this;
    }

    /**
     * Provides information about the authority of the issuing party to
     * release the document, in particular, the party's constituency and
     * responsibilities or other obligations.
     *
     * Generated from protobuf field <code>string issuing_authority = 2;</code>
     * @return string
     */
    public function getIssuingAuthority()
    {
        return $this->issuing_authority;
    }

    /**
     * Provides information about the authority of the issuing party to
     * release the document, in particular, the party's constituency and
     * responsibilities or other obligations.
     *
     * Generated from protobuf field <code>string issuing_authority = 2;</code>
     * @param string $var
     * @return $this
     */
    public function setIssuingAuthority($var)
    {
        GPBUtil::checkString($var, True);
        $this->issuing_authority = $var;

        return $this;
    }

    /**
     * The context or namespace.
     * Contains a URL which is under control of the issuing party and can
     * be used as a globally unique identifier for that issuing party.
     * Example: https://csaf.io
     *
     * Generated from protobuf field <code>string publisher_namespace = 3;</code>
     * @return string
     */
    public function getPublisherNamespace()
    {
        return $this->publisher_namespace;
    }

    /**
     * The context or namespace.
     * Contains a URL which is under control of the issuing party and can
     * be used as a globally unique identifier for that issuing party.
     * Example: https://csaf.io
     *
     * Generated from protobuf field <code>string publisher_namespace = 3;</code>
     * @param string $var
     * @return $this
     */
    public function setPublisherNamespace($var)
    {
        GPBUtil::checkString($var, True);
        $this->publisher_namespace = $var;

        return $this;
    }

}

