diff options
Diffstat (limited to 'apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum.php')
-rw-r--r-- | apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum.php | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum.php new file mode 100644 index 00000000000..7f4d35672b4 --- /dev/null +++ b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Enum.php @@ -0,0 +1,55 @@ +<?php +/** + * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +namespace Aws\Common; + +/** + * Represents an enumerable set of values + */ +abstract class Enum +{ + /** + * @var array A cache of all enum values to increase performance + */ + protected static $cache = array(); + + /** + * Returns the names (or keys) of all of constants in the enum + * + * @return array + */ + public static function keys() + { + return array_keys(static::values()); + } + + /** + * Return the names and values of all the constants in the enum + * + * @return array + */ + public static function values() + { + $class = get_called_class(); + + if (!isset(self::$cache[$class])) { + $reflected = new \ReflectionClass($class); + self::$cache[$class] = $reflected->getConstants(); + } + + return self::$cache[$class]; + } +} |