<?php

namespace EnumType;

use \WsdlToPhp\PackageBase\AbstractStructEnumBase;

/**
 * This class stands for ItemOutOfStockBehavior EnumType
 * @subpackage Enumerations
 */
class ItemOutOfStockBehavior extends AbstractStructEnumBase
{
    /**
     * Constant for value '_allowBackOrdersButDisplayOutOfStockMessage'
     * @return string '_allowBackOrdersButDisplayOutOfStockMessage'
     */
    const VALUE_ALLOW_BACK_ORDERS_BUT_DISPLAY_OUT_OF_STOCK_MESSAGE = '_allowBackOrdersButDisplayOutOfStockMessage';
    /**
     * Constant for value '_allowBackOrdersWithNoOutOfStockMessage'
     * @return string '_allowBackOrdersWithNoOutOfStockMessage'
     */
    const VALUE_ALLOW_BACK_ORDERS_WITH_NO_OUT_OF_STOCK_MESSAGE = '_allowBackOrdersWithNoOutOfStockMessage';
    /**
     * Constant for value '_default'
     * @return string '_default'
     */
    const VALUE_DEFAULT = '_default';
    /**
     * Constant for value '_disallowBackOrdersButDisplayOutOfStockMessage'
     * @return string '_disallowBackOrdersButDisplayOutOfStockMessage'
     */
    const VALUE_DISALLOW_BACK_ORDERS_BUT_DISPLAY_OUT_OF_STOCK_MESSAGE = '_disallowBackOrdersButDisplayOutOfStockMessage';
    /**
     * Constant for value '_removeItemWhenOutOfStock'
     * @return string '_removeItemWhenOutOfStock'
     */
    const VALUE_REMOVE_ITEM_WHEN_OUT_OF_STOCK = '_removeItemWhenOutOfStock';
    /**
     * Return allowed values
     * @uses self::VALUE_ALLOW_BACK_ORDERS_BUT_DISPLAY_OUT_OF_STOCK_MESSAGE
     * @uses self::VALUE_ALLOW_BACK_ORDERS_WITH_NO_OUT_OF_STOCK_MESSAGE
     * @uses self::VALUE_DEFAULT
     * @uses self::VALUE_DISALLOW_BACK_ORDERS_BUT_DISPLAY_OUT_OF_STOCK_MESSAGE
     * @uses self::VALUE_REMOVE_ITEM_WHEN_OUT_OF_STOCK
     * @return string[]
     */
    public static function getValidValues()
    {
        return array(
            self::VALUE_ALLOW_BACK_ORDERS_BUT_DISPLAY_OUT_OF_STOCK_MESSAGE,
            self::VALUE_ALLOW_BACK_ORDERS_WITH_NO_OUT_OF_STOCK_MESSAGE,
            self::VALUE_DEFAULT,
            self::VALUE_DISALLOW_BACK_ORDERS_BUT_DISPLAY_OUT_OF_STOCK_MESSAGE,
            self::VALUE_REMOVE_ITEM_WHEN_OUT_OF_STOCK,
        );
    }
}
