ILIAS  trunk Revision v11.0_alpha-1769-g99a433fe2dc
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
FlavourMachine.php
Go to the documentation of this file.
1 <?php
2 
20 
25 
30 interface FlavourMachine
31 {
35  public function __construct();
36 
46  public function getId(): string;
47 
51  public function canHandleDefinition(FlavourDefinition $definition): bool;
52 
57  public function dependsOnEngine(): ?string;
58 
62  public function withEngine(Engine $engine): FlavourMachine;
63 
67  public function getEngine(): Engine;
68 
77  public function processStream(
78  FileInformation $information,
79  FileStream $stream,
80  FlavourDefinition $for_definition
81  ): \Generator;
82 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
canHandleDefinition(FlavourDefinition $definition)
Check if a corresponding configuration can be processed by this Machine.
withEngine(Engine $engine)
The demanded Engine will be passed here.
processStream(FileInformation $information, FileStream $stream, FlavourDefinition $for_definition)
dependsOnEngine()
Return the class name of the Engine that is required for this Machine to work.
The base interface for all filesystem streams.
Definition: FileStream.php:31
__construct()
FlavourMachines must be able to be created without further dependencies.