4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\Translation
;
15 * MetadataAwareInterface.
17 * @author Fabien Potencier <fabien@symfony.com>
19 interface MetadataAwareInterface
22 * Gets metadata for the given domain and key.
24 * Passing an empty domain will return an array with all metadata indexed by
25 * domain and then by key. Passing an empty key will return an array with all
26 * metadata for the given domain.
28 * @param string $domain The domain name
29 * @param string $key The key
31 * @return mixed The value that was set or an array with the domains/keys or null
33 public function getMetadata($key = '', $domain = 'messages');
36 * Adds metadata to a message domain.
38 * @param string $key The key
39 * @param mixed $value The value
40 * @param string $domain The domain name
42 public function setMetadata($key, $value, $domain = 'messages');
45 * Deletes metadata for the given key and domain.
47 * Passing an empty domain will delete all metadata. Passing an empty key will
48 * delete all metadata for the given domain.
50 * @param string $domain The domain name
51 * @param string $key The key
53 public function deleteMetadata($key = '', $domain = 'messages');