// Path: query/src/main/java/io/keen/client/java/exceptions/KeenQueryClientException.java
// public class KeenQueryClientException extends KeenException {
//     private static final long serialVersionUID = -8714276738565293346L;
// 
//     public KeenQueryClientException() {
//         super();
//     }
// 
//     public KeenQueryClientException(Throwable cause) {
//         super(cause);
//     }
// 
//     public KeenQueryClientException(String message) {
//         super(message);
//     }
// 
//     public KeenQueryClientException(String message, Throwable cause) {
//         super(message, cause);
//     }
// }


import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import io.keen.client.java.exceptions.KeenQueryClientException;
package io.keen.client.java;



/**
 * A PersistentAnalysis specifically for Saved/Cached Query requests. A lot of the CRUD
 * functionality can be performed with this class, but subclasses can customize behavior more.
 *
 * @author masojus
 */
class SavedQueryRequest extends PersistentAnalysis {
    SavedQueryRequest(String httpMethod, boolean needsMasterKey, String queryName) {
        this(httpMethod, needsMasterKey, queryName, null);
    }

    SavedQueryRequest(String httpMethod,
                      boolean needsMasterKey,
                      String queryName,
                      String displayName) {
        super(httpMethod, needsMasterKey, queryName, displayName);
    }

    @Override
    URL getRequestURL(RequestUrlBuilder urlBuilder,
// Path: query/src/main/java/io/keen/client/java/exceptions/KeenQueryClientException.java
// public class KeenQueryClientException extends KeenException {
//     private static final long serialVersionUID = -8714276738565293346L;
// 
//     public KeenQueryClientException() {
//         super();
//     }
// 
//     public KeenQueryClientException(Throwable cause) {
//         super(cause);
//     }
// 
//     public KeenQueryClientException(String message) {
//         super(message);
//     }
// 
//     public KeenQueryClientException(String message, Throwable cause) {
//         super(message, cause);
//     }
// }


// Path: query/src/main/java/io/keen/client/java/SavedQueryRequest.java
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import io.keen.client.java.exceptions.KeenQueryClientException;

package io.keen.client.java;



/**
 * A PersistentAnalysis specifically for Saved/Cached Query requests. A lot of the CRUD
 * functionality can be performed with this class, but subclasses can customize behavior more.
 *
 * @author masojus
 */
class SavedQueryRequest extends PersistentAnalysis {
    SavedQueryRequest(String httpMethod, boolean needsMasterKey, String queryName) {
        this(httpMethod, needsMasterKey, queryName, null);
    }

    SavedQueryRequest(String httpMethod,
                      boolean needsMasterKey,
                      String queryName,
                      String displayName) {
        super(httpMethod, needsMasterKey, queryName, displayName);
    }

    @Override
    URL getRequestURL(RequestUrlBuilder urlBuilder,
                      String projectId) throws KeenQueryClientException {