@Override
    Map<String, Object> constructParameterRequestArgs() {
        // The label needs to be the key and this object is the value. Unfortunately that means
        // whatever parent object calls this needs to know to use this label as the key.
        // We could fix this by changing RequestParameter's interface to take the outer Map<> as a
        // parameter, and then each RequestParameter would know whether to add a Map<> or a
        // Collection<> or just add a (K, V).
        Map<String, Object> subAnalysisInfo = new HashMap<String, Object>(4);

        subAnalysisInfo.put(KeenQueryConstants.ANALYSIS_TYPE, this.analysisType.toString());

        if (QueryType.COUNT != this.analysisType) {
            subAnalysisInfo.put(KeenQueryConstants.TARGET_PROPERTY, this.targetPropertyName);
        }

        if (QueryType.PERCENTILE == analysisType) {
            // Put the raw Double in here for JSON serialization for now
            subAnalysisInfo.put(KeenQueryConstants.PERCENTILE, this.percentile.asDouble());
        }

        return subAnalysisInfo;
    }
@ Override Map < String , Object > constructParameterRequestArgs ( ) { Map < String , Object > subAnalysisInfo = new HashMap < String , Object > ( 4 ) ; subAnalysisInfo . put ( KeenQueryConstants . ANALYSIS_TYPE , this . analysisType . toString ( ) ) ; if ( QueryType . COUNT != this . analysisType ) { subAnalysisInfo . put ( KeenQueryConstants . TARGET_PROPERTY , this . targetPropertyName ) ; } if ( QueryType . PERCENTILE == analysisType ) { subAnalysisInfo . put ( KeenQueryConstants . PERCENTILE , this . percentile . asDouble ( ) ) ; } return subAnalysisInfo ; }
Constructs request sub-parameters for this SubAnalysis.

{@inheritDoc}

@return A jsonifiable object that should be the value for a key with the name of the label
of this SubAnalysis instance.