Created
June 9, 2009 15:44
-
-
Save takedasoft/126587 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
scala.mobileパッケージの使い方を試してみました。 | |
オンデマンドでパッケージをロードして実行するしくみで、 | |
要は、ClassLoaderとJavaリフレクションのラッパー。 | |
コンパイル実行よりも、 | |
scalaコンソールで一行ずつ実行したほうがわかりやすい。 | |
*/ | |
import java.net.URL | |
import scala.mobile._ | |
object ScalaMobileTest extends Application { | |
//必要なjarを指定 | |
val url | |
= new URL("http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/camel/camel-scala/1.6.0/camel-scala-1.6.0.jar") | |
//jarをロードしてクラスからインスタンスを生成 | |
val scalaTypeConverter:Code | |
= new Location(url) create "org.apache.camel.scala.converters.ScalaTypeConverter" | |
//関数の生成。 <インスタンス>[<引数>,<戻り値>](<メソッド名>) | |
val convertToDocument | |
= scalaTypeConverter[scala.xml.Elem,org.w3c.dom.Document]("convertToDocument") | |
//生成した関数を実行 | |
convertToDocument( <xml></xml> ) | |
// jarの中身が足りなくてエラー(;x;) | |
// java.lang.ClassNotFoundException: org.apache.camel.converter.jaxp.XmlConverter | |
} | |
/* | |
ScalaStyleClass$.class クラスを必ず探しに行くので、Javaクラスのロードは不可。 | |
ここを改善してくれればもっと使い道あるかも。 | |
依存関係の多いライブラリでは使うのは難しそう。 | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment