VariantCollectionInterface.php

Same filename and directory in other branches
  1. 4.0.x src/Plugin/VariantCollectionInterface.php

Namespace

Drupal\ctools\Plugin

File

src/Plugin/VariantCollectionInterface.php

View source
<?php

namespace Drupal\ctools\Plugin;


/**
 * Provides an interface for objects that have variants e.g. Pages.
 */
interface VariantCollectionInterface {
    
    /**
     * Adds a new variant to the entity.
     *
     * @param array $configuration
     *   An array of configuration for the new variant.
     *
     * @return string
     *   The variant ID.
     */
    public function addVariant(array $configuration);
    
    /**
     * Retrieves a specific variant.
     *
     * @param string $variant_id
     *   The variant ID.
     *
     * @return \Drupal\Core\Display\VariantInterface
     *   The variant object.
     */
    public function getVariant($variant_id);
    
    /**
     * Removes a specific variant.
     *
     * @param string $variant_id
     *   The variant ID.
     *
     * @return $this
     */
    public function removeVariant($variant_id);
    
    /**
     * Returns the variants available for the entity.
     *
     * @return \Drupal\Core\Display\VariantInterface[]
     *   An array of the variants.
     */
    public function getVariants();

}

Interfaces

Title Deprecated Summary
VariantCollectionInterface Provides an interface for objects that have variants e.g. Pages.