Get forwardAttributes

@return string
I am not gonna merge the attributes with the parents attributes  here.
That will just be too messy.
344295
public function getForwardAttributes()
    {
        if ($this->forwardAttributes)
            return $this->forwardAttributes;
        if ($this->getParent())
            return $this->getParent()->getForwardAttributes();
        return null;
    }
1070098
public function getAttributes()
    {
        $attributes = parent::getAttributes();
        if ($this->isChecked()) {
            $attributes->set('checked', null);
        }
        return $attributes;
    }
504992
public function getAttributes()
    {
        if ($this->_aAttributes === null) {
            // all attributes this article has
            $aArtAttributes = $this->getProduct()->getAttributes();

            //making a new array for backward compatibility
            $this->_aAttributes = false;

            if (count($aArtAttributes)) {
                foreach ($aArtAttributes as $sKey => $oAttribute) {
                    $this->_aAttributes[$sKey] = new stdClass();
                    $this->_aAttributes[$sKey]->title = $oAttribute->oxattribute__oxtitle->value;
                    $this->_aAttributes[$sKey]->value = $oAttribute->oxattribute__oxvalue->value;
                }
            }
        }

        return $this->_aAttributes;
    }
731500
public function getMutatedAttributes()
    {
        $attributes = parent::getMutatedAttributes();
        $jsonAttributes = array_keys($this->jsonAttributes);

        return array_merge($attributes, $jsonAttributes);
    }
818015
public function getAttributes(): array
    {
        if ($this->isLink === false) {
            return $this->attributes;
        } else {
            return array_merge(
                ['link' => $this->link],
                $this->attributes
            );
        }
    }
1306780
public function getNewAttributes()
    {
        $attributes = $this->prepareAttributes($this->attributes);
        $attributes = $this->getRevisionableItems($attributes);
        return $attributes;
    }
878469
private function getDefaultAttributes()
    {
        $attributes = ['id'];
        foreach ($this->entity->getAttributes() as $name => $attribute) {
            /* @var AbstractAttribute $attribute */
            if ($attribute->getToArrayDefault()) {
                $attributes[] = $name;
            }
        }

        return $this->arr($attributes)->implode(',')->val();
    }
1095806
public function getAttributes()
    {
        $attributesCount = $this->attributes->length;
        $attributes = [];

        for ($i = 0; $i < $attributesCount; $i++) {
            $attributes[] = $this->attributes->item($i);
        }

        return $attributes;
    }
72361
public function getDefaultAttributes()
    {
        $default_attributes = [
            new TextAttribute('identifier', $this),
            new IntegerAttribute('revision', $this, [ 'default_value' => 0 ]),
            new UuidAttribute('uuid', $this, [ 'default_value' => 'auto_gen' ]),
            new TextAttribute('language', $this, [ 'default_value' => 'de_DE' ]),
            new IntegerAttribute('version', $this, [ 'default_value' => 1 ]),
            new TextAttribute('workflow_state', $this),
            new KeyValueListAttribute('workflow_parameters', $this)
        ];

        if ($this->isHierarchical()) {
            $default_attributes[] = new TextAttribute('parent_node_id', $this);
        }

        $default_attributes_map = new AttributeMap($default_attributes);
        return parent::getDefaultAttributes()->append($default_attributes_map);
    }
