protected function addPropertiesToClassSchema(ClassSchema $classSchema)
    {
        $className = $classSchema->getClassName();
        $skipArtificialIdentity = false;

        /* @var $valueObjectAnnotation Flow\ValueObject */
        $valueObjectAnnotation = $this->getClassAnnotation($className, Flow\ValueObject::class);
        if ($valueObjectAnnotation !== null && $valueObjectAnnotation->embedded === true) {
            $skipArtificialIdentity = true;
        } elseif ($this->isClassAnnotatedWith($className, ORM\Embeddable::class)) {
            $skipArtificialIdentity = true;
        }

        foreach ($this->getClassPropertyNames($className) as $propertyName) {
            $skipArtificialIdentity = $this->evaluateClassPropertyAnnotationsForSchema($classSchema, $propertyName) ? true : $skipArtificialIdentity;
        }

        if ($skipArtificialIdentity !== true) {
            $classSchema->addProperty('Persistence_Object_Identifier', 'string');
        }
    }
protected function addPropertiesToClassSchema(ClassSchema $classSchema)
    {
        $className = $classSchema->getClassName();
        $skipArtificialIdentity = false;

        /* @var $valueObjectAnnotation Flow\ValueObject */
        $valueObjectAnnotation = $this->getClassAnnotation($className, Flow\ValueObject::class);
        if ($valueObjectAnnotation !== null && $valueObjectAnnotation->embedded === true) {
            $skipArtificialIdentity = true;
        } elseif ($this->isClassAnnotatedWith($className, ORM\Embeddable::class)) {
            $skipArtificialIdentity = true;
        }

        foreach ($this->getClassPropertyNames($className) as $propertyName) {
            $skipArtificialIdentity = $this->evaluateClassPropertyAnnotationsForSchema($classSchema, $propertyName) ? true : $skipArtificialIdentity;
        }

        if ($skipArtificialIdentity !== true) {
            $classSchema->addProperty('Persistence_Object_Identifier', 'string');
        }
    }
protected function addPropertiesToClassSchema ( ClassSchema $ classSchema ) { $ className = $ classSchema -> getClassName ( ) ; $ skipArtificialIdentity = false ; /* @var $valueObjectAnnotation Flow\ValueObject */ $ valueObjectAnnotation = $ this -> getClassAnnotation ( $ className , Flow \ ValueObject :: class ) ; if ( $ valueObjectAnnotation !== null && $ valueObjectAnnotation -> embedded === true ) { $ skipArtificialIdentity = true ; } elseif ( $ this -> isClassAnnotatedWith ( $ className , ORM \ Embeddable :: class ) ) { $ skipArtificialIdentity = true ; } foreach ( $ this -> getClassPropertyNames ( $ className ) as $ propertyName ) { $ skipArtificialIdentity = $ this -> evaluateClassPropertyAnnotationsForSchema ( $ classSchema , $ propertyName ) ? true : $ skipArtificialIdentity ; } if ( $ skipArtificialIdentity !== true ) { $ classSchema -> addProperty ( 'Persistence_Object_Identifier' , 'string' ) ; } }
Adds properties of the class at hand to the class schema.

Properties will be added if they have a var annotation && (!transient-annotation && !inject-annotation)

Invalid annotations will cause an exception to be thrown.

@param ClassSchema $classSchema
@return void
@throws Exception\InvalidPropertyTypeException
Adds properties of the class at hand to the class schema .