123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- <?php
-
- /*
- * This file is part of the Assetic package, an OpenSky project.
- *
- * (c) 2010-2012 OpenSky Project Inc
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
- namespace Assetic\Asset;
-
- use Assetic\Filter\FilterInterface;
-
- /**
- * An asset has a mutable URL and content and can be loaded and dumped.
- *
- * @author Kris Wallsmith <kris.wallsmith@gmail.com>
- */
- interface AssetInterface
- {
- /**
- * Ensures the current asset includes the supplied filter.
- *
- * @param FilterInterface $filter A filter
- */
- public function ensureFilter(FilterInterface $filter);
-
- /**
- * Returns an array of filters currently applied.
- *
- * @return array An array of filters
- */
- public function getFilters();
-
- /**
- * Clears all filters from the current asset.
- */
- public function clearFilters();
-
- /**
- * Loads the asset into memory and applies load filters.
- *
- * You may provide an additional filter to apply during load.
- *
- * @param FilterInterface $additionalFilter An additional filter
- */
- public function load(FilterInterface $additionalFilter = null);
-
- /**
- * Applies dump filters and returns the asset as a string.
- *
- * You may provide an additional filter to apply during dump.
- *
- * Dumping an asset should not change its state.
- *
- * If the current asset has not been loaded yet, it should be
- * automatically loaded at this time.
- *
- * @param FilterInterface $additionalFilter An additional filter
- *
- * @return string The filtered content of the current asset
- */
- public function dump(FilterInterface $additionalFilter = null);
-
- /**
- * Returns the loaded content of the current asset.
- *
- * @return string The content
- */
- public function getContent();
-
- /**
- * Sets the content of the current asset.
- *
- * Filters can use this method to change the content of the asset.
- *
- * @param string $content The asset content
- */
- public function setContent($content);
-
- /**
- * Returns an absolute path or URL to the source asset's root directory.
- *
- * This value should be an absolute path to a directory in the filesystem,
- * an absolute URL with no path, or null.
- *
- * For example:
- *
- * * '/path/to/web'
- * * 'http://example.com'
- * * null
- *
- * @return string|null The asset's root
- */
- public function getSourceRoot();
-
- /**
- * Returns the relative path for the source asset.
- *
- * This value can be combined with the asset's source root (if both are
- * non-null) to get something compatible with file_get_contents().
- *
- * For example:
- *
- * * 'js/main.js'
- * * 'main.js'
- * * null
- *
- * @return string|null The source asset path
- */
- public function getSourcePath();
-
- /**
- * Returns the URL for the current asset.
- *
- * @return string|null A web URL where the asset will be dumped
- */
- public function getTargetPath();
-
- /**
- * Sets the URL for the current asset.
- *
- * @param string $targetPath A web URL where the asset will be dumped
- */
- public function setTargetPath($targetPath);
-
- /**
- * Returns the time the current asset was last modified.
- *
- * @return integer|null A UNIX timestamp
- */
- public function getLastModified();
- }
|