スキーマの定義(ゲートウェイ)

モバイルアプリから Thing を操作する際、スキーマを定義する必要があります。

ここでは、スキーマ、アクション、アクションリザルト、ステートの概念に関する知識があることを前提に説明します。概要については スキーマ をご覧ください。

スキーマの定義方法は、スタンドアローンで Thing を利用する場合と同様です。実装方法の詳細は スキーマの定義 をご覧ください。

ゲートウェイに対するスキーマ

ゲートウェイはリクエストやレスポンスを中継するだけであるため、アクションやステートが不要ですが、形式的に、スキーマを定義しておく必要があります。

以下のように空のステートクラスを用意してから、アクションがないスキーマを定義します。

public class GatewayState extends TargetState {
}
// Create a schema builder with parameters.
SchemaBuilder sb = SchemaBuilder.newSchemaBuilder("gateway",
      "Gateway-Sample",
      1, GatewayState.class);

// Create a schema.
Schema schemaGateway = sb.build();

エンドノードに対するスキーマ

エンドノードは実際にコマンドやステートを扱う必要があるため、スタンドアローンの Thing の場合と同様にスキーマを定義します。