<?php
 
 
 

namespace PhpWA\Protocol\Proto;

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




class UserPassword extends \Google\Protobuf\Internal\Message
{
    


    protected $encoding = null;
    


    protected $transformer = null;
    


    private $transformerArg;
    


    protected $transformedData = null;

    











    public function __construct($data = NULL) {
        \PhpWA\Protocol\Proto\Metadata\WAProto::initOnce();
        parent::__construct($data);
    }

    



    public function getEncoding()
    {
        return isset($this->encoding) ? $this->encoding : 0;
    }

    public function hasEncoding()
    {
        return isset($this->encoding);
    }

    public function clearEncoding()
    {
        unset($this->encoding);
    }

    




    public function setEncoding($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\UserPassword\Encoding::class);
        $this->encoding = $var;

        return $this;
    }

    



    public function getTransformer()
    {
        return isset($this->transformer) ? $this->transformer : 0;
    }

    public function hasTransformer()
    {
        return isset($this->transformer);
    }

    public function clearTransformer()
    {
        unset($this->transformer);
    }

    




    public function setTransformer($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\UserPassword\Transformer::class);
        $this->transformer = $var;

        return $this;
    }

    



    public function getTransformerArg()
    {
        return $this->transformerArg;
    }

    




    public function setTransformerArg($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \PhpWA\Protocol\Proto\UserPassword\TransformerArg::class);
        $this->transformerArg = $arr;

        return $this;
    }

    



    public function getTransformedData()
    {
        return isset($this->transformedData) ? $this->transformedData : '';
    }

    public function hasTransformedData()
    {
        return isset($this->transformedData);
    }

    public function clearTransformedData()
    {
        unset($this->transformedData);
    }

    




    public function setTransformedData($var)
    {
        GPBUtil::checkString($var, False);
        $this->transformedData = $var;

        return $this;
    }

}

