package com.nifty.cloud.ncs;

import java.net.URI;

import com.nifty.cloud.ncs.http.HttpMethod;
import com.nifty.cloud.ncs.http.HttpRequest;

/**
 * ニフクラサービスの要求内容を保持するクラスです。
 *
 */
public class NiftyCloudRequest extends HttpRequest
{
	private URI endPoint;
	private String resourcePath;
	private String serviceName;

	/**
	 * 指定されたサービス名、およびHTTPメソッドを使用して、新しいNiftyCloudRequestを生成します。
	 *
	 * @param serviceName
	 *  サービス名
	 */
	public NiftyCloudRequest(String serviceName, HttpMethod method)
	{
		super(method);
		this.serviceName = serviceName;
	}

	/**
	 * サービス名を取得します。
	 *
	 * @return
	 *  サービス名
	 */
	public String getServiceName()
	{
		return (serviceName);
	}

	/**
	 * ニフクラサービスのエンドポイントを設定します。
	 *
	 * @param endPoint
	 *  ニフクラサービスのエンドポイント
	 */
	public void setEndpoint(URI endPoint)
	{
		super.setUri(endPoint);
		this.endPoint = endPoint;
	}

	/**
	 * ニフクラサービスのエンドポイントを取得します。
	 *
	 * @return endPoint
	 *  ニフクラサービスのエンドポイント
	 */
	public URI getEndPoint()
	{
		return (endPoint);
	}

	/**
	 * ニフクラサービスのリソースパスを設定します。
	 *
	 * @param resourcePath
	 *  ニフクラサービスのリソースパス。(例： "/"、"/bucketname/"、または "/bucketname/objectname")
	 *
	 */
	public void setResourcePath(String resourcePath)
	{
		this.resourcePath = resourcePath;
	}

	/**
	 * ニフクラサービスのリソースパスを取得します。
	 *
	 * @return resourcePath
	 *  ニフクラサービスのリソースパス
	 */
	public String getResourcePath()
	{
		return (resourcePath);
	}

}
