From: Roland Häder Date: Sun, 17 Apr 2011 18:49:10 +0000 (+0000) Subject: Added class templates for I/O classes X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=4435c2d922e89195cd9b8c47bb296f51b193243c;p=core.git Added class templates for I/O classes --- diff --git a/.gitattributes b/.gitattributes index adabfe5b..e396929b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -528,8 +528,10 @@ inc/classes/main/streams/crypto/.htaccess -text svneol=unset#text/plain inc/classes/main/streams/crypto/class_McryptStream.php -text svneol=unset#text/plain inc/classes/main/streams/crypto/class_NullCryptoStream.php -text svneol=unset#text/plain inc/classes/main/streams/input/.htaccess svneol=native#text/plain +inc/classes/main/streams/input/class_ -text inc/classes/main/streams/input/class_BaseInputStream.php svneol=native#text/plain inc/classes/main/streams/output/.htaccess svneol=native#text/plain +inc/classes/main/streams/output/class_ -text inc/classes/main/streams/output/class_BaseOutputStream.php svneol=native#text/plain inc/classes/main/template/.htaccess -text svneol=unset#text/plain inc/classes/main/template/class_ -text svneol=unset#text/plain diff --git a/inc/classes/main/streams/input/class_ b/inc/classes/main/streams/input/class_ new file mode 100644 index 00000000..81fb8ed6 --- /dev/null +++ b/inc/classes/main/streams/input/class_ @@ -0,0 +1,62 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 Developer Team + * @license GNU GPL 3.0 or any newer version + * @link http://www.ship-simu.org + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +class ???InputStream extends BaseInputStream implements InputStreamable { + /** + * Protected constructor + * + * @return void + */ + protected function __construct () { + // Call parent constructor + parent::__construct(__CLASS__); + } + + /** + * Creates an instance of this node class + * + * @return $streamInstance An instance of this node class + */ + public final static function create???InputStream (Requestable $requestInstance) { + // Get a new instance + $streamInstance = new ???InputStream(); + + // Return the instance + return $streamInstance; + } + + /** + * Streams the data and maybe does something to it + * + * @param $data The data (string mostly) to "stream" + * @return $data The data (string mostly) to "stream" + * @throws UnsupportedOperationException If this method is called + */ + public function streamData ($data) { + $this->debugOutput('Unhandled ' . strlen($data) . ' bytes in this stream.'); + throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION); + } +} + +// [EOF] +?> diff --git a/inc/classes/main/streams/output/class_ b/inc/classes/main/streams/output/class_ new file mode 100644 index 00000000..5be4d72b --- /dev/null +++ b/inc/classes/main/streams/output/class_ @@ -0,0 +1,62 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 Developer Team + * @license GNU GPL 3.0 or any newer version + * @link http://www.ship-simu.org + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +class ???OutputStream extends BaseOutputStream implements OutputStreamable { + /** + * Protected constructor + * + * @return void + */ + protected function __construct () { + // Call parent constructor + parent::__construct(__CLASS__); + } + + /** + * Creates an instance of this node class + * + * @return $streamInstance An instance of this node class + */ + public final static function create???OutputStream (Requestable $requestInstance) { + // Get a new instance + $streamInstance = new ???OutputStream(); + + // Return the instance + return $streamInstance; + } + + /** + * Streams the data and maybe does something to it + * + * @param $data The data (string mostly) to "stream" + * @return $data The data (string mostly) to "stream" + * @throws UnsupportedOperationException If this method is called + */ + public function streamData ($data) { + $this->debugOutput('Unhandled ' . strlen($data) . ' bytes in this stream.'); + throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION); + } +} + +// [EOF] +?>