    ﻿import {
        Zondy
    } from '../../common/Base';
    import {
        AnalysisBase
    } from "./AnalysisBase";

    /**
     * 要素缓冲分析服务基类
     * @class module:分析服务.FeatureBuffBase
     * @classdesc 要素缓冲分析服务基类
     * @description Zondy.Service.FeatureBuffBase
     * @extends Zondy.Service.AnalysisBase
     * @param {Object} option 属性键值对
     * @param {String} [option.sfGeometryXML = null] 分析的要素的空间信息,序列化为字符串
     * @param {String} [option.attStrctXML = null] 要素的属性结构,序列化为字符串
     * @param {String} [option.attRowsXML = null] 要素的属性值,序列化为字符串
     * @param {Number} [option.traceRadius = 0.0001] 追踪半径
     * @param {String} [option.resultName = null] 分析结果的URL地址,如GDBP://mapgislocal/Sample/sfcls/多边形缓冲结果
     * @param {String} [option.inFormat = "json"] 请求格式
     */
    class FeatureBuffBase extends AnalysisBase {
        constructor(option) {
            var options = option || {};
            super(options);

            /**
             * @private
             * @member Zondy.Service.FeatureBuffBase.prototype.sfGeometryXML
             * @type {String}
             * @description 分析的要素的空间信息,序列化为字符串
             * @default null
             */
            this.sfGeometryXML = options.sfGeometryXML !== undefined ? options.sfGeometryXML : null;

            /**
             * @private
             * @member Zondy.Service.FeatureBuffBase.prototype.attStrctXML
             * @type {String}
             * @description 要素的属性结构,序列化为字符串
             * @default null
             */
            this.attStrctXML = options.attStrctXML !== undefined ? options.attStrctXML : null;

            /**
             * @private
             * @member Zondy.Service.FeatureBuffBase.prototype.attRowsXML
             * @type {String}
             * @description 要素的属性值,序列化为字符串
             * @default null
             */
            this.attRowsXML = options.attRowsXML !== undefined ? options.attRowsXML : null;

            /**
             * @private
             * @member Zondy.Service.FeatureBuffBase.prototype.traceRadius
             * @type {Number}
             * @description 追踪半径
             * @default 0.0001
             */
            this.traceRadius = options.traceRadius !== undefined ? options.traceRadius : 0.0001;

            /**
             * @private
             * @member Zondy.Service.FeatureBuffBase.prototype.resultName
             * @type {String}
             * @description 分析结果的URL地址,如GDBP://mapgislocal/Sample/sfcls/多边形缓冲结果
             * @default null
             */
            this.resultName = options.resultName !== undefined ? options.resultName : null;

            /**
             * @private
             * @member Zondy.Service.FeatureBuffBase.prototype.inFormat
             * @type {String}
             * @description 请求格式
             * @default "json"
             */
            this.inFormat = options.inFormat !== undefined ? options.inFormat : "json";
        }
    }
    export {
        FeatureBuffBase
    };
    Zondy.Service.FeatureBuffBase = FeatureBuffBase;