Re: Multivalue or single?
i think this is only a theoretical problem. usualy the application knows with what kind of properties it deals. regards, toby On 6/20/06, Jukka Zitting <[EMAIL PROTECTED]> wrote: Hi, On 6/20/06, Marcel Reutegger <[EMAIL PROTECTED]> wrote: > On 6/19/06, David Kennedy <[EMAIL PROTECTED]> wrote: > > If I have a node, the name of a property and a single value, how can I > > determine if I need to add the value to an array and use the multivalue > > setter or not? > > You'll have to ask the NodeType of the node: The difficulty lies in the fact that the property could be specified either in the primary type or in one of the mixin types. Iterating through them is a bit cumbersome and error-prone. BR, Jukka Zitting -- Yukatan - http://yukatan.fi/ - [EMAIL PROTECTED] Software craftsmanship, JCR consulting, and Java development -- -< [EMAIL PROTECTED] >--- Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel T +41 61 226 98 98, F +41 61 226 98 97 ---< http://www.day.com >---
Re: Multivalue or single?
Hi, On 6/20/06, Marcel Reutegger <[EMAIL PROTECTED]> wrote: On 6/19/06, David Kennedy <[EMAIL PROTECTED]> wrote: > If I have a node, the name of a property and a single value, how can I > determine if I need to add the value to an array and use the multivalue > setter or not? You'll have to ask the NodeType of the node: The difficulty lies in the fact that the property could be specified either in the primary type or in one of the mixin types. Iterating through them is a bit cumbersome and error-prone. BR, Jukka Zitting -- Yukatan - http://yukatan.fi/ - [EMAIL PROTECTED] Software craftsmanship, JCR consulting, and Java development
Re: Multivalue or single?
On 6/19/06, David Kennedy <[EMAIL PROTECTED]> wrote: If I have a node, the name of a property and a single value, how can I determine if I need to add the value to an array and use the multivalue setter or not? You'll have to ask the NodeType of the node: NodeType nt = node.getPrimaryNodeType(); if (nt.canSetProperty("propName", mySingleValue)) { node.setProperty("propName", mySingleValue); } else { node.setProperty("propName", new Value[]{mySingleValue}); } regards marcel
Re: Multivalue or single?
The only solution to your problem would be to have some metadata info about them, and so you could look if the property was single or multivalued. Obviously the real problem is how to find if a property is single/multiple if such property does not exist so I cannot agree more with Jukka. Having a getPropertyDefinition method would be really nice. Martin On 6/19/06, Jukka Zitting <[EMAIL PROTECTED]> wrote: Hi, On 6/20/06, David Kennedy <[EMAIL PROTECTED]> wrote: > If I have a node, the name of a property and a single value, how can I > determine if I need to add the value to an array and use the multivalue > setter or not? Good question. Perhaps we should add something like a getPropertyDefinition(String name) method to a JackrabbitNode extension interface. This might also be a good suggestion to JSR 283 unless someone has a better idea. BR, Jukka Zitting -- Yukatan - http://yukatan.fi/ - [EMAIL PROTECTED] Software craftsmanship, JCR consulting, and Java development
Re: Multivalue or single?
Hi, On 6/20/06, David Kennedy <[EMAIL PROTECTED]> wrote: If I have a node, the name of a property and a single value, how can I determine if I need to add the value to an array and use the multivalue setter or not? Good question. Perhaps we should add something like a getPropertyDefinition(String name) method to a JackrabbitNode extension interface. This might also be a good suggestion to JSR 283 unless someone has a better idea. BR, Jukka Zitting -- Yukatan - http://yukatan.fi/ - [EMAIL PROTECTED] Software craftsmanship, JCR consulting, and Java development