/** * Constructor. * * @param null|mixed[] $json The json string being decoded */ public function __construct($json = null) { parent::__construct($json); $this->loadLast($json); $this->loadRevision($json, [self::REVISION_TYPE_SINGLE_USER, self::REVISION_TYPE_VOTE_BASED]); $this->body = Util::setIfStringExists($json, 'body'); $this->comment = Util::setIfStringExists($json, 'comment'); $this->rollback = Util::setIfBoolExists($json, 'is_rollback'); $this->postId = Util::setIfIntegerExists($json, 'post_id'); $this->postType = Util::isEqual($json, 'post_type', [self::POST_TYPE_QUESTION, self::POST_TYPE_ANSWER]); $this->setCommunityWiki = Util::setIfBoolExists($json, 'set_community_wiki'); $this->user = new ShallowUser(Util::setIfArrayExists($json, 'user')); }
/** * Constructor. * * @param null|mixed[] $json The json string being decoded */ public function __construct($json = null) { parent::__construct($json); $this->loadAnswered($json); $this->loadGenericId($json); $this->answerCount = Util::setIfIntegerExists($json, 'answer_count'); $this->closedDate = Util::setIfDateTimeExists($json, 'closed_date'); $this->communityOwnedDate = Util::setIfDateTimeExists($json, 'community_owned_date'); $this->equivalentTagsSearch = Util::setIfArrayExists($json, 'equivalent_tag_search'); $this->excerpt = Util::setIfStringExists($json, 'excerpt'); $this->hasAcceptedAnswer = Util::setIfBoolExists($json, 'has_accepted_answer'); $this->isAccepted = Util::setIfBoolExists($json, 'is_accepted'); $this->itemType = Util::isEqual($json, 'item_type', [self::ITEM_TYPE_ANSWER, self::ITEM_TYPE_QUESTION]); $this->lastActivityDate = Util::setIfDateTimeExists($json, 'last_activity_date'); $this->lastActivityUser = new ShallowUser(Util::setIfArrayExists($json, 'last_activity_user')); $this->lockedDate = Util::setIfDateTimeExists($json, 'locked_date'); $this->owner = new ShallowUser(Util::setIfArrayExists($json, 'owner')); $this->questionScore = Util::setIfIntegerExists($json, 'question_score'); $this->score = Util::setIfIntegerExists($json, 'score'); }