jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-2439) More utility methods in JcrUtils
Date Tue, 15 Dec 2009 16:34:18 GMT

    [ https://issues.apache.org/jira/browse/JCR-2439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790805#action_12790805
] 

Jukka Zitting commented on JCR-2439:
------------------------------------

I've now added the following methods:

    String toString(Item item) 

    Node getOrAddNode(Node parent, String name)
    Node getOrAddNode(Node parent, String name, String type)

    Node getOrAddFolder(Node parent, String name)

    Node putFile(Node parent, String name, String mime, InputStream data)
    Node putFile(Node parent, String name, String mime, Calendar date, InputStream data)

The naming isn't as consistent as originally proposed, but I think it now better matches the
conceptual difference between the putFile() operation that always writes and the getOrAdd
methods that write only if the child node does not already exist.

> More utility methods in JcrUtils
> --------------------------------
>
>                 Key: JCR-2439
>                 URL: https://issues.apache.org/jira/browse/JCR-2439
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-jcr-commons
>            Reporter: Jukka Zitting
>            Priority: Minor
>
> I'd like to add at least the following utility methods to JcrUtils:
> For logging:
>     // Utility method to simplify log messages and debug prints:
>     // Node -> "name [type]"
>     // Property -> "@name = value(s)"
>     String toString(Item item)
> For making sure that a node exists:
>     // Returns the identified child node. If the child does not already exist,
>     // it is added using the default node type from the parent.
>     Node setNode(Node parent, String name)
>     // Same as above, but ensures that isNodeType(type) is true for the
>     // returned node, using addNode(name, type) or setPrimaryType(type)
>     // if needed.
>     Node setNode(Node parent, String name, String type)
> For adding (or setting, see above) nt:folder nodes:
>     // Adds a new nt:folder node with the given name
>     Node addFolder(Node parent, String name)
>     // Ensures that an nt:folder node with the given name exists
>     Node setFolder(Node parent, String name)
> For adding (or setting) nt:file nodes:
>     // Adds a new nt:file/nt:resource structure
>     // If the mime type contains a charset parameter, then the jcr:encoding property
is also set
>     Node addFile(Node parent, String name, String mime, InputStream data)
>     Node addFile(Node parent, String name, String mime, Calendar date, InputStream data)
>     // Ensures that an nt:file/nt:resource structure exists with the given data.
>     // Note that the type of a potential existing jcr:content node is not modified
>     Node setFile(Node parent, String name, String mime, InputStream data)
>     Node setFile(Node parent, String name, String mime, Calendar date, InputStream data)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message