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 ライセンスになる。

プラグインファイルに、コピーライトが含まれているのでそれを変更しなければ、自由に再配布、改変を行える。許可を取る必要は無い。

ソースコードも、コピーライトを変更しなければ、自由に再配布、改変を行える。許可を取る必要は無い。