Jolla(ホヤ)は、Dashboard ウィジェットのためのプラグインだ。主にネットワークにアクセスするために便利な機能を提供する。
主な機能
Jolla 1.0 の主な機能は、次の通りだ。
- 文字コードを指定した URI エンコーディング
- ネットワーク上のリソースのダウンロード
- テキストファイルの文字コード変換
- HTML ファイルをパースして DOM ツリーを作成
特に、HTML から DOM ツリーを作成する機能は、Web 上の情報を集める時に便利でしょう。
使い方
まず、Jolla.widgetplugin をダウンロードして、ウィジェットの中に入れる。そして、Info.plist で、プラグインの指定を行う必要がある。
これでウィジェットを起動すると、window オブジェクトの下に、Jolla オブジェクトができているはずだ。そうすれば、以下で説明する API が使えるようになる。
サンプル
Search.wdgt
入力した文字を、検索エンジンで検索する。URI エンコードのサンプル。
ImageViewer.wdgt
URL を入力して画像を表示する。ダウンロード機能のサンプル。
Soccer.wdgt
HTML を解析して、J リーグのランキングを表示する。HTML パーサ機能のサンプル。
Jolla オブジェクト API
Jolla オブジェクトは、このプラグインのルートになるオブジェクトだ。
encodeURI
Jolla.encodeURI(string, encoding)
文字列を、指定した文字コードで、URIエンコードする。
引数
string 変換する文字列。
encoding 変換する時の文字コード。
返り値
URIエンコードされた文字列。
decodeURI
Jolla.decodeURI(string, encoding)
URIエンコードされた文字列を、指定した文字コードで、デコードする。
引数
string URIエンコードされた文字列。
encoding デコードする時の文字コード。
返り値
URIデコードされた文字列。
encodeText
Jolla.encodeText(string, filePath, encoding)
文字列を、指定した文字コードに変換し、ファイルに保存する。
引数
string 変換する文字列。
filePath 保存するファイルパス。ファイルパスが相対表示の場合、プラグインフォルダが含まれているディレクトリがベースになる。
encoding 文字コード。
decodeFile
Jolla.decodeFile(filePath, encoding)
文字コードを指定して、ファイルの文字列を読み込む。文字コードは、ウィジェットの現在の文字コードに変換される。
引数
filePath 文字列を含むファイルパス。ファイルパスが相対表示の場合、プラグインフォルダが含まれているディレクトリがベースになる。
encoding 文字コード。
返り値
文字コードが変換された、文字列。
createDownloader
Jolla.createDownloader()
JollaDownloader オブジェクトを作成する。
createHTMLParser
Jolla.createHTMLParser()
JollaHTMLParser オブジェクトを作成する。
JollaDownloader オブジェクト API
JollaDownloader オブジェクトは、ネットワーク上のリソースをダウンロードして、保存するオブジェクトだ。Jolla.createDownloder()で作成する。
onLoadName
downloader.onLoadName
ダウンロードが完了したときに呼び出される、ハンドラの名前を指定する。ハンドラそのものではなく、名前を文字列で指定する必要がある。ハンドラは、引数を1つ取り、ダウンロードしたファイルの保存先のファイルパスが渡る。
onErrorName
downloader.onErrorName
ダウンロード中にエラーが発生したときに呼び出される、ハンドラの名前を指定する。ハンドラそのものではなく、名前を文字列で指定する必要がある。ハンドラは、引数を取らない。
downloadAtURL
downloader.downloadAtURL(URL, filePath)
指定したURLにあるファイルをダウンロードして、ファイルに保存する。
引数
URL ダウンロードするファイルのURL。
filePath ダウンロードしたファイルの保存先。ファイルパスが相対表示の場合、プラグインフォルダが含まれているディレクトリがベースになる。
downloadAtURLCreateDir
downloader.downloadAtURLCreateDir(URL, filePath, flag)
指定したURLにあるファイルをダウンロードして、ファイルに保存する。flagがtrueの場合、指定したファイルパスを含むディレクトリが存在しない時に、ディレクトリを作成する。
引数
URL ダウンロードするファイルのURL。
filePath ダウンロードしたファイルの保存先。ファイルパスが相対表示の場合、プラグインフォルダが含まれているディレクトリがベースになる。
flag ディレクトリを作成するかどうかを指定する。
isDownloading
downloader.isDownloading()
ダウンロード中かどうかを調査する。
返り値
ダウンロード中ならばtrue、そうでないときはfalseが返る。
cancel
downloader.cancel()
ダウンロードをキャンセルする。キャンセルした場合、onLoadName と onErrorName で指定したハンドラは呼び出されない。
JollaHTMLParser オブジェクト API
JollaHTMLParser オブジェクトは、HTMLをパースして、DOMツリーを作成するオブジェクトだ。Jolla.createHTMLParser()で作成する。
onLoadName
parser.onLoadName
ダウンロードが完了したときに呼び出される、ハンドラの名前を指定する。ハンドラそのものではなく、名前を文字列で指定する必要がある。ハンドラは、引数を1つ取り、DOMツリーオブジェクトが渡る。
onErrorName
parser.onErrorName
ダウンロード中にエラーが発生したときに呼び出される、ハンドラの名前を指定する。ハンドラそのものではなく、名前を文字列で指定する必要がある。ハンドラは、引数を取らない。
parseHTML
parser.parseHTML(string)
渡された文字列を、HTMLとしてパースする。
引数
string パースするHTML文字列。
parseHTMLFile
parser.parseHTMLFile(filePath)
ファイルパスを指定して、HTMLファイルをパースする。
引数
filePath パースするHTMLファイル。
parseHTMLAtURL
parser.parseHTMLAtURL(URL)
URLを指定して、HTMLファイルをパースする。
引数
URL パースするHTMLファイルのURL。
discard
parser.discard()
作成したDOMツリーを破棄する。HTMLにFlashなどが含まれているときに、利用し終わったDOMツリーを破棄することで、パフォーマンスへの負担を軽くすることができる。
システム条件
Mac OS X 10.4 (Tiger) 以降が必要。
ライセンス
ライセンスは、修正 BSD ライセンスになる。
プラグインファイルに、コピーライトが含まれているのでそれを変更しなければ、自由に再配布、改変を行える。許可を取る必要は無い。
ソースコードも、コピーライトを変更しなければ、自由に再配布、改変を行える。許可を取る必要は無い。
ダウンロード
version 1.0
(2005/11/12 公開)
Jolla プラグイン
JollaWidgetPlugin1.0.zip (16 Kb)
ソースコード
JollaWidgetPluginSrc1.0.zip (24 Kb)
サンプルウィジェット
JollaSamples.zip (76 Kb)