870181
private function getAttributes()
    {
        $r = '';

        // Inside classes
        foreach ($this->insideClasses as $insideClassModule => $insideClasses) {
            foreach ($insideClasses as $insideClass) {
                $attributes = $this->xml->xpath(
                    '/draggy/module[@name=\'' . $insideClassModule . '\']/class[@name=\'' . $insideClass . '\']/attribute'
                );

                $r .= 'c = Connectable.prototype.getConnectableFromName(\'' . str_replace(
                    '\\',
                    '\\\\',
                    $insideClassModule . '\\'
                ) . $insideClass . '\');' . PHP_EOL;

                $r .= $this->getClassLikeAttributeProperties($insideClass, $attributes, 'c');

                if (isset( $insideClass['toString'] )) {
                    $r .= 'c.setToString(c.getAttributeFromName("' . $insideClass['toString'] . '"))' . PHP_EOL;
                }
            }
        }

        // Inside abstracts
        foreach ($this->insideAbstracts as $insideAbstractModule => $insideAbstracts) {
            foreach ($insideAbstracts as $insideAbstract) {
                $attributes = $this->xml->xpath(
                    '/draggy/module[@name=\'' . $insideAbstractModule . '\']/abstract[@name=\'' . $insideAbstract . '\']/attribute'
                );

                $r .= 's = Connectable.prototype.getConnectableFromName(\'' . str_replace(
                    '\\',
                    '\\\\',
                    $insideAbstractModule . '\\'
                ) . $insideAbstract . '\');' . PHP_EOL;

                $r .= $this->getClassLikeAttributeProperties($insideAbstract, $attributes, 's');

                if (isset( $insideAbstract['toString'] )) {
                    $r .= 's.setToString(s.getAttributeFromName("' . $insideAbstract['toString'] . '"))' . PHP_EOL;
                }
            }
        }

        // Outside classes
        foreach ($this->outsideClasses as $outsideClass) {
            $attributes = $this->xml->xpath('/draggy/loose/class[@name=\'' . $outsideClass . '\']/attribute');

            $r .= 'c = Connectable.prototype.getConnectableFromName(\'' . $outsideClass . '\');' . PHP_EOL;

            $r .= $this->getClassLikeAttributeProperties($outsideClass, $attributes, 'c');

            if (isset( $outsideClass['toString'] )) {
                $r .= 'c.setToString(c.getAttributeFromName("' . $outsideClass['toString'] . '"))' . PHP_EOL;
            }
        }

        // Outside abstracts
        foreach ($this->outsideAbstracts as $outsideAbstract) {
            $attributes = $this->xml->xpath('/draggy/loose/abstract[@name=\'' . $outsideAbstract . '\']/attribute');

            $r .= 's = Connectable.prototype.getConnectableFromName(\'' . $outsideAbstract . '\');' . PHP_EOL;

            $r .= $this->getClassLikeAttributeProperties($outsideAbstract, $attributes, 's');

            if (isset( $outsideAbstract['toString'] )) {
                $r .= 's.setToString(s.getAttributeFromName("' . $outsideAbstract['toString'] . '"))' . PHP_EOL;
            }
        }

        return $r;
    }
214909
public function getAttributes()
    {
        $attributes = parent::getAttributes();
        
        if ($this->options) {
            $attributes['remote-options'] = Convert::array2json($this->options);
        }
        
        if ($this->remoteValidator) {
            $attributes['remote-validator'] = $this->remoteValidator;
        }
        
        return $attributes;
    }
759586
protected function getAttributes() {
		if (empty($this->_attributes)) {
			foreach ($this->_readonlyAttributes as $attribute => $value) {
				$this->_attributes[$attribute] = $value;
			}

			foreach ($this->_defaultAttributes as $attribute => $value) {
				if(!array_key_exists($attribute, $this->_attributes)) {
					$this->_attributes[$attribute] = $value;
				}
			}
		}

		return $this->_attributes;
	}
1367842
public function setForwardAttributes($forwardAttributes)
    {
        // If it's the same as any thing in the chain, drop it.
        if ($forwardAttributes == $this->getForwardAttributes()) {
            return $this;
        }
        $this->forwardAttributes = $forwardAttributes;

        return $this;
    }
917471
public function getBitwiseAttribute()
    {
        $allow = 0;
        $deny  = 0;

        foreach ($this->attributes as $key => $value) {
            if (true === $value) {
                $allow |= (1 << $this->bitwise[$key]);
            } elseif (false === $value) {
                $deny |= (1 << $this->bitwise[$key]);
            }
        }

        return [$allow, $deny];
    }
880679
public function getAttributes()
    {
        if ($this->_oAttributeList === null) {
            $this->_oAttributeList = $this->newAttributelist();
            $this->_oAttributeList->loadAttributes($this->getId(), $this->getParentId());
        }

        return $this->_oAttributeList;
    }
678950
public function getAttributes()
    {
        return [
            'name'        => $this->name,
            'shortcut'    => $this->shortcut,
            'mode'        => $this->mode,
            'description' => $this->description,
            'default'     => $this->default,
        ];
    }
1085249
public function getRawAttributes()
    {
        $data = array();
        foreach ($this->attributes as $name => $attribute) {
            $data[$name] = $attribute->getValues();
        }
        return $data;
    }