私が持っているWifiComponent私にはCamera私のクライアントアプリケーションで。カメラのWifi関連の機能を処理します。Cameraは実際のカメラを表します。
これWifiComponentは、有効にすることができます(この場合、接続ステータスのチェックやスキャンなど、それを使って行うことができます)または無効にすることができます(この場合、有効かどうかを確認する以外は、何もできません)。
作成するときCamera、私の中のクライアントアプリケーションを、私はそのかどうかを尋ねるカメラWifiComponent有効になっています。次にWifiComponent、WifiComponentImplまたはの適切なサブクラスを作成しますNullWifiComponent。
supportedWifiTypes()およびwifiScan()メソッドの実装は簡単です。NullWifiComponent任意の種類をサポートしていない、すぐには結果をスキャンしないと発見して行われます。
しかし今、私はbool connect(WifiNetwork network, String password)メソッドを実装する必要があります。接続に失敗したと言いたいのですが...でWifiEncryptionType提供されているものもサポートしていませんWifiNetwork。実際の実装ではIllegalArgumentException、サポートされていないWifiEncryptionTypewifiネットワークを渡すとスローされます。
私は...
- リクエストを
IllegalArgumentExceptionサポートしていないため、スローWifiEncryptionTypeしますか? return false何が提供されていても、接続に失敗します()。
一般的な質問:
実際の実装が契約を満たし、この契約の一部が特定の入力に対して例外をスローすることである場合、null実装はその中立性または契約を優先する必要がありますか?
WifiEncriptionTypeので、カメラはを拒否しないため、をスローしないと言えIllegalArgumentExceptionます。だから、投げないと契約違反になるとは思いません。