<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: PushDataV3ApiWrapper.proto

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

/**
 * Generated from protobuf message <code>PushDataV3ApiWrapper</code>
 */
class PushDataV3ApiWrapper extends \Google\Protobuf\Internal\Message
{
    /**
     **
     * 频道
     *
     * Generated from protobuf field <code>string channel = 1;</code>
     */
    protected $channel = '';
    /**
     **
     * 交易对
     *
     * Generated from protobuf field <code>optional string symbol = 3;</code>
     */
    protected $symbol = null;
    /**
     **
     * 交易对ID
     *
     * Generated from protobuf field <code>optional string symbolId = 4;</code>
     */
    protected $symbolId = null;
    /**
     **
     * 消息生成时间
     *
     * Generated from protobuf field <code>optional int64 createTime = 5;</code>
     */
    protected $createTime = null;
    /**
     **
     * 消息推送时间
     *
     * Generated from protobuf field <code>optional int64 sendTime = 6;</code>
     */
    protected $sendTime = null;
    protected $body;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type string $channel
     *          *
     *           频道
     *     @type \PublicDealsV3Api $publicDeals
     *     @type \PublicIncreaseDepthsV3Api $publicIncreaseDepths
     *     @type \PublicLimitDepthsV3Api $publicLimitDepths
     *     @type \PrivateOrdersV3Api $privateOrders
     *     @type \PublicBookTickerV3Api $publicBookTicker
     *     @type \PrivateDealsV3Api $privateDeals
     *     @type \PrivateAccountV3Api $privateAccount
     *     @type \PublicSpotKlineV3Api $publicSpotKline
     *     @type \PublicMiniTickerV3Api $publicMiniTicker
     *     @type \PublicMiniTickersV3Api $publicMiniTickers
     *     @type \PublicBookTickerBatchV3Api $publicBookTickerBatch
     *     @type \PublicIncreaseDepthsBatchV3Api $publicIncreaseDepthsBatch
     *     @type \PublicAggreDepthsV3Api $publicAggreDepths
     *     @type \PublicAggreDealsV3Api $publicAggreDeals
     *     @type \PublicAggreBookTickerV3Api $publicAggreBookTicker
     *     @type string $symbol
     *          *
     *           交易对
     *     @type string $symbolId
     *          *
     *           交易对ID
     *     @type int|string $createTime
     *          *
     *           消息生成时间
     *     @type int|string $sendTime
     *          *
     *           消息推送时间
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\PushDataV3ApiWrapper::initOnce();
        parent::__construct($data);
    }

    /**
     **
     * 频道
     *
     * Generated from protobuf field <code>string channel = 1;</code>
     * @return string
     */
    public function getChannel()
    {
        return $this->channel;
    }

    /**
     **
     * 频道
     *
     * Generated from protobuf field <code>string channel = 1;</code>
     * @param string $var
     * @return $this
     */
    public function setChannel($var)
    {
        GPBUtil::checkString($var, True);
        $this->channel = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>.PublicDealsV3Api publicDeals = 301;</code>
     * @return \PublicDealsV3Api|null
     */
    public function getPublicDeals()
    {
        return $this->readOneof(301);
    }

    public function hasPublicDeals()
    {
        return $this->hasOneof(301);
    }

    /**
     * Generated from protobuf field <code>.PublicDealsV3Api publicDeals = 301;</code>
     * @param \PublicDealsV3Api $var
     * @return $this
     */
    public function setPublicDeals($var)
    {
        GPBUtil::checkMessage($var, \PublicDealsV3Api::class);
        $this->writeOneof(301, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.PublicIncreaseDepthsV3Api publicIncreaseDepths = 302;</code>
     * @return \PublicIncreaseDepthsV3Api|null
     */
    public function getPublicIncreaseDepths()
    {
        return $this->readOneof(302);
    }

    public function hasPublicIncreaseDepths()
    {
        return $this->hasOneof(302);
    }

    /**
     * Generated from protobuf field <code>.PublicIncreaseDepthsV3Api publicIncreaseDepths = 302;</code>
     * @param \PublicIncreaseDepthsV3Api $var
     * @return $this
     */
    public function setPublicIncreaseDepths($var)
    {
        GPBUtil::checkMessage($var, \PublicIncreaseDepthsV3Api::class);
        $this->writeOneof(302, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.PublicLimitDepthsV3Api publicLimitDepths = 303;</code>
     * @return \PublicLimitDepthsV3Api|null
     */
    public function getPublicLimitDepths()
    {
        return $this->readOneof(303);
    }

    public function hasPublicLimitDepths()
    {
        return $this->hasOneof(303);
    }

    /**
     * Generated from protobuf field <code>.PublicLimitDepthsV3Api publicLimitDepths = 303;</code>
     * @param \PublicLimitDepthsV3Api $var
     * @return $this
     */
    public function setPublicLimitDepths($var)
    {
        GPBUtil::checkMessage($var, \PublicLimitDepthsV3Api::class);
        $this->writeOneof(303, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.PrivateOrdersV3Api privateOrders = 304;</code>
     * @return \PrivateOrdersV3Api|null
     */
    public function getPrivateOrders()
    {
        return $this->readOneof(304);
    }

    public function hasPrivateOrders()
    {
        return $this->hasOneof(304);
    }

    /**
     * Generated from protobuf field <code>.PrivateOrdersV3Api privateOrders = 304;</code>
     * @param \PrivateOrdersV3Api $var
     * @return $this
     */
    public function setPrivateOrders($var)
    {
        GPBUtil::checkMessage($var, \PrivateOrdersV3Api::class);
        $this->writeOneof(304, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.PublicBookTickerV3Api publicBookTicker = 305;</code>
     * @return \PublicBookTickerV3Api|null
     */
    public function getPublicBookTicker()
    {
        return $this->readOneof(305);
    }

    public function hasPublicBookTicker()
    {
        return $this->hasOneof(305);
    }

    /**
     * Generated from protobuf field <code>.PublicBookTickerV3Api publicBookTicker = 305;</code>
     * @param \PublicBookTickerV3Api $var
     * @return $this
     */
    public function setPublicBookTicker($var)
    {
        GPBUtil::checkMessage($var, \PublicBookTickerV3Api::class);
        $this->writeOneof(305, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.PrivateDealsV3Api privateDeals = 306;</code>
     * @return \PrivateDealsV3Api|null
     */
    public function getPrivateDeals()
    {
        return $this->readOneof(306);
    }

    public function hasPrivateDeals()
    {
        return $this->hasOneof(306);
    }

    /**
     * Generated from protobuf field <code>.PrivateDealsV3Api privateDeals = 306;</code>
     * @param \PrivateDealsV3Api $var
     * @return $this
     */
    public function setPrivateDeals($var)
    {
        GPBUtil::checkMessage($var, \PrivateDealsV3Api::class);
        $this->writeOneof(306, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.PrivateAccountV3Api privateAccount = 307;</code>
     * @return \PrivateAccountV3Api|null
     */
    public function getPrivateAccount()
    {
        return $this->readOneof(307);
    }

    public function hasPrivateAccount()
    {
        return $this->hasOneof(307);
    }

    /**
     * Generated from protobuf field <code>.PrivateAccountV3Api privateAccount = 307;</code>
     * @param \PrivateAccountV3Api $var
     * @return $this
     */
    public function setPrivateAccount($var)
    {
        GPBUtil::checkMessage($var, \PrivateAccountV3Api::class);
        $this->writeOneof(307, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.PublicSpotKlineV3Api publicSpotKline = 308;</code>
     * @return \PublicSpotKlineV3Api|null
     */
    public function getPublicSpotKline()
    {
        return $this->readOneof(308);
    }

    public function hasPublicSpotKline()
    {
        return $this->hasOneof(308);
    }

    /**
     * Generated from protobuf field <code>.PublicSpotKlineV3Api publicSpotKline = 308;</code>
     * @param \PublicSpotKlineV3Api $var
     * @return $this
     */
    public function setPublicSpotKline($var)
    {
        GPBUtil::checkMessage($var, \PublicSpotKlineV3Api::class);
        $this->writeOneof(308, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.PublicMiniTickerV3Api publicMiniTicker = 309;</code>
     * @return \PublicMiniTickerV3Api|null
     */
    public function getPublicMiniTicker()
    {
        return $this->readOneof(309);
    }

    public function hasPublicMiniTicker()
    {
        return $this->hasOneof(309);
    }

    /**
     * Generated from protobuf field <code>.PublicMiniTickerV3Api publicMiniTicker = 309;</code>
     * @param \PublicMiniTickerV3Api $var
     * @return $this
     */
    public function setPublicMiniTicker($var)
    {
        GPBUtil::checkMessage($var, \PublicMiniTickerV3Api::class);
        $this->writeOneof(309, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.PublicMiniTickersV3Api publicMiniTickers = 310;</code>
     * @return \PublicMiniTickersV3Api|null
     */
    public function getPublicMiniTickers()
    {
        return $this->readOneof(310);
    }

    public function hasPublicMiniTickers()
    {
        return $this->hasOneof(310);
    }

    /**
     * Generated from protobuf field <code>.PublicMiniTickersV3Api publicMiniTickers = 310;</code>
     * @param \PublicMiniTickersV3Api $var
     * @return $this
     */
    public function setPublicMiniTickers($var)
    {
        GPBUtil::checkMessage($var, \PublicMiniTickersV3Api::class);
        $this->writeOneof(310, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.PublicBookTickerBatchV3Api publicBookTickerBatch = 311;</code>
     * @return \PublicBookTickerBatchV3Api|null
     */
    public function getPublicBookTickerBatch()
    {
        return $this->readOneof(311);
    }

    public function hasPublicBookTickerBatch()
    {
        return $this->hasOneof(311);
    }

    /**
     * Generated from protobuf field <code>.PublicBookTickerBatchV3Api publicBookTickerBatch = 311;</code>
     * @param \PublicBookTickerBatchV3Api $var
     * @return $this
     */
    public function setPublicBookTickerBatch($var)
    {
        GPBUtil::checkMessage($var, \PublicBookTickerBatchV3Api::class);
        $this->writeOneof(311, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.PublicIncreaseDepthsBatchV3Api publicIncreaseDepthsBatch = 312;</code>
     * @return \PublicIncreaseDepthsBatchV3Api|null
     */
    public function getPublicIncreaseDepthsBatch()
    {
        return $this->readOneof(312);
    }

    public function hasPublicIncreaseDepthsBatch()
    {
        return $this->hasOneof(312);
    }

    /**
     * Generated from protobuf field <code>.PublicIncreaseDepthsBatchV3Api publicIncreaseDepthsBatch = 312;</code>
     * @param \PublicIncreaseDepthsBatchV3Api $var
     * @return $this
     */
    public function setPublicIncreaseDepthsBatch($var)
    {
        GPBUtil::checkMessage($var, \PublicIncreaseDepthsBatchV3Api::class);
        $this->writeOneof(312, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.PublicAggreDepthsV3Api publicAggreDepths = 313;</code>
     * @return \PublicAggreDepthsV3Api|null
     */
    public function getPublicAggreDepths()
    {
        return $this->readOneof(313);
    }

    public function hasPublicAggreDepths()
    {
        return $this->hasOneof(313);
    }

    /**
     * Generated from protobuf field <code>.PublicAggreDepthsV3Api publicAggreDepths = 313;</code>
     * @param \PublicAggreDepthsV3Api $var
     * @return $this
     */
    public function setPublicAggreDepths($var)
    {
        GPBUtil::checkMessage($var, \PublicAggreDepthsV3Api::class);
        $this->writeOneof(313, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.PublicAggreDealsV3Api publicAggreDeals = 314;</code>
     * @return \PublicAggreDealsV3Api|null
     */
    public function getPublicAggreDeals()
    {
        return $this->readOneof(314);
    }

    public function hasPublicAggreDeals()
    {
        return $this->hasOneof(314);
    }

    /**
     * Generated from protobuf field <code>.PublicAggreDealsV3Api publicAggreDeals = 314;</code>
     * @param \PublicAggreDealsV3Api $var
     * @return $this
     */
    public function setPublicAggreDeals($var)
    {
        GPBUtil::checkMessage($var, \PublicAggreDealsV3Api::class);
        $this->writeOneof(314, $var);

        return $this;
    }

    /**
     * Generated from protobuf field <code>.PublicAggreBookTickerV3Api publicAggreBookTicker = 315;</code>
     * @return \PublicAggreBookTickerV3Api|null
     */
    public function getPublicAggreBookTicker()
    {
        return $this->readOneof(315);
    }

    public function hasPublicAggreBookTicker()
    {
        return $this->hasOneof(315);
    }

    /**
     * Generated from protobuf field <code>.PublicAggreBookTickerV3Api publicAggreBookTicker = 315;</code>
     * @param \PublicAggreBookTickerV3Api $var
     * @return $this
     */
    public function setPublicAggreBookTicker($var)
    {
        GPBUtil::checkMessage($var, \PublicAggreBookTickerV3Api::class);
        $this->writeOneof(315, $var);

        return $this;
    }

    /**
     **
     * 交易对
     *
     * Generated from protobuf field <code>optional string symbol = 3;</code>
     * @return string
     */
    public function getSymbol()
    {
        return isset($this->symbol) ? $this->symbol : '';
    }

    public function hasSymbol()
    {
        return isset($this->symbol);
    }

    public function clearSymbol()
    {
        unset($this->symbol);
    }

    /**
     **
     * 交易对
     *
     * Generated from protobuf field <code>optional string symbol = 3;</code>
     * @param string $var
     * @return $this
     */
    public function setSymbol($var)
    {
        GPBUtil::checkString($var, True);
        $this->symbol = $var;

        return $this;
    }

    /**
     **
     * 交易对ID
     *
     * Generated from protobuf field <code>optional string symbolId = 4;</code>
     * @return string
     */
    public function getSymbolId()
    {
        return isset($this->symbolId) ? $this->symbolId : '';
    }

    public function hasSymbolId()
    {
        return isset($this->symbolId);
    }

    public function clearSymbolId()
    {
        unset($this->symbolId);
    }

    /**
     **
     * 交易对ID
     *
     * Generated from protobuf field <code>optional string symbolId = 4;</code>
     * @param string $var
     * @return $this
     */
    public function setSymbolId($var)
    {
        GPBUtil::checkString($var, True);
        $this->symbolId = $var;

        return $this;
    }

    /**
     **
     * 消息生成时间
     *
     * Generated from protobuf field <code>optional int64 createTime = 5;</code>
     * @return int|string
     */
    public function getCreateTime()
    {
        return isset($this->createTime) ? $this->createTime : 0;
    }

    public function hasCreateTime()
    {
        return isset($this->createTime);
    }

    public function clearCreateTime()
    {
        unset($this->createTime);
    }

    /**
     **
     * 消息生成时间
     *
     * Generated from protobuf field <code>optional int64 createTime = 5;</code>
     * @param int|string $var
     * @return $this
     */
    public function setCreateTime($var)
    {
        GPBUtil::checkInt64($var);
        $this->createTime = $var;

        return $this;
    }

    /**
     **
     * 消息推送时间
     *
     * Generated from protobuf field <code>optional int64 sendTime = 6;</code>
     * @return int|string
     */
    public function getSendTime()
    {
        return isset($this->sendTime) ? $this->sendTime : 0;
    }

    public function hasSendTime()
    {
        return isset($this->sendTime);
    }

    public function clearSendTime()
    {
        unset($this->sendTime);
    }

    /**
     **
     * 消息推送时间
     *
     * Generated from protobuf field <code>optional int64 sendTime = 6;</code>
     * @param int|string $var
     * @return $this
     */
    public function setSendTime($var)
    {
        GPBUtil::checkInt64($var);
        $this->sendTime = $var;

        return $this;
    }

    /**
     * @return string
     */
    public function getBody()
    {
        return $this->whichOneof("body");
    }

}

