You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Gennady Azarenkov <ga...@hotmail.com> on 2005/06/18 13:20:42 UTC

treatment of multivalued property

hi,

specs 6.7.13 PropertyDefinition: "isMultiple() - Reports whether this 
property can have multiple values... "
means if isMultiple() == true  - property can be either multi- or single 
valued,
if isMultiple() == false  - property should be single valued
right?

then
"...  Note that the isMultiple flag is special in that a given node type may 
have two property definitions
that are identical in every respect except for the their isMultiple status. 
For example,
a node type can specify two string  properties both called X, one of which 
is multi-valued and the other not."
means a node can have 2 properties X: one of which should be single-valued 
and
other can be either single- or multi-valued (by previous definition)
or
other should be multi-valued (that is more logical as for me but not 
obvious)?

thanks,
gena

-----------------------
Gennady Azarenkov
eXo platform 

Re: treatment of multivalued property

Posted by David Nuescheler <da...@gmail.com>.
hi gena,

> Gennady Azarenkov wrote:
> > specs 6.7.13 PropertyDefinition: "isMultiple() - Reports whether this
> > property can have multiple values... "
> > means if isMultiple() == true  - property can be either multi- or single
> > valued,
> > if isMultiple() == false  - property should be single valued
> > right?
> No, AFAIK the isMultiple flag is definite, i.e. if isMultiple is true
> then the property is not single-valued. 
that's correct. isMultiple() == true means is a multi value property.
of course an mvp can have only one value ;)

> Otherwise the API suffers severe
> breakage in many places, not least of which is the fact that the
> separate multi-/single-value namespaces would get mixed.
> I'm not sure if this is more properly explained in the spec somewhere
> else. If not then it probably should be in an errata or included in a
> future revision.
there are numerous places where the spec explains that 
setting an mvp with a non-array argument will throw a 
ValueFormatException 
also the fact that nt:unstructured has two residual
property definitions shows how that works. 
but of course clarifications are always a good thing. 
thanks for suggesting it.

regards,
david

Re: treatment of multivalued property

Posted by Jukka Zitting <ju...@zitting.name>.
Hi,

Gennady Azarenkov wrote:
> specs 6.7.13 PropertyDefinition: "isMultiple() - Reports whether this 
> property can have multiple values... "
> means if isMultiple() == true  - property can be either multi- or single 
> valued,
> if isMultiple() == false  - property should be single valued
> right?

No, AFAIK the isMultiple flag is definite, i.e. if isMultiple is true 
then the property is not single-valued. Otherwise the API suffers severe 
breakage in many places, not least of which is the fact that the 
separate multi-/single-value namespaces would get mixed.

I'm not sure if this is more properly explained in the spec somewhere 
else. If not then it probably should be in an errata or included in a 
future revision.

BR,

Jukka Zitting