    import { defaultValue } from '../../../../util'

    /**
     * 透明度分段
     * @class OpacityStop
     * @moduleEX RendererModule
     * @param {Object} options 初始化参数
     * @param {Number} [options.opacity] 透明度
     * @param {Number} [options.value] 数值
     * @param {String} [options.label] 视觉变量分段描述
     */
    class OpacityStop {
      constructor(options) {
        options = defaultValue(options, {})
        /**
         * 透明度
         * @member {Number} OpacityStop.prototype.opacity
         */
        this.opacity = options.opacity
        /**
         * 数值
         * @member {Number} OpacityStop.prototype.value
         */
        this.value = options.value
        /**
         * 视觉变量分段描述
         * @member {String} OpacityStop.prototype.label
         */
        this.label = options.label
      }

      /**
       * 通过json构造OpacityStop对象
       * @return {OpacityStop} json对象
       * */
      static fromJSON(json) {
        return new OpacityStop(json)
      }

      /**
       * 导出为json对象
       * @return {Object} json对象
       * */
      toJSON() {
        const json = {}
        json.opacity = this.opacity
        json.value = this.value
        json.label = this.label
        return json
      }

      /**
       * 克隆对象
       * @return {OpacityStop} 克隆后的OpacityStop对象
       */
      clone() {
        return new OpacityStop(this.toJSON())
      }
    }

    export default OpacityStop