ノードタイプ

あまり仕様書を見ていないのも悪いのだが、nt:fileとかノードタイプを使おうと思い、そのノードを作って、nt:fileの定義にない、nameとかプロパティにセットすると、Exceptionを食らう。つまり、定義していないものは使えんということなのね。というわけで、デフォルトのnt:unstructuredを利用することにする。うむむ、まだまだ謎多し。

nt:fileとnt:resource

CMSとかで、ファイルを保存するときには、nt:fileとnt:resourceを使うみたい。っで、作ったやつはどう呼び出すのだろうか・・・。

//create the file node - see section 6.7.22.6 of the spec
Node fileNode = folderNode.addNode (file.getName (), "nt:file");
//create the mandatory child node - jcr:content
Node resNode = fileNode.addNode ("jcr:content", "nt:resource");
resNode.setProperty ("jcr:mimeType", mimeType);
resNode.setProperty ("jcr:encoding", encoding);
resNode.setProperty ("jcr:data", new FileInputStream (file));
Calendar lastModified = Calendar.getInstance ();
lastModified.setTimeInMillis (file.lastModified ());
resNode.setProperty ("jcr:lastModified", lastModified);