NTT DOCOMO and Hitachi Kokusai Electric Know-how & Confidential

com.docomo_um.module
クラス ModuleManager

java.lang.Object
  上位を拡張 com.docomo_um.module.ModuleManager

public class ModuleManager
extends java.lang.Object

モジュール管理クラスです。

システムアップデート
システムアップデートはupdateSystem()をコールすることにより実行することが出来ます。 システムはアプリケーションに対して、アップデート開始要求、リセット要求、アップデート中断、の三つを通知します。 アプリケーションはsetModuleListener(ModuleListener)にて、リスナクラスを設定することでそれらの通知を受け取ることが出来ます。 設定されていない場合、アプリケーションはシステム側からの通知を受け取ることは出来ません。通知を受け取れない場合でも、システムはアップデートを継続します。

システムアップデートを行うには、手動アップデートと自動アップデートの二つの手段があります。手動アップデートはアプリケーション側からアップデートを実行します。 自動アップデートは、アプリケーション側がシステム側からアップデート開始要求の通知を受け取ることでアップデートを実行します。

〇 手動アップデート
updateSystem()をコールすることでアップデートを行うことが出来ます。アップデートは非同期で行われます。 システム側は、サーバに対してアップデートの有無を確認し、アップデートファイルをダウンロードします。 その過程で、アップデートの必要が無い、もしくはダウンロード中に通信が切断されたなど、継続が不能になった場合、 ModuleListener.onSystemUpdateAbort(int)をコールバックして、システムアップデート中断を通知します。 アップデートファイルのダウンロード完了後に、システムはModuleListener.onReset()をコールバックして、システムのリセット要求を通知します。 リセット要求の通知後、アプリケーションはreset()でシステムをリセットしてください。 ただし、reset()をコールしていない場合、システムは通知後10秒経過した時点で、システムをリセットします。
リセットを実行してシステムが起動すると、システムはアップデートを完了します。

〇 自動アップデート
システムは、サーバからシステムアップデートの要求を受け取った場合、ModuleListener.onSystemUpdate()をコールバックして、 システムアップデートの開始要求をアプリケーション側に通知します。 システムアップデートの開始要求の通知後、アプリケーションはupdateSystem()でシステムアップデートを実行してください。 ただし、updateSystem()をコールしていない場合、システムは通知後5秒経過した時点で、システムアップデートを実行します。 以降のシステムアップデートは手動アップデートと同様です。

留意事項
システムからの通知を検知しアプリケーションで適切な処理を行うために、setModuleListener(ModuleListener listener)を必ず呼び出す必要があります。 当該メソッドを呼ばずにシステムからのアプリケーションへ通知が行えない場合でも、システムは処理を続行します。
setModuleListener(ModuleListener listener)で登録したlistenerのModuleListener.onReset() でシステムからのリセット要求が通知されます。システムからのリセット要求が通知されてから10秒経過してもreset()メソッドがコールされない場合、 システムは自動的にリセット処理を開始します。
setModuleListener(ModuleListener listener)で登録したlistenerのModuleListener.onSystemUpdate() でシステムからのシステムアップデート要求が通知されます。システムからのシステムアップデート要求が通知されてから5秒経過してもupdateSystem()メソッドがコールされない場合、 自動的にシステムアップデートが開始されます。


フィールドの概要
static int SYSTEM_UPDATE_DOWNLOAD_COMPLETE
          システムアップデートの実行状態の一つで、ダウンロード完了済みで、システムの書換えが未実行の状態を表します。
static int SYSTEM_UPDATE_DOWNLOADING
          システムアップデートの実行状態の一つで、アップデートファイルをダウンロードしている状態を表します。
static int SYSTEM_UPDATE_IDLE
          システムアップデートの実行状態の一つで、システムアップデートが実行されていない状態を表します。
static int SYSTEM_UPDATE_REWRITING
          システムアップデートの実行状態の一つで、システムの書換え中の状態を表します。
static int SYSTEM_UPDATE_SENDING_COMPINFO
          システムアップデートの実行状態の一つで、サーバへの完了通知送信中状態を表します。
 
メソッドの概要
 void cancelSystemUpdate()
          現在実行中のシステムアップデートをキャンセルします。
 void changeApplication(Application application)
          次回モジュール電源ON時に起動するアプリケーションを設定します。
 java.util.List<Application> getApplicationList()
          インストール済み(モジュール電源ON時に起動できる)のアプリケーション一覧を取得します。
 ConnectionManager getConnectionManager()
          有線通信 IF 接続管理クラスのインスタンスを生成します。
