何となく、わかってきたけど、奥が深いので、まだまだという感じもする・・・。
http://wiki.apache.org/jackrabbit/JcrLinks
にある Articles のところの情報が多少は役に立つのかな。とは言っても、チュートリアル的なドキュメントが欲しい気もする。その辺のドキュメントを読んで気になることは、JCR では、Value というインターフェースを定義しているのだが、node.setPropertyで値を与えるときに、Valueをインターフェースした StringValueとか使っている例をよく見る。でも、このStringValueって、Jackrabbitのコードだから、それに依存してしまう・・・。だから、ValueFactoryみたいなのが必要なんじゃないかね・・・。基本的には、アプリケーション側のコードが Jackrabbit のパッケージを読むのは望ましくないと思うが。
あ、でも、今見たら、JCR に ValueFactory というのがあり、Jackrabbit に ValueFactoryImpl というのがある。う~ん、つまり、見ている例題が悪いのか・・・。っていうか、ValueFactory を使っている例をまだ見たことないけど、普通はこれを使うべき何だろうな。