Add a transformation to the manager

@param array $transformations Array of transformations, keys being the transformation names
@return self
336964
public function addTransformations(array $transformations) {
        foreach ($transformations as $name => $transformation) {
            $this->addTransformation($name, $transformation);
        }

        return $this;
    }
598070
protected function transform(array $placeholders)
    {
        if (isset($this->config['parameters'])) {
            ArrayHelper::transform($this->config['parameters'], $placeholders);
            $placeholders = array_merge($this->config['parameters'], $placeholders);
            unset($this->config['parameters']);
        }
        ArrayHelper::transform($this->config, $placeholders);
        $this->rewind();
        return $this;
    }
862083
public function addStates(array $states): self
    {
        $builder = clone $this;
        foreach ($states as $state) {
            $builder->states[$state->getName()] = $state;
        }
        return $builder;
    }
876152
public function addTransform(string $transform, bool $top = true): self
	{
		$this->assertTransform($transform);

		if ($top) {
			array_unshift($this->transforms, $transform);
		} else {
			$this->transforms[] = $transform;
		}

		$this->setOptions['transforms'] = null;

		return $this;
	}
1305417
public function addHandlers(array $handlers)
    {
        foreach ($handlers as $key => $handler) {
            $this->addHandler($handler, $key);
        }
        return $this;
    }
192610
public function withProperties(array $properties): self
    {
        $map = $this->properties;

        foreach ($properties as $key => $value) {
            $map = $map->put($key, $value);
        }

        return new self(
            $this->class,
            $map,
            $this->injectionStrategy,
            $this->instanciator
        );
    }
234242
public function addMaps(array $maps)
    {
        foreach ($maps as $locale => $map) {
            $this->addMap($locale, $map);
        }

        return $this;
    }
888495
public function add($elements)
    {
        if (is_array($elements)) {
            foreach ($elements as $element) {
                $this->add($element);
            }
        } else {
            $this->collections->add($elements);
        }

        return $this;
    }
553419
public function addTransform($transform, $value)
    {
        if (is_string($transform) === false) {
            throw new \InvalidArgumentException(
                'Additional transforms must be non empty strings.'
            );
        }
        if (!array_key_exists($transform, $this->VALID_TRANSFORMS)) {
            throw new \InvalidArgumentException(
                'Invalid transform.'
            );
        }
        if($this->VALID_TRANSFORMS[$transform] == 'numeric' && !is_numeric($value))
        {
            throw new \InvalidArgumentException(
                'Transform '.$transform.' must have a numeric value.'
            );
        }
        if(is_array($this->VALID_TRANSFORMS[$transform]) && !in_array($value, $this->VALID_TRANSFORMS[$transform]))
        {
            throw new \InvalidArgumentException(
                'Transform '.$transform.' has an invalid value.'
            );
        }

        $this->transforms[] = array($transform, $value);

        return $this;
    }
647730
final public function addTransformer(Transformer $transformer)
    {
        if ($this->hasTransformer($transformer)) {
            throw new DuplicateTransformerException('Transformer already added.');
        }

        $this->transformers[spl_object_hash($transformer)] = $transformer;

        return $this;
    }
949215
public function push(...$elements): self
    {
        foreach ($elements as $element) {
            $this->validate($element);

            $this->elements[] = $element;
        }

        return $this;
    }
888243
public function addKeys($keys) {
		foreach ((array)$keys as $position => $key) {
			$this->keys[$position] = $key;
		}
		return $this;
	}
963220
public GeoShapeMapper transform(GeoTransformation... transformations) {
        if (this.transformations == null) {
            this.transformations = Arrays.asList(transformations);
        } else {
            this.transformations.addAll(Arrays.asList(transformations));
        }
        return this;
    }
268089
public function setChanges($changes)
    {
        if ($changes instanceof RecordFields) {
            $this->changes = $changes;
        } elseif (is_array($changes)) {
            $recordFields = new RecordFields();
            foreach ($changes as $change) {
                $recordFields->add($change);
            }
            $this->changes = $recordFields;
        }
        return $this;
    }
966549
public function with($relations)
    {
        $this->with = $relations;
        $this->fields = array_merge($this->fields, $this->with);
        return $this;
    }
441012
public function merge(Set $rules): self
    {
        $this->rules = array_merge($this->rules, $rules->rules);
        return $this;
    }
1366817
public function withProperties(array $properties): self
    {
        $map = $this->properties;

        foreach ($properties as $key => $value) {
            $map = $map->put($key, $value);
        }

        return new self(
            $this->object,
            $map,
            $this->injectionStrategy,
            $this->extractionStrategy
        );
    }