public abstract class NbService extends java.lang.Object implements NbServiceOffline
NbServiceBuilder.build()
でインスタンスを生成する。
マルチテナントモードに設定しない限り、アプリケーションは本インスタンスをシングルトンとして扱うべきである。
コンストラクタと説明 |
---|
NbService() |
修飾子とタイプ | メソッドと説明 |
---|---|
abstract NbRestExecutor |
createRestExecutor()
REST Executor を生成する
|
static void |
disableClientCertificate()
クライアント証明書認証を無効にする
証明書未登録の状態でコールした場合、何も行わない。
|
static void |
enableMultiTenant(boolean enabled)
マルチテナントモードの有効設定を行う。
|
abstract NbFileBucketManager |
fileBucketManager()
NbFileBucketManagerを取得する。
|
abstract void |
finish()
NebulaServiceの終了。
|
abstract NbHttpRequestFactory |
getHttpRequestFactory()
HTTP リクエストファクトリを取得する
|
static NbService |
getInstance()
シングルトンインスタンスを取得する。
|
static boolean |
isClientCertSet()
クライアント証明書の設定状況を確認する。
|
abstract NbObjectBucketManager |
objectBucketManager()
NbObjectBucketManagerを取得する。
|
abstract void |
setAppId(java.lang.String appId)
アプリケーションIDを設定する(NbService生成後に変更する場合に使用する)。
|
abstract void |
setAppKey(java.lang.String appKey)
アプリケーションキーを設定する(NbService生成後に変更する場合に使用する)。
|
static void |
setClientCertificate(java.io.InputStream clientCert,
java.lang.String password,
java.io.InputStream trustedCaCert)
クライアント証明書認証に使用する証明書を登録する
本設定後、サーバが対応する場合にクライアント証明書による認証が可能となる。
|
abstract void |
setEndPointUri(java.lang.String endPointUri)
エンドポイントURIを設定する(NbService生成後に変更する場合に使用する)。
|
static void |
setProxy(java.lang.String host,
int port)
REST API 呼び出しにおける HTTP プロキシサーバを設定する。
|
abstract void |
setTenantId(java.lang.String tenantId)
テナントIDを設定する(NbService生成後に変更する場合に使用する)。
|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
changeDatabasePassword, getLoginCacheValidTime, registerNetworkEventListener, setLoginCacheValidTime, unregisterNetworkEventListener
public static NbService getInstance()
java.lang.IllegalStateException
- インスタンスが作成されていないpublic static void enableMultiTenant(boolean enabled)
マルチテナント有効時は、シングルトンインスタンス取得時に IllegalStateException がスローされる。 マルチテナント非対応API発行時も同様。
マルチテナント無効に明示的に設定した場合、NbService のインスタンスは厳密に1つしか作成されない。 (Strict Singleton モード。複数作成すると例外がスローされる)。
なお、マルチテナントモードを使用することができるのは NbGenericServiceBuilder
だけである。
NbAndroidServiceBuilder
では使用不可。
enabled
- 有効public static void setProxy(java.lang.String host, int port)
本設定後、すべての REST API 呼び出しは指定したプロキシサーバを使用する。 なお、本設定は全 NbService で共通である。
host
- プロキシホスト名。null に指定した場合はプロキシサーバを解除する。port
- プロキシポート番号public static void setClientCertificate(java.io.InputStream clientCert, java.lang.String password, java.io.InputStream trustedCaCert) throws java.io.IOException, java.security.GeneralSecurityException
本設定後、サーバが対応する場合にクライアント証明書による認証が可能となる。
本設定は全 NbService で共通である。
NbHttpClient#setAllowSelfSignedCertificate(boolean)
がtrueの場合、本設定は無効となる。
clientCert
- クライアント証明書(.p12形式: 秘密鍵+クライアント証明書)password
- クライアント証明書のインポート用パスワード
パスワード未設定の場合は""(空文字)を指定する。nullの場合は空文字とみなすtrustedCaCert
- 信頼するCAの証明書(.pem形式)。通常PrivateCAの証明書を指定する。
"-----BEGIN CERTIFICATE-----","-----END CERTIFICATE-----" で囲まれた部分を証明書として使用する。
nullを設定した場合、システムデフォルトのTrustManagerを使用する。java.io.IOException
- 証明書が存在しない、証明書データが取得できないjava.security.GeneralSecurityException
- 証明書の検証に問題が発生したjava.lang.IllegalArgumentException
- クライアント証明書、CA証明書がどちらも指定されなかったpublic static void disableClientCertificate()
証明書未登録の状態でコールした場合、何も行わない。 本設定は全 NbService で共通である。
public static boolean isClientCertSet()
public abstract NbObjectBucketManager objectBucketManager()
NbObjectBucketManagerImpl
public abstract NbFileBucketManager fileBucketManager()
NbFileBucketManager
public abstract void finish()
public abstract void setTenantId(java.lang.String tenantId)
tenantId
- テナントIDpublic abstract void setAppId(java.lang.String appId)
appId
- アプリケーションIDpublic abstract void setAppKey(java.lang.String appKey)
appKey
- アプリケーションキーpublic abstract void setEndPointUri(java.lang.String endPointUri)
endPointUri
- エンドポイントURIpublic abstract NbHttpRequestFactory getHttpRequestFactory()
public abstract NbRestExecutor createRestExecutor()