/** * @param Tag $parent * @param Struct $struct * @param AttributeHandler $attribute */ private function parseRestrictionAttribute(Tag $parent, Struct $struct, AttributeHandler $attribute) { if ($attribute->getName() === 'base' && $attribute->getValue() !== $parent->getAttributeName()) { $struct->setInheritance($attribute->getValue()); } else { $struct->addMeta($attribute->getName(), $attribute->getValue(true)); } }
/** * Enumeration does not need its own value as meta information, it's like the name for struct attribute * @param AttributeHandler $tagAttribute * @param AbstractModel $model */ protected function parseTagAttributeValue(AttributeHandler $tagAttribute, AbstractModel $model) { if (!$model instanceof StructValue) { $model->addMeta($tagAttribute->getName(), $tagAttribute->getValue(true)); } }
/** * @param Tag $tag * @param Tag $child * @param AttributeHandler $attribute * @return TagRestriction */ private function parseRestrictionChildAttribute(Tag $tag, Tag $child, AttributeHandler $attribute) { if (strtolower($attribute->getName()) === 'arraytype' && ($model = $this->getModel($tag)) instanceof Struct) { $model->setInheritance($attribute->getValue()); } return $this; }