sotaでtyrusを使って継承を利用することなくWebsocketを使う

今とある用事でsotaの開発を行っていますがsotaを開発するためのVstone MagicというIDEにいろいろハマったのでメモ

Vstone Magic

Vstone Magicとはブロックを配置するだけでjavaプログラムを自動生成し、コンパイル、sotaにプログラムを転送できるIDEです。

細かいことをしようと思うと内部にjavaプログラムを埋め込むことができます。

ただ、javaのクラスに影響を与えるような自由記述は許されておらず、例えばクラスのattributeを指定したりスーパークラスを指定すると、プログラムは転送できるのですがvstone magicでブロックを移動させた瞬間に継承の記述が消えます。

Tyrus

tyrusとはjava用のWebsocketのライブラリですがGetting Startedを見ると利用するにはクラスにattributeを記述するか、Endpointクラスを継承しないと利用できなさそう

しかしvstone magicはattributeや継承の記述を消去してしまいます

無名内部クラス

そこでjavaの無名内部クラスというものを利用することによって、継承もattributeも利用することなく、tyrusを利用できます。

結局はonConnectServerメソッドの第一引数にEndpointを継承したクラスオブジェクトをいれる必要があるだけなので、無名内部クラスを使うことで解決しました