static ModuleManager getInstance()
          モジュール管理クラスのインスタンスを生成します。
 LocationProvider getLocationProvider(int method)
          測位方式を指定して測位機能提供クラスのインスタンスを生成します。
 PacketController getPacketController()
          パケット通信制御クラスのインスタンスを生成します。
 PINManager getPINManager()
          PIN管理クラスのインスタンスを生成します。
 int getSystemUpdateStatus()
          システムアップデートの実行状態を取得します。
 VoiceController getVoiceController()
          音声通話制御クラスのインスタンスを生成します。
 void reset()
          リセットします。
 void setModuleListener(ModuleListener listener)
          リスナを登録します。
 void turnOff()
          アプリケーションを終了してモジュールの電源をOFFします。
 void turnOff(java.util.Date bootTime)
          アプリケーションを終了してモジュールの電源をOFFした後、指定した起動時刻にモジュールの電源をONしアプリケーションを起動します。
 void updateSystem()
          システムアップデートを実行します。
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait
 

フィールドの詳細

SYSTEM_UPDATE_IDLE

public static final int SYSTEM_UPDATE_IDLE
システムアップデートの実行状態の一つで、システムアップデートが実行されていない状態を表します。

関連項目:
getSystemUpdateStatus(), 定数フィールド値

SYSTEM_UPDATE_DOWNLOADING

public static final int SYSTEM_UPDATE_DOWNLOADING
システムアップデートの実行状態の一つで、アップデートファイルをダウンロードしている状態を表します。

関連項目:
getSystemUpdateStatus(), 定数フィールド値

SYSTEM_UPDATE_DOWNLOAD_COMPLETE

public static final int SYSTEM_UPDATE_DOWNLOAD_COMPLETE
システムアップデートの実行状態の一つで、ダウンロード完了済みで、システムの書換えが未実行の状態を表します。

関連項目:
getSystemUpdateStatus(), 定数フィールド値

SYSTEM_UPDATE_REWRITING

public static final int SYSTEM_UPDATE_REWRITING
システムアップデートの実行状態の一つで、システムの書換え中の状態を表します。

関連項目:
getSystemUpdateStatus(), 定数フィールド値

SYSTEM_UPDATE_SENDING_COMPINFO

public static final int SYSTEM_UPDATE_SENDING_COMPINFO
システムアップデートの実行状態の一つで、サーバへの完了通知送信中状態を表します。

関連項目:
getSystemUpdateStatus(), 定数フィールド値
メソッドの詳細

getInstance

public static ModuleManager getInstance()
                                 throws ModuleException
モジュール管理クラスのインスタンスを生成します。

このメソッドを複数回呼び出した場合には、同一インスタンスを返します。

戻り値:
モジュール管理クラスのインスタンスを返します。
例外:
ModuleException - 内部エラーによりインスタンスの取得に失敗した場合に発生します。

getPINManager

public PINManager getPINManager()
                         throws ExternalStatusException,
                                ModuleException,
                                DeviceException
PIN管理クラスのインスタンスを生成します。

このメソッドを複数回呼び出した場合には、同一インスタンスを返します。

戻り値:
PIN管理クラスのインスタンスを返します。
例外:
ExternalStatusException - UIMが挿入されていない場合など、PIN管理クラスのインスタンス生成に失敗した場合に発生します。
ModuleException - 内部エラーにより処理が中断された場合に発生します。
DeviceException - デバイスの故障により、PIN管理クラスのインスタンス生成に失敗した場合に発生します。
関連項目:
PINManager

getConnectionManager

public ConnectionManager getConnectionManager()
有線通信 IF 接続管理クラスのインスタンスを生成します。

このメソッドを複数回呼び出した場合には、同一インスタンスを返します。

戻り値:
有線通信 IF 接続管理クラスのインスタンスを返します。
関連項目:
ConnectionManager

getLocationProvider

public LocationProvider getLocationProvider(int method)
測位方式を指定して測位機能提供クラスのインスタンスを生成します。

このメソッドを複数回呼び出した場合には、指定した測位方式毎に同一インスタンスを返します。

パラメータ:
method - 測位方式(LocationProvider.getAvailableLocationMethod() の戻り値)を指定します。
戻り値:
測位機能提供クラスのインスタンスを返します。
例外:
java.lang.IllegalArgumentException - 不正なmethod(LocationProvider.getAvailableLocationMethod()の戻り値以外)を指定した場合に発生します。
関連項目:
LocationProvider, LocationProvider.METHOD_AUTO, LocationProvider.METHOD_STANDALONE, LocationProvider.METHOD_STANDARD

getVoiceController

public VoiceController getVoiceController()
音声通話制御クラスのインスタンスを生成します。

このメソッドを複数回呼び出した場合には、同一インスタンスを返します。

戻り値:
音声通話制御クラスのインスタンスを返します。
関連項目:
VoiceController

getPacketController

public PacketController getPacketController()
パケット通信制御クラスのインスタンスを生成します。

このメソッドを複数回呼び出した場合には、同一インスタンスを返します。

戻り値:
パケット通信制御クラスのインスタンスを返します。
関連項目:
PacketController

setModuleListener

public void setModuleListener(ModuleListener listener)
リスナを登録します。

このインスタンスに登録できるリスナは1つだけです。 このメソッドを複数回呼出した場合、最後に登録したリスナだけが有効です。 null を指定すると、リスナの登録を削除します。

パラメータ:
listener - 登録するリスナを指定します。
関連項目:
ModuleListener

turnOff

public void turnOff()
             throws ModuleException
アプリケーションを終了してモジュールの電源をOFFします。

turnOff(Date bootTime) に nullを指定した場合の動作と同じです。

例外:
ModuleException - 内部エラーにより処理が中断された場合に発生します。

turnOff

public void turnOff(java.util.Date bootTime)
             throws ModuleException
アプリケーションを終了してモジュールの電源をOFFした後、指定した起動時刻にモジュールの電源をONしアプリケーションを起動します。

bootTimeに過去の日付を指定した場合は即座に起動します。

パラメータ:
bootTime - 起動時刻を指定します。電源OFF後に電源ONさせない場合は、nullを指定します。
例外:
ModuleException - 内部エラーにより処理が中断された場合に発生します。

reset

public void reset()
           throws ModuleException
リセットします。

以下の場合に、このメソッドを呼び出します。

例外:
ModuleException - 内部エラーにより処理が中断された場合に発生します。
関連項目:
ModuleListener.onReset()

getSystemUpdateStatus

public int getSystemUpdateStatus()
                          throws ModuleException
システムアップデートの実行状態を取得します。

戻り値:
システムアップデートの実行状態を返します。
例外:
ModuleException - 内部エラーにより処理が中断された場合に発生します。
関連項目:
SYSTEM_UPDATE_IDLE, SYSTEM_UPDATE_DOWNLOADING, SYSTEM_UPDATE_DOWNLOAD_COMPLETE, SYSTEM_UPDATE_REWRITING, SYSTEM_UPDATE_SENDING_COMPINFO

updateSystem

public void updateSystem()
                  throws ModuleException,
                         DeviceException,
                         ExternalStatusException
システムアップデートを実行します。

以下の場合に、このメソッドを呼び出します。

本メソッドの呼び出し時にシステムアップデートが実行されている場合は何もしません。

例外:
ModuleException - 内部エラーによりシステムアップデートが実行できなかった場合に発生します。
DeviceException - デバイスの故障により、正常に実行出来なかった場合に発生します。
ExternalStatusException - UIMが挿入されていない場合など、システムアップデートが実行できなかった場合に発生します。
関連項目:
ModuleListener.onSystemUpdate()

cancelSystemUpdate

public void cancelSystemUpdate()
                        throws DeviceException,
                               ModuleException
現在実行中のシステムアップデートをキャンセルします。

本メソッドの呼び出し時にシステムアップデートが実行されていなければ何もしません。
システムの状態によっては、本メソッドをコールしてもシステムアップデートをキャンセルできない場合があります。

例外:
ModuleException - キャンセルできなかった場合に発生します。
DeviceException - デバイスの故障により、正常に実行出来なかった場合に発生します。

getApplicationList

public java.util.List<Application> getApplicationList()
インストール済み(モジュール電源ON時に起動できる)のアプリケーション一覧を取得します。 アプリケーションのインストールを行った場合、 このメソッドの戻り値となるアプリケーションの一覧も更新されます。

戻り値:
インストール済みアプリケーションの一覧を返します。 先頭の要素には現在動作中のアプリケーションが入ります。 ただし、ApplicationInstallManager.updateApplicationArea(FFSFile) メソッドにより現在動作中のアプリケーションが更新された場合、 新たにインストールされたアプリケーションが先頭の要素に入ります。

changeApplication

public void changeApplication(Application application)
                       throws ModuleException,
                              DeviceException
次回モジュール電源ON時に起動するアプリケーションを設定します。 実際にアプリケーションを切り替えるには、reset() メソッドをコールしてリセットする、 または、turnOff()turnOff(Date) メソッドをコールして一度電源をOFFして起動し直す必要があります。

アプリケーションのインストールを行った場合、 インストール以前に取得したアプリケーションインスタンスは、本メソッドの引数に指定できません。 アプリケーションのインストール以前に取得したApplicationインスタンスを本メソッドの引数に設定した場合、例外が発生します。

引数applicationはgetApplicationList()で取得したアプリケーションを指定してください。

パラメータ:
application - 次回電源ON時に起動するアプリケーションを指定します。
例外:
java.lang.NullPointerException - applicationがnullの場合に発生します。
java.lang.IllegalArgumentException - アプリケーションのインストールよりも前に生成されたApplicationインスタンスが指定された場合に発生します。
ModuleException - 内部エラーにより処理が中断した場合に発生します。
DeviceException - デバイスの故障により、次回電源ON時に起動するアプリケーションの設定に失敗した場合に発生します。
関連項目:
getApplicationList(), reset(), turnOff(), turnOff(Date)

Copyright © 2013 NTT DOCOMO, INC. and Hitachi Kokusai Electric Inc. All Rights Reserved.