All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.gs2.stamina.Gs2StaminaRestClient Maven / Gradle / Ivy

/*
 * Copyright 2016 Game Server Services, Inc. or its affiliates. All Rights
 * Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */

package io.gs2.stamina;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.JsonProcessingException;
import org.json.JSONObject;
import org.json.JSONArray;

import io.gs2.model.AsyncAction;
import io.gs2.model.AsyncResult;
import io.gs2.exception.*;
import io.gs2.net.*;
import io.gs2.util.EncodingUtil;

import io.gs2.AbstractGs2Client;
import io.gs2.stamina.request.*;
import io.gs2.stamina.result.*;
import io.gs2.stamina.model.*;

/**
 * GS2 Stamina API クライアント
 *
 * @author Game Server Services, Inc.
 *
 */
public class Gs2StaminaRestClient extends AbstractGs2Client {

	/**
	 * コンストラクタ。
	 *
	 * @param gs2RestSession セッション
	 */
	public Gs2StaminaRestClient(Gs2RestSession gs2RestSession) {
		super(gs2RestSession);
	}

    class DescribeNamespacesTask extends Gs2RestSessionTask {
        private DescribeNamespacesRequest request;

        public DescribeNamespacesTask(
            DescribeNamespacesRequest request,
            AsyncAction> userCallback,
            Class clazz
        ) {
            super(
                    (Gs2RestSession) session,
                    userCallback,
                    clazz
            );
            this.request = request;
        }

        @Override
        protected void executeImpl() {

            String url = Gs2RestSession.EndpointHost
                .replace("{service}", "stamina")
                .replace("{region}", session.getRegion().getName())
                + "/";

            List queryStrings = new ArrayList<> ();
            if (this.request.getContextStack() != null) {
                queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack()));
            }
            if (this.request.getPageToken() != null) {
                queryStrings.add("pageToken=" + EncodingUtil.urlEncode((String.valueOf(this.request.getPageToken()))));
            }
            if (this.request.getLimit() != null) {
                queryStrings.add("limit=" + String.valueOf(this.request.getLimit()));
            }
            url += "?" + String.join("&", queryStrings);

            builder
                .setMethod(HttpTask.Method.GET)
                .setUrl(url)
                .setHeader("Content-Type", "application/json")
                .setHttpResponseHandler(this);

            if (this.request.getRequestId() != null) {
                builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId());
            }

            builder
                .build()
                .send();
        }
    }

    /**
     * ネームスペースの一覧を取得
* * @param callback コールバック * @param request リクエストパラメータ */ public void describeNamespacesAsync( DescribeNamespacesRequest request, AsyncAction> callback ) { DescribeNamespacesTask task = new DescribeNamespacesTask(request, callback, DescribeNamespacesResult.class); session.execute(task); } /** * ネームスペースの一覧を取得
* * @param request リクエストパラメータ */ public DescribeNamespacesResult describeNamespaces( DescribeNamespacesRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; describeNamespacesAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class CreateNamespaceTask extends Gs2RestSessionTask { private CreateNamespaceRequest request; public CreateNamespaceTask( CreateNamespaceRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/"; ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getName() != null) { json.put("name", this.request.getName()); } if (this.request.getDescription() != null) { json.put("description", this.request.getDescription()); } if (this.request.getOverflowTriggerScriptId() != null) { json.put("overflowTriggerScriptId", this.request.getOverflowTriggerScriptId()); } if (this.request.getOverflowTriggerNamespaceId() != null) { json.put("overflowTriggerNamespaceId", this.request.getOverflowTriggerNamespaceId()); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.POST) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * ネームスペースを新規作成
* * @param callback コールバック * @param request リクエストパラメータ */ public void createNamespaceAsync( CreateNamespaceRequest request, AsyncAction> callback ) { CreateNamespaceTask task = new CreateNamespaceTask(request, callback, CreateNamespaceResult.class); session.execute(task); } /** * ネームスペースを新規作成
* * @param request リクエストパラメータ */ public CreateNamespaceResult createNamespace( CreateNamespaceRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; createNamespaceAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class GetNamespaceStatusTask extends Gs2RestSessionTask { private GetNamespaceStatusRequest request; public GetNamespaceStatusTask( GetNamespaceStatusRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/status"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.GET) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * ネームスペースの状態を取得
* * @param callback コールバック * @param request リクエストパラメータ */ public void getNamespaceStatusAsync( GetNamespaceStatusRequest request, AsyncAction> callback ) { GetNamespaceStatusTask task = new GetNamespaceStatusTask(request, callback, GetNamespaceStatusResult.class); session.execute(task); } /** * ネームスペースの状態を取得
* * @param request リクエストパラメータ */ public GetNamespaceStatusResult getNamespaceStatus( GetNamespaceStatusRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; getNamespaceStatusAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class GetNamespaceTask extends Gs2RestSessionTask { private GetNamespaceRequest request; public GetNamespaceTask( GetNamespaceRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.GET) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * ネームスペースを取得
* * @param callback コールバック * @param request リクエストパラメータ */ public void getNamespaceAsync( GetNamespaceRequest request, AsyncAction> callback ) { GetNamespaceTask task = new GetNamespaceTask(request, callback, GetNamespaceResult.class); session.execute(task); } /** * ネームスペースを取得
* * @param request リクエストパラメータ */ public GetNamespaceResult getNamespace( GetNamespaceRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; getNamespaceAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class UpdateNamespaceTask extends Gs2RestSessionTask { private UpdateNamespaceRequest request; public UpdateNamespaceTask( UpdateNamespaceRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getDescription() != null) { json.put("description", this.request.getDescription()); } if (this.request.getOverflowTriggerScriptId() != null) { json.put("overflowTriggerScriptId", this.request.getOverflowTriggerScriptId()); } if (this.request.getOverflowTriggerNamespaceId() != null) { json.put("overflowTriggerNamespaceId", this.request.getOverflowTriggerNamespaceId()); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.PUT) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * ネームスペースを更新
* * @param callback コールバック * @param request リクエストパラメータ */ public void updateNamespaceAsync( UpdateNamespaceRequest request, AsyncAction> callback ) { UpdateNamespaceTask task = new UpdateNamespaceTask(request, callback, UpdateNamespaceResult.class); session.execute(task); } /** * ネームスペースを更新
* * @param request リクエストパラメータ */ public UpdateNamespaceResult updateNamespace( UpdateNamespaceRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; updateNamespaceAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class DeleteNamespaceTask extends Gs2RestSessionTask { private DeleteNamespaceRequest request; public DeleteNamespaceTask( DeleteNamespaceRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.DELETE) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * ネームスペースを削除
* * @param callback コールバック * @param request リクエストパラメータ */ public void deleteNamespaceAsync( DeleteNamespaceRequest request, AsyncAction> callback ) { DeleteNamespaceTask task = new DeleteNamespaceTask(request, callback, DeleteNamespaceResult.class); session.execute(task); } /** * ネームスペースを削除
* * @param request リクエストパラメータ */ public DeleteNamespaceResult deleteNamespace( DeleteNamespaceRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; deleteNamespaceAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class DescribeStaminaModelMastersTask extends Gs2RestSessionTask { private DescribeStaminaModelMastersRequest request; public DescribeStaminaModelMastersTask( DescribeStaminaModelMastersRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/master/model"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } if (this.request.getPageToken() != null) { queryStrings.add("pageToken=" + EncodingUtil.urlEncode((String.valueOf(this.request.getPageToken())))); } if (this.request.getLimit() != null) { queryStrings.add("limit=" + String.valueOf(this.request.getLimit())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.GET) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * スタミナモデルマスターの一覧を取得
* * @param callback コールバック * @param request リクエストパラメータ */ public void describeStaminaModelMastersAsync( DescribeStaminaModelMastersRequest request, AsyncAction> callback ) { DescribeStaminaModelMastersTask task = new DescribeStaminaModelMastersTask(request, callback, DescribeStaminaModelMastersResult.class); session.execute(task); } /** * スタミナモデルマスターの一覧を取得
* * @param request リクエストパラメータ */ public DescribeStaminaModelMastersResult describeStaminaModelMasters( DescribeStaminaModelMastersRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; describeStaminaModelMastersAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class CreateStaminaModelMasterTask extends Gs2RestSessionTask { private CreateStaminaModelMasterRequest request; public CreateStaminaModelMasterTask( CreateStaminaModelMasterRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/master/model"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getName() != null) { json.put("name", this.request.getName()); } if (this.request.getDescription() != null) { json.put("description", this.request.getDescription()); } if (this.request.getMetadata() != null) { json.put("metadata", this.request.getMetadata()); } if (this.request.getRecoverIntervalMinutes() != null) { json.put("recoverIntervalMinutes", this.request.getRecoverIntervalMinutes()); } if (this.request.getRecoverValue() != null) { json.put("recoverValue", this.request.getRecoverValue()); } if (this.request.getInitialCapacity() != null) { json.put("initialCapacity", this.request.getInitialCapacity()); } if (this.request.getIsOverflow() != null) { json.put("isOverflow", this.request.getIsOverflow()); } if (this.request.getMaxCapacity() != null) { json.put("maxCapacity", this.request.getMaxCapacity()); } if (this.request.getMaxStaminaTableId() != null) { json.put("maxStaminaTableId", this.request.getMaxStaminaTableId()); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.POST) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * スタミナモデルマスターを新規作成
* * @param callback コールバック * @param request リクエストパラメータ */ public void createStaminaModelMasterAsync( CreateStaminaModelMasterRequest request, AsyncAction> callback ) { CreateStaminaModelMasterTask task = new CreateStaminaModelMasterTask(request, callback, CreateStaminaModelMasterResult.class); session.execute(task); } /** * スタミナモデルマスターを新規作成
* * @param request リクエストパラメータ */ public CreateStaminaModelMasterResult createStaminaModelMaster( CreateStaminaModelMasterRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; createStaminaModelMasterAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class GetStaminaModelMasterTask extends Gs2RestSessionTask { private GetStaminaModelMasterRequest request; public GetStaminaModelMasterTask( GetStaminaModelMasterRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/master/model/{staminaName}"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{staminaName}", this.request.getStaminaName() == null|| this.request.getStaminaName().length() == 0 ? "null" : String.valueOf(this.request.getStaminaName())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.GET) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * スタミナモデルマスターを取得
* * @param callback コールバック * @param request リクエストパラメータ */ public void getStaminaModelMasterAsync( GetStaminaModelMasterRequest request, AsyncAction> callback ) { GetStaminaModelMasterTask task = new GetStaminaModelMasterTask(request, callback, GetStaminaModelMasterResult.class); session.execute(task); } /** * スタミナモデルマスターを取得
* * @param request リクエストパラメータ */ public GetStaminaModelMasterResult getStaminaModelMaster( GetStaminaModelMasterRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; getStaminaModelMasterAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class UpdateStaminaModelMasterTask extends Gs2RestSessionTask { private UpdateStaminaModelMasterRequest request; public UpdateStaminaModelMasterTask( UpdateStaminaModelMasterRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/master/model/{staminaName}"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{staminaName}", this.request.getStaminaName() == null|| this.request.getStaminaName().length() == 0 ? "null" : String.valueOf(this.request.getStaminaName())); ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getDescription() != null) { json.put("description", this.request.getDescription()); } if (this.request.getMetadata() != null) { json.put("metadata", this.request.getMetadata()); } if (this.request.getRecoverIntervalMinutes() != null) { json.put("recoverIntervalMinutes", this.request.getRecoverIntervalMinutes()); } if (this.request.getRecoverValue() != null) { json.put("recoverValue", this.request.getRecoverValue()); } if (this.request.getInitialCapacity() != null) { json.put("initialCapacity", this.request.getInitialCapacity()); } if (this.request.getIsOverflow() != null) { json.put("isOverflow", this.request.getIsOverflow()); } if (this.request.getMaxCapacity() != null) { json.put("maxCapacity", this.request.getMaxCapacity()); } if (this.request.getMaxStaminaTableId() != null) { json.put("maxStaminaTableId", this.request.getMaxStaminaTableId()); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.PUT) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * スタミナモデルマスターを更新
* * @param callback コールバック * @param request リクエストパラメータ */ public void updateStaminaModelMasterAsync( UpdateStaminaModelMasterRequest request, AsyncAction> callback ) { UpdateStaminaModelMasterTask task = new UpdateStaminaModelMasterTask(request, callback, UpdateStaminaModelMasterResult.class); session.execute(task); } /** * スタミナモデルマスターを更新
* * @param request リクエストパラメータ */ public UpdateStaminaModelMasterResult updateStaminaModelMaster( UpdateStaminaModelMasterRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; updateStaminaModelMasterAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class DeleteStaminaModelMasterTask extends Gs2RestSessionTask { private DeleteStaminaModelMasterRequest request; public DeleteStaminaModelMasterTask( DeleteStaminaModelMasterRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/master/model/{staminaName}"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{staminaName}", this.request.getStaminaName() == null|| this.request.getStaminaName().length() == 0 ? "null" : String.valueOf(this.request.getStaminaName())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.DELETE) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * スタミナモデルマスターを削除
* * @param callback コールバック * @param request リクエストパラメータ */ public void deleteStaminaModelMasterAsync( DeleteStaminaModelMasterRequest request, AsyncAction> callback ) { DeleteStaminaModelMasterTask task = new DeleteStaminaModelMasterTask(request, callback, DeleteStaminaModelMasterResult.class); session.execute(task); } /** * スタミナモデルマスターを削除
* * @param request リクエストパラメータ */ public DeleteStaminaModelMasterResult deleteStaminaModelMaster( DeleteStaminaModelMasterRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; deleteStaminaModelMasterAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class DescribeMaxStaminaTableMastersTask extends Gs2RestSessionTask { private DescribeMaxStaminaTableMastersRequest request; public DescribeMaxStaminaTableMastersTask( DescribeMaxStaminaTableMastersRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/master/maxStaminaTable"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } if (this.request.getPageToken() != null) { queryStrings.add("pageToken=" + EncodingUtil.urlEncode((String.valueOf(this.request.getPageToken())))); } if (this.request.getLimit() != null) { queryStrings.add("limit=" + String.valueOf(this.request.getLimit())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.GET) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * スタミナの最大値テーブルマスターの一覧を取得
* * @param callback コールバック * @param request リクエストパラメータ */ public void describeMaxStaminaTableMastersAsync( DescribeMaxStaminaTableMastersRequest request, AsyncAction> callback ) { DescribeMaxStaminaTableMastersTask task = new DescribeMaxStaminaTableMastersTask(request, callback, DescribeMaxStaminaTableMastersResult.class); session.execute(task); } /** * スタミナの最大値テーブルマスターの一覧を取得
* * @param request リクエストパラメータ */ public DescribeMaxStaminaTableMastersResult describeMaxStaminaTableMasters( DescribeMaxStaminaTableMastersRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; describeMaxStaminaTableMastersAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class CreateMaxStaminaTableMasterTask extends Gs2RestSessionTask { private CreateMaxStaminaTableMasterRequest request; public CreateMaxStaminaTableMasterTask( CreateMaxStaminaTableMasterRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/master/maxStaminaTable"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getName() != null) { json.put("name", this.request.getName()); } if (this.request.getDescription() != null) { json.put("description", this.request.getDescription()); } if (this.request.getMetadata() != null) { json.put("metadata", this.request.getMetadata()); } if (this.request.getExperienceModelId() != null) { json.put("experienceModelId", this.request.getExperienceModelId()); } if (this.request.getValues() != null) { JSONArray array = new JSONArray(); for(Integer item : this.request.getValues()) { array.put(item); } json.put("values", array); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.POST) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * スタミナの最大値テーブルマスターを新規作成
* * @param callback コールバック * @param request リクエストパラメータ */ public void createMaxStaminaTableMasterAsync( CreateMaxStaminaTableMasterRequest request, AsyncAction> callback ) { CreateMaxStaminaTableMasterTask task = new CreateMaxStaminaTableMasterTask(request, callback, CreateMaxStaminaTableMasterResult.class); session.execute(task); } /** * スタミナの最大値テーブルマスターを新規作成
* * @param request リクエストパラメータ */ public CreateMaxStaminaTableMasterResult createMaxStaminaTableMaster( CreateMaxStaminaTableMasterRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; createMaxStaminaTableMasterAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class GetMaxStaminaTableMasterTask extends Gs2RestSessionTask { private GetMaxStaminaTableMasterRequest request; public GetMaxStaminaTableMasterTask( GetMaxStaminaTableMasterRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/master/maxStaminaTable/{maxStaminaTableName}"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{maxStaminaTableName}", this.request.getMaxStaminaTableName() == null|| this.request.getMaxStaminaTableName().length() == 0 ? "null" : String.valueOf(this.request.getMaxStaminaTableName())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.GET) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * スタミナの最大値テーブルマスターを取得
* * @param callback コールバック * @param request リクエストパラメータ */ public void getMaxStaminaTableMasterAsync( GetMaxStaminaTableMasterRequest request, AsyncAction> callback ) { GetMaxStaminaTableMasterTask task = new GetMaxStaminaTableMasterTask(request, callback, GetMaxStaminaTableMasterResult.class); session.execute(task); } /** * スタミナの最大値テーブルマスターを取得
* * @param request リクエストパラメータ */ public GetMaxStaminaTableMasterResult getMaxStaminaTableMaster( GetMaxStaminaTableMasterRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; getMaxStaminaTableMasterAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class UpdateMaxStaminaTableMasterTask extends Gs2RestSessionTask { private UpdateMaxStaminaTableMasterRequest request; public UpdateMaxStaminaTableMasterTask( UpdateMaxStaminaTableMasterRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/master/maxStaminaTable/{maxStaminaTableName}"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{maxStaminaTableName}", this.request.getMaxStaminaTableName() == null|| this.request.getMaxStaminaTableName().length() == 0 ? "null" : String.valueOf(this.request.getMaxStaminaTableName())); ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getDescription() != null) { json.put("description", this.request.getDescription()); } if (this.request.getMetadata() != null) { json.put("metadata", this.request.getMetadata()); } if (this.request.getExperienceModelId() != null) { json.put("experienceModelId", this.request.getExperienceModelId()); } if (this.request.getValues() != null) { JSONArray array = new JSONArray(); for(Integer item : this.request.getValues()) { array.put(item); } json.put("values", array); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.PUT) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * スタミナの最大値テーブルマスターを更新
* * @param callback コールバック * @param request リクエストパラメータ */ public void updateMaxStaminaTableMasterAsync( UpdateMaxStaminaTableMasterRequest request, AsyncAction> callback ) { UpdateMaxStaminaTableMasterTask task = new UpdateMaxStaminaTableMasterTask(request, callback, UpdateMaxStaminaTableMasterResult.class); session.execute(task); } /** * スタミナの最大値テーブルマスターを更新
* * @param request リクエストパラメータ */ public UpdateMaxStaminaTableMasterResult updateMaxStaminaTableMaster( UpdateMaxStaminaTableMasterRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; updateMaxStaminaTableMasterAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class DeleteMaxStaminaTableMasterTask extends Gs2RestSessionTask { private DeleteMaxStaminaTableMasterRequest request; public DeleteMaxStaminaTableMasterTask( DeleteMaxStaminaTableMasterRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/master/maxStaminaTable/{maxStaminaTableName}"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{maxStaminaTableName}", this.request.getMaxStaminaTableName() == null|| this.request.getMaxStaminaTableName().length() == 0 ? "null" : String.valueOf(this.request.getMaxStaminaTableName())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.DELETE) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * スタミナの最大値テーブルマスターを削除
* * @param callback コールバック * @param request リクエストパラメータ */ public void deleteMaxStaminaTableMasterAsync( DeleteMaxStaminaTableMasterRequest request, AsyncAction> callback ) { DeleteMaxStaminaTableMasterTask task = new DeleteMaxStaminaTableMasterTask(request, callback, DeleteMaxStaminaTableMasterResult.class); session.execute(task); } /** * スタミナの最大値テーブルマスターを削除
* * @param request リクエストパラメータ */ public DeleteMaxStaminaTableMasterResult deleteMaxStaminaTableMaster( DeleteMaxStaminaTableMasterRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; deleteMaxStaminaTableMasterAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class ExportMasterTask extends Gs2RestSessionTask { private ExportMasterRequest request; public ExportMasterTask( ExportMasterRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/master/export"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.GET) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * 現在有効なスタミナマスターのマスターデータをエクスポートします
* * @param callback コールバック * @param request リクエストパラメータ */ public void exportMasterAsync( ExportMasterRequest request, AsyncAction> callback ) { ExportMasterTask task = new ExportMasterTask(request, callback, ExportMasterResult.class); session.execute(task); } /** * 現在有効なスタミナマスターのマスターデータをエクスポートします
* * @param request リクエストパラメータ */ public ExportMasterResult exportMaster( ExportMasterRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; exportMasterAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class GetCurrentStaminaMasterTask extends Gs2RestSessionTask { private GetCurrentStaminaMasterRequest request; public GetCurrentStaminaMasterTask( GetCurrentStaminaMasterRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/master"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.GET) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * 現在有効な現在有効なスタミナマスターを取得します
* * @param callback コールバック * @param request リクエストパラメータ */ public void getCurrentStaminaMasterAsync( GetCurrentStaminaMasterRequest request, AsyncAction> callback ) { GetCurrentStaminaMasterTask task = new GetCurrentStaminaMasterTask(request, callback, GetCurrentStaminaMasterResult.class); session.execute(task); } /** * 現在有効な現在有効なスタミナマスターを取得します
* * @param request リクエストパラメータ */ public GetCurrentStaminaMasterResult getCurrentStaminaMaster( GetCurrentStaminaMasterRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; getCurrentStaminaMasterAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class UpdateCurrentStaminaMasterTask extends Gs2RestSessionTask { private UpdateCurrentStaminaMasterRequest request; public UpdateCurrentStaminaMasterTask( UpdateCurrentStaminaMasterRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/master"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getSettings() != null) { json.put("settings", this.request.getSettings()); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.PUT) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * 現在有効な現在有効なスタミナマスターを更新します
* * @param callback コールバック * @param request リクエストパラメータ */ public void updateCurrentStaminaMasterAsync( UpdateCurrentStaminaMasterRequest request, AsyncAction> callback ) { UpdateCurrentStaminaMasterTask task = new UpdateCurrentStaminaMasterTask(request, callback, UpdateCurrentStaminaMasterResult.class); session.execute(task); } /** * 現在有効な現在有効なスタミナマスターを更新します
* * @param request リクエストパラメータ */ public UpdateCurrentStaminaMasterResult updateCurrentStaminaMaster( UpdateCurrentStaminaMasterRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; updateCurrentStaminaMasterAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class DescribeStaminaModelsTask extends Gs2RestSessionTask { private DescribeStaminaModelsRequest request; public DescribeStaminaModelsTask( DescribeStaminaModelsRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/model"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.GET) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * スタミナモデルの一覧を取得
* * @param callback コールバック * @param request リクエストパラメータ */ public void describeStaminaModelsAsync( DescribeStaminaModelsRequest request, AsyncAction> callback ) { DescribeStaminaModelsTask task = new DescribeStaminaModelsTask(request, callback, DescribeStaminaModelsResult.class); session.execute(task); } /** * スタミナモデルの一覧を取得
* * @param request リクエストパラメータ */ public DescribeStaminaModelsResult describeStaminaModels( DescribeStaminaModelsRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; describeStaminaModelsAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class GetStaminaModelTask extends Gs2RestSessionTask { private GetStaminaModelRequest request; public GetStaminaModelTask( GetStaminaModelRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/model/{staminaName}"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{staminaName}", this.request.getStaminaName() == null|| this.request.getStaminaName().length() == 0 ? "null" : String.valueOf(this.request.getStaminaName())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.GET) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } builder .build() .send(); } } /** * スタミナモデルを取得
* * @param callback コールバック * @param request リクエストパラメータ */ public void getStaminaModelAsync( GetStaminaModelRequest request, AsyncAction> callback ) { GetStaminaModelTask task = new GetStaminaModelTask(request, callback, GetStaminaModelResult.class); session.execute(task); } /** * スタミナモデルを取得
* * @param request リクエストパラメータ */ public GetStaminaModelResult getStaminaModel( GetStaminaModelRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; getStaminaModelAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class DescribeStaminasTask extends Gs2RestSessionTask { private DescribeStaminasRequest request; public DescribeStaminasTask( DescribeStaminasRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/user/me/stamina"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } if (this.request.getPageToken() != null) { queryStrings.add("pageToken=" + EncodingUtil.urlEncode((String.valueOf(this.request.getPageToken())))); } if (this.request.getLimit() != null) { queryStrings.add("limit=" + String.valueOf(this.request.getLimit())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.GET) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } if (this.request.getAccessToken() != null) { builder.setHeader("X-GS2-ACCESS-TOKEN", this.request.getAccessToken()); } if (this.request.getDuplicationAvoider() != null) { builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider()); } builder .build() .send(); } } /** * スタミナを取得
* * @param callback コールバック * @param request リクエストパラメータ */ public void describeStaminasAsync( DescribeStaminasRequest request, AsyncAction> callback ) { DescribeStaminasTask task = new DescribeStaminasTask(request, callback, DescribeStaminasResult.class); session.execute(task); } /** * スタミナを取得
* * @param request リクエストパラメータ */ public DescribeStaminasResult describeStaminas( DescribeStaminasRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; describeStaminasAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class DescribeStaminasByUserIdTask extends Gs2RestSessionTask { private DescribeStaminasByUserIdRequest request; public DescribeStaminasByUserIdTask( DescribeStaminasByUserIdRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/user/{userId}/stamina"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{userId}", this.request.getUserId() == null|| this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } if (this.request.getPageToken() != null) { queryStrings.add("pageToken=" + EncodingUtil.urlEncode((String.valueOf(this.request.getPageToken())))); } if (this.request.getLimit() != null) { queryStrings.add("limit=" + String.valueOf(this.request.getLimit())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.GET) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } if (this.request.getDuplicationAvoider() != null) { builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider()); } builder .build() .send(); } } /** * ユーザIDを指定してスタミナを取得
* * @param callback コールバック * @param request リクエストパラメータ */ public void describeStaminasByUserIdAsync( DescribeStaminasByUserIdRequest request, AsyncAction> callback ) { DescribeStaminasByUserIdTask task = new DescribeStaminasByUserIdTask(request, callback, DescribeStaminasByUserIdResult.class); session.execute(task); } /** * ユーザIDを指定してスタミナを取得
* * @param request リクエストパラメータ */ public DescribeStaminasByUserIdResult describeStaminasByUserId( DescribeStaminasByUserIdRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; describeStaminasByUserIdAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class GetStaminaTask extends Gs2RestSessionTask { private GetStaminaRequest request; public GetStaminaTask( GetStaminaRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/user/me/stamina/{staminaName}"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{staminaName}", this.request.getStaminaName() == null|| this.request.getStaminaName().length() == 0 ? "null" : String.valueOf(this.request.getStaminaName())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.GET) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } if (this.request.getAccessToken() != null) { builder.setHeader("X-GS2-ACCESS-TOKEN", this.request.getAccessToken()); } if (this.request.getDuplicationAvoider() != null) { builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider()); } builder .build() .send(); } } /** * スタミナを取得
* * @param callback コールバック * @param request リクエストパラメータ */ public void getStaminaAsync( GetStaminaRequest request, AsyncAction> callback ) { GetStaminaTask task = new GetStaminaTask(request, callback, GetStaminaResult.class); session.execute(task); } /** * スタミナを取得
* * @param request リクエストパラメータ */ public GetStaminaResult getStamina( GetStaminaRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; getStaminaAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class GetStaminaByUserIdTask extends Gs2RestSessionTask { private GetStaminaByUserIdRequest request; public GetStaminaByUserIdTask( GetStaminaByUserIdRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/user/{userId}/stamina/{staminaName}"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{staminaName}", this.request.getStaminaName() == null|| this.request.getStaminaName().length() == 0 ? "null" : String.valueOf(this.request.getStaminaName())); url = url.replace("{userId}", this.request.getUserId() == null|| this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.GET) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } if (this.request.getDuplicationAvoider() != null) { builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider()); } builder .build() .send(); } } /** * ユーザIDを指定してスタミナを取得
* * @param callback コールバック * @param request リクエストパラメータ */ public void getStaminaByUserIdAsync( GetStaminaByUserIdRequest request, AsyncAction> callback ) { GetStaminaByUserIdTask task = new GetStaminaByUserIdTask(request, callback, GetStaminaByUserIdResult.class); session.execute(task); } /** * ユーザIDを指定してスタミナを取得
* * @param request リクエストパラメータ */ public GetStaminaByUserIdResult getStaminaByUserId( GetStaminaByUserIdRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; getStaminaByUserIdAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class UpdateStaminaByUserIdTask extends Gs2RestSessionTask { private UpdateStaminaByUserIdRequest request; public UpdateStaminaByUserIdTask( UpdateStaminaByUserIdRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/user/{userId}/stamina/{staminaName}"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{staminaName}", this.request.getStaminaName() == null|| this.request.getStaminaName().length() == 0 ? "null" : String.valueOf(this.request.getStaminaName())); url = url.replace("{userId}", this.request.getUserId() == null|| this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId())); ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getValue() != null) { json.put("value", this.request.getValue()); } if (this.request.getMaxValue() != null) { json.put("maxValue", this.request.getMaxValue()); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.POST) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } if (this.request.getDuplicationAvoider() != null) { builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider()); } builder .build() .send(); } } /** * ユーザIDを指定してスタミナを作成・更新
* * @param callback コールバック * @param request リクエストパラメータ */ public void updateStaminaByUserIdAsync( UpdateStaminaByUserIdRequest request, AsyncAction> callback ) { UpdateStaminaByUserIdTask task = new UpdateStaminaByUserIdTask(request, callback, UpdateStaminaByUserIdResult.class); session.execute(task); } /** * ユーザIDを指定してスタミナを作成・更新
* * @param request リクエストパラメータ */ public UpdateStaminaByUserIdResult updateStaminaByUserId( UpdateStaminaByUserIdRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; updateStaminaByUserIdAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class ConsumeStaminaTask extends Gs2RestSessionTask { private ConsumeStaminaRequest request; public ConsumeStaminaTask( ConsumeStaminaRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/user/me/stamina/{staminaName}/consume"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{staminaName}", this.request.getStaminaName() == null|| this.request.getStaminaName().length() == 0 ? "null" : String.valueOf(this.request.getStaminaName())); ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getConsumeValue() != null) { json.put("consumeValue", this.request.getConsumeValue()); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.POST) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } if (this.request.getAccessToken() != null) { builder.setHeader("X-GS2-ACCESS-TOKEN", this.request.getAccessToken()); } if (this.request.getDuplicationAvoider() != null) { builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider()); } builder .build() .send(); } } /** * スタミナを消費
* * @param callback コールバック * @param request リクエストパラメータ */ public void consumeStaminaAsync( ConsumeStaminaRequest request, AsyncAction> callback ) { ConsumeStaminaTask task = new ConsumeStaminaTask(request, callback, ConsumeStaminaResult.class); session.execute(task); } /** * スタミナを消費
* * @param request リクエストパラメータ */ public ConsumeStaminaResult consumeStamina( ConsumeStaminaRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; consumeStaminaAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class ConsumeStaminaByUserIdTask extends Gs2RestSessionTask { private ConsumeStaminaByUserIdRequest request; public ConsumeStaminaByUserIdTask( ConsumeStaminaByUserIdRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/user/{userId}/stamina/{staminaName}/consume"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{staminaName}", this.request.getStaminaName() == null|| this.request.getStaminaName().length() == 0 ? "null" : String.valueOf(this.request.getStaminaName())); url = url.replace("{userId}", this.request.getUserId() == null|| this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId())); ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getConsumeValue() != null) { json.put("consumeValue", this.request.getConsumeValue()); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.POST) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } if (this.request.getDuplicationAvoider() != null) { builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider()); } builder .build() .send(); } } /** * ユーザIDを指定してスタミナを消費
* * @param callback コールバック * @param request リクエストパラメータ */ public void consumeStaminaByUserIdAsync( ConsumeStaminaByUserIdRequest request, AsyncAction> callback ) { ConsumeStaminaByUserIdTask task = new ConsumeStaminaByUserIdTask(request, callback, ConsumeStaminaByUserIdResult.class); session.execute(task); } /** * ユーザIDを指定してスタミナを消費
* * @param request リクエストパラメータ */ public ConsumeStaminaByUserIdResult consumeStaminaByUserId( ConsumeStaminaByUserIdRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; consumeStaminaByUserIdAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class RecoverStaminaByUserIdTask extends Gs2RestSessionTask { private RecoverStaminaByUserIdRequest request; public RecoverStaminaByUserIdTask( RecoverStaminaByUserIdRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/user/{userId}/stamina/{staminaName}/recover"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{staminaName}", this.request.getStaminaName() == null|| this.request.getStaminaName().length() == 0 ? "null" : String.valueOf(this.request.getStaminaName())); url = url.replace("{userId}", this.request.getUserId() == null|| this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId())); ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getRecoverValue() != null) { json.put("recoverValue", this.request.getRecoverValue()); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.POST) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } if (this.request.getDuplicationAvoider() != null) { builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider()); } builder .build() .send(); } } /** * ユーザIDを指定してスタミナを回復
* * @param callback コールバック * @param request リクエストパラメータ */ public void recoverStaminaByUserIdAsync( RecoverStaminaByUserIdRequest request, AsyncAction> callback ) { RecoverStaminaByUserIdTask task = new RecoverStaminaByUserIdTask(request, callback, RecoverStaminaByUserIdResult.class); session.execute(task); } /** * ユーザIDを指定してスタミナを回復
* * @param request リクエストパラメータ */ public RecoverStaminaByUserIdResult recoverStaminaByUserId( RecoverStaminaByUserIdRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; recoverStaminaByUserIdAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class RaiseMaxValueByUserIdTask extends Gs2RestSessionTask { private RaiseMaxValueByUserIdRequest request; public RaiseMaxValueByUserIdTask( RaiseMaxValueByUserIdRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/user/{userId}/stamina/{staminaName}/raise"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{staminaName}", this.request.getStaminaName() == null|| this.request.getStaminaName().length() == 0 ? "null" : String.valueOf(this.request.getStaminaName())); url = url.replace("{userId}", this.request.getUserId() == null|| this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId())); ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getRaiseValue() != null) { json.put("raiseValue", this.request.getRaiseValue()); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.POST) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } if (this.request.getDuplicationAvoider() != null) { builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider()); } builder .build() .send(); } } /** * ユーザIDを指定してスタミナの最大値を加算
* * @param callback コールバック * @param request リクエストパラメータ */ public void raiseMaxValueByUserIdAsync( RaiseMaxValueByUserIdRequest request, AsyncAction> callback ) { RaiseMaxValueByUserIdTask task = new RaiseMaxValueByUserIdTask(request, callback, RaiseMaxValueByUserIdResult.class); session.execute(task); } /** * ユーザIDを指定してスタミナの最大値を加算
* * @param request リクエストパラメータ */ public RaiseMaxValueByUserIdResult raiseMaxValueByUserId( RaiseMaxValueByUserIdRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; raiseMaxValueByUserIdAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class SetMaxValueByUserIdTask extends Gs2RestSessionTask { private SetMaxValueByUserIdRequest request; public SetMaxValueByUserIdTask( SetMaxValueByUserIdRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/user/{userId}/stamina/{staminaName}/set"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{staminaName}", this.request.getStaminaName() == null|| this.request.getStaminaName().length() == 0 ? "null" : String.valueOf(this.request.getStaminaName())); url = url.replace("{userId}", this.request.getUserId() == null|| this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId())); ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getMaxValue() != null) { json.put("maxValue", this.request.getMaxValue()); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.POST) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } if (this.request.getDuplicationAvoider() != null) { builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider()); } builder .build() .send(); } } /** * ユーザIDを指定してスタミナの最大値を更新
* * @param callback コールバック * @param request リクエストパラメータ */ public void setMaxValueByUserIdAsync( SetMaxValueByUserIdRequest request, AsyncAction> callback ) { SetMaxValueByUserIdTask task = new SetMaxValueByUserIdTask(request, callback, SetMaxValueByUserIdResult.class); session.execute(task); } /** * ユーザIDを指定してスタミナの最大値を更新
* * @param request リクエストパラメータ */ public SetMaxValueByUserIdResult setMaxValueByUserId( SetMaxValueByUserIdRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; setMaxValueByUserIdAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class SetMaxValueByStatusTask extends Gs2RestSessionTask { private SetMaxValueByStatusRequest request; public SetMaxValueByStatusTask( SetMaxValueByStatusRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/user/me/stamina/{staminaName}/set"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{staminaName}", this.request.getStaminaName() == null|| this.request.getStaminaName().length() == 0 ? "null" : String.valueOf(this.request.getStaminaName())); ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getKeyId() != null) { json.put("keyId", this.request.getKeyId()); } if (this.request.getSignedStatusBody() != null) { json.put("signedStatusBody", this.request.getSignedStatusBody()); } if (this.request.getSignedStatusSignature() != null) { json.put("signedStatusSignature", this.request.getSignedStatusSignature()); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.POST) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } if (this.request.getAccessToken() != null) { builder.setHeader("X-GS2-ACCESS-TOKEN", this.request.getAccessToken()); } if (this.request.getDuplicationAvoider() != null) { builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider()); } builder .build() .send(); } } /** * スタミナの最大値をGS2-Experienceのステータスを使用して更新
* * @param callback コールバック * @param request リクエストパラメータ */ public void setMaxValueByStatusAsync( SetMaxValueByStatusRequest request, AsyncAction> callback ) { SetMaxValueByStatusTask task = new SetMaxValueByStatusTask(request, callback, SetMaxValueByStatusResult.class); session.execute(task); } /** * スタミナの最大値をGS2-Experienceのステータスを使用して更新
* * @param request リクエストパラメータ */ public SetMaxValueByStatusResult setMaxValueByStatus( SetMaxValueByStatusRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; setMaxValueByStatusAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class DeleteStaminaByUserIdTask extends Gs2RestSessionTask { private DeleteStaminaByUserIdRequest request; public DeleteStaminaByUserIdTask( DeleteStaminaByUserIdRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/{namespaceName}/user/{userId}/stamina/{staminaName}"; url = url.replace("{namespaceName}", this.request.getNamespaceName() == null|| this.request.getNamespaceName().length() == 0 ? "null" : String.valueOf(this.request.getNamespaceName())); url = url.replace("{staminaName}", this.request.getStaminaName() == null|| this.request.getStaminaName().length() == 0 ? "null" : String.valueOf(this.request.getStaminaName())); url = url.replace("{userId}", this.request.getUserId() == null|| this.request.getUserId().length() == 0 ? "null" : String.valueOf(this.request.getUserId())); List queryStrings = new ArrayList<> (); if (this.request.getContextStack() != null) { queryStrings.add("contextStack=" + EncodingUtil.urlEncode(this.request.getContextStack())); } url += "?" + String.join("&", queryStrings); builder .setMethod(HttpTask.Method.DELETE) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } if (this.request.getDuplicationAvoider() != null) { builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider()); } builder .build() .send(); } } /** * ユーザIDを指定してスタミナを削除
* * @param callback コールバック * @param request リクエストパラメータ */ public void deleteStaminaByUserIdAsync( DeleteStaminaByUserIdRequest request, AsyncAction> callback ) { DeleteStaminaByUserIdTask task = new DeleteStaminaByUserIdTask(request, callback, DeleteStaminaByUserIdResult.class); session.execute(task); } /** * ユーザIDを指定してスタミナを削除
* * @param request リクエストパラメータ */ public DeleteStaminaByUserIdResult deleteStaminaByUserId( DeleteStaminaByUserIdRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; deleteStaminaByUserIdAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class RecoverStaminaByStampSheetTask extends Gs2RestSessionTask { private RecoverStaminaByStampSheetRequest request; public RecoverStaminaByStampSheetTask( RecoverStaminaByStampSheetRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/stamina/recover"; url = url.replace("{stampSheet}", this.request.getStampSheet() == null|| this.request.getStampSheet().length() == 0 ? "null" : String.valueOf(this.request.getStampSheet())); ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getKeyId() != null) { json.put("keyId", this.request.getKeyId()); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.POST) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } if (this.request.getDuplicationAvoider() != null) { builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider()); } builder .build() .send(); } } /** * スタンプシートを使用してスタミナを回復
* * @param callback コールバック * @param request リクエストパラメータ */ public void recoverStaminaByStampSheetAsync( RecoverStaminaByStampSheetRequest request, AsyncAction> callback ) { RecoverStaminaByStampSheetTask task = new RecoverStaminaByStampSheetTask(request, callback, RecoverStaminaByStampSheetResult.class); session.execute(task); } /** * スタンプシートを使用してスタミナを回復
* * @param request リクエストパラメータ */ public RecoverStaminaByStampSheetResult recoverStaminaByStampSheet( RecoverStaminaByStampSheetRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; recoverStaminaByStampSheetAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class RaiseMaxValueByStampSheetTask extends Gs2RestSessionTask { private RaiseMaxValueByStampSheetRequest request; public RaiseMaxValueByStampSheetTask( RaiseMaxValueByStampSheetRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/stamina/raise"; url = url.replace("{stampSheet}", this.request.getStampSheet() == null|| this.request.getStampSheet().length() == 0 ? "null" : String.valueOf(this.request.getStampSheet())); ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getKeyId() != null) { json.put("keyId", this.request.getKeyId()); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.POST) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } if (this.request.getDuplicationAvoider() != null) { builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider()); } builder .build() .send(); } } /** * スタンプシートでスタミナの最大値を加算
* * @param callback コールバック * @param request リクエストパラメータ */ public void raiseMaxValueByStampSheetAsync( RaiseMaxValueByStampSheetRequest request, AsyncAction> callback ) { RaiseMaxValueByStampSheetTask task = new RaiseMaxValueByStampSheetTask(request, callback, RaiseMaxValueByStampSheetResult.class); session.execute(task); } /** * スタンプシートでスタミナの最大値を加算
* * @param request リクエストパラメータ */ public RaiseMaxValueByStampSheetResult raiseMaxValueByStampSheet( RaiseMaxValueByStampSheetRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; raiseMaxValueByStampSheetAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class SetMaxValueByStampSheetTask extends Gs2RestSessionTask { private SetMaxValueByStampSheetRequest request; public SetMaxValueByStampSheetTask( SetMaxValueByStampSheetRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/stamina/max/set"; url = url.replace("{stampSheet}", this.request.getStampSheet() == null|| this.request.getStampSheet().length() == 0 ? "null" : String.valueOf(this.request.getStampSheet())); ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getKeyId() != null) { json.put("keyId", this.request.getKeyId()); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.POST) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } if (this.request.getDuplicationAvoider() != null) { builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider()); } builder .build() .send(); } } /** * スタンプシートでスタミナの最大値を更新
* * @param callback コールバック * @param request リクエストパラメータ */ public void setMaxValueByStampSheetAsync( SetMaxValueByStampSheetRequest request, AsyncAction> callback ) { SetMaxValueByStampSheetTask task = new SetMaxValueByStampSheetTask(request, callback, SetMaxValueByStampSheetResult.class); session.execute(task); } /** * スタンプシートでスタミナの最大値を更新
* * @param request リクエストパラメータ */ public SetMaxValueByStampSheetResult setMaxValueByStampSheet( SetMaxValueByStampSheetRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; setMaxValueByStampSheetAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } class ConsumeStaminaByStampTaskTask extends Gs2RestSessionTask { private ConsumeStaminaByStampTaskRequest request; public ConsumeStaminaByStampTaskTask( ConsumeStaminaByStampTaskRequest request, AsyncAction> userCallback, Class clazz ) { super( (Gs2RestSession) session, userCallback, clazz ); this.request = request; } @Override protected void executeImpl() { String url = Gs2RestSession.EndpointHost .replace("{service}", "stamina") .replace("{region}", session.getRegion().getName()) + "/stamina/consume"; ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); if (this.request.getStampTask() != null) { json.put("stampTask", this.request.getStampTask()); } if (this.request.getKeyId() != null) { json.put("keyId", this.request.getKeyId()); } if (this.request.getContextStack() != null) { json.put("contextStack", this.request.getContextStack()); } builder.setBody(json.toString().getBytes()); builder .setMethod(HttpTask.Method.POST) .setUrl(url) .setHeader("Content-Type", "application/json") .setHttpResponseHandler(this); if (this.request.getRequestId() != null) { builder.setHeader("X-GS2-REQUEST-ID", this.request.getRequestId()); } if (this.request.getDuplicationAvoider() != null) { builder.setHeader("X-GS2-DUPLICATION-AVOIDER", this.request.getDuplicationAvoider()); } builder .build() .send(); } } /** * スタンプタスクを使用してスタミナを消費
* * @param callback コールバック * @param request リクエストパラメータ */ public void consumeStaminaByStampTaskAsync( ConsumeStaminaByStampTaskRequest request, AsyncAction> callback ) { ConsumeStaminaByStampTaskTask task = new ConsumeStaminaByStampTaskTask(request, callback, ConsumeStaminaByStampTaskResult.class); session.execute(task); } /** * スタンプタスクを使用してスタミナを消費
* * @param request リクエストパラメータ */ public ConsumeStaminaByStampTaskResult consumeStaminaByStampTask( ConsumeStaminaByStampTaskRequest request ) { final AsyncResult[] resultAsyncResult = new AsyncResult[]{null}; consumeStaminaByStampTaskAsync( request, result -> resultAsyncResult[0] = result ); while (resultAsyncResult[0] == null) { try { Thread.sleep(100); } catch (InterruptedException e) {} } if(resultAsyncResult[0].getError() != null) { throw resultAsyncResult[0].getError(); } return resultAsyncResult[0].getResult(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy