RuleInterface.php 3.71 KB
Newer Older
Ketan's avatar
Ketan committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
namespace Magento\CatalogRule\Api\Data;

/**
 * @api
 * @since 100.1.0
 */
interface RuleInterface extends \Magento\Framework\Api\CustomAttributesDataInterface
{
    /**#@+
     * Constants defined for keys of data array
     */
    const RULE_ID = 'rule_id';

    const NAME = 'name';

    const DESCRIPTION = 'description';

    const IS_ACTIVE = 'is_active';

    const STOP_RULES_PROCESSING = 'stop_rules_processing';

    const SORT_ORDER = 'sort_order';

    const SIMPLE_ACTION = 'simple_action';

    const DISCOUNT_AMOUNT = 'discount_amount';

    /**#@-*/

    /**
     * Returns rule id field
     *
     * @return int|null
     * @since 100.1.0
     */
    public function getRuleId();

    /**
     * @param int $ruleId
     * @return $this
     * @since 100.1.0
     */
    public function setRuleId($ruleId);

    /**
     * Returns rule name
     *
     * @return string
     * @since 100.1.0
     */
    public function getName();

    /**
     * @param string $name
     * @return $this
     * @since 100.1.0
     */
    public function setName($name);

    /**
     * Returns rule description
     *
     * @return string|null
     * @since 100.1.0
     */
    public function getDescription();

    /**
     * @param string $description
     * @return $this
     * @since 100.1.0
     */
    public function setDescription($description);

    /**
     * Returns rule activity flag
     *
     * @return int
     * @since 100.1.0
     */
    public function getIsActive();

    /**
     * @param int $isActive
     * @return $this
     * @since 100.1.0
     */
    public function setIsActive($isActive);

    /**
     * Returns rule condition
     *
     * @return \Magento\CatalogRule\Api\Data\ConditionInterface|null
     * @since 100.1.0
     */
    public function getRuleCondition();

    /**
     * @param \Magento\CatalogRule\Api\Data\ConditionInterface $condition
     * @return $this
     * @since 100.1.0
     */
    public function setRuleCondition($condition);

    /**
     * Returns stop rule processing flag
     *
     * @return int|null
     * @since 100.1.0
     */
    public function getStopRulesProcessing();

    /**
     * @param int $isStopProcessing
     * @return $this
     * @since 100.1.0
     */
    public function setStopRulesProcessing($isStopProcessing);

    /**
     * Returns rule sort order
     *
     * @return int|null
     * @since 100.1.0
     */
    public function getSortOrder();

    /**
     * @param int $sortOrder
     * @return $this
     * @since 100.1.0
     */
    public function setSortOrder($sortOrder);

    /**
     * Returns rule simple action
     *
     * @return string
     * @since 100.1.0
     */
    public function getSimpleAction();

    /**
     * @param string $action
     * @return $this
     * @since 100.1.0
     */
    public function setSimpleAction($action);

    /**
     * Returns discount amount
     *
     * @return float
     * @since 100.1.0
     */
    public function getDiscountAmount();

    /**
     * @param float $amount
     * @return $this
     * @since 100.1.0
     */
    public function setDiscountAmount($amount);

    /**
     * Retrieve existing extension attributes object or create a new one.
     *
     * @return \Magento\CatalogRule\Api\Data\RuleExtensionInterface|null
     * @since 100.1.0
     */
    public function getExtensionAttributes();

    /**
     * Set an extension attributes object.
     *
     * @param \Magento\CatalogRule\Api\Data\RuleExtensionInterface $extensionAttributes
     * @return $this
     * @since 100.1.0
     */
    public function setExtensionAttributes(\Magento\CatalogRule\Api\Data\RuleExtensionInterface $extensionAttributes);
}