リソースの基本バリエーション
RESTなんだから,まずはリソースに注目してみたい.Restletではリソースを表現であるRepresentationクラスのサブクラスがいくつかあるが,そのうち基本的なものを試してみた.
まず,FileRepresentationを使用する,FileSampleResourceを作成してみた.
FileRepresentationは,パス文字列やFileオブジェクトで指定されたファイルを読み込んで,それを出力する.
ここでは,FileSampleResourceクラスのソースファイル自体を出力するようにしている.
XmlRepresentationを使用する,XmlSampleResourceを作成してみた.
XmlRepresentationには,XMLの構築の仕方によって,サブクラスのDomRepresentation,SaxRepresentationがある.
今回はDomRepresentationを使用してみた.
DomRepresentationはDocumentオブジェクトを引数としてコンストラクトする.
Documentオブジェクト自体は,ここでは通常のDomプログラミングで作成している.
Xmlを出力したい場合は,他にも先のFileRepresentationでXMLファイルを読み込んで,MediaTypeをTEXT_XMLやAPPLICATION_XMLに指定する方法がある.
TransformRepresentationは,一方のRepresentationをもう一方のRepresentationで変換した結果を出力する.
具体的には,XMLを出力するRepresentationをXSLを出力するRepresentationで変換する.
このサンプルでは,固定ファイルのXMLとXSLファイルを読み込むFileRepresentationで変換している.
このように,変換対象やスタイルシートの型はXmlRepresentationである必要がないことに注意(実際に出力されるデータがXMLやXSLであれば良い).
出力の変換処理は,他にFilterパッケージのTransformクラスを使用する方法もありそうな雰囲気.
今回作成したサンプル.
コンパイル,実行には,
起動したら以下のリンクを試してみる.
サンプル中,各ファイルパスを指定している場所は,「うまく合わさないと」ファイルが見つからず正しく動作しないので注意.
org.restlet.jar org.restlet.ext.wadl_1.0.jar com.noelios.restlet.jarが必要. 以下のWADLファイルのURLを引数に指定してorg.restlet.ext.wadl.WadlComponentを実行する.

