[saga-rg] 1.4 version of the spec

Graeme Pound G.E.POUND at soton.ac.uk
Wed Mar 1 06:34:21 CST 2006


Andre,

>>  #2 The introspection added to the saga.Attribute interface further 
>> confuses the issues surrounding vector and "scalar" attributes. There 
>> are genuine use cases for vector attributes; for example in the 
>> JobDefintion class.
>>
>> However in the strawman the introspection is separated for vector and 
>> "scalar" attributes, list_attributes() returns a single unified list of 
>> attribute names, and there is no defined behaviour if a vector attribute 
>> is requested via get_attribute() or visa versa. This solution is awkward.
>>
>> An alternative solution is to allow any attribute to be returned via 
>> get_attribute() and get_vector_attribute(); this is simple since all 
>> values are strings, a vector returned by get_attribute() be delimited by 
>> comas or parentheses. Then a single has_attribute() methods would be 
>> sufficient, and an additional is_vector() method would be useful.
> 
> I don't like the dstinction vector/scalar either, it is
> confusing.  If we would not have the (very valid) use cases... ;-)
> 
> Problem with the approach you propose is that, whatever
> delimiter you choose, you'll step on somebodies toes.  I
> think space limited is kind of useful, or komma, as the
> result is at easily human readable... - 
> 
> It might be worth to have both versions:
>   
>  - separate setters/getters for scalar/vector attribs
>  - scalar attrib with vector getter -> list with one element
>  - vector attrib with scalar getter -> space limited string
>  - scalar attrib with vector setter -> set to space limited string
>  - vector attrib with scalar setter -> set to list with one element
> Well, I say space limited - but see above, no good idea.
> 
> is_vector sounds indeed useful, simplifies the inspection.

The behaviour of the equals() method is also ill-defined when called 
against a vector attribute. The problem would go away if a delimiter is 
defined by the strawman for a string representation of vector attributes.

Graeme








More information about the saga-rg mailing list