Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [higgins-dev] IdAS out-of-sync issues

On #9, yeah, I must have meant IMetadata.
 
>Why do we need 
>IHasMetadata.setMetadata?  We don't have a similar method to replace
all 
>of a subject's attributes, for instance. 
 
Dunno, we had setMetadata in the original doc. Let's remove it and
re-add when someone really wants it.
 
>there's asymmetry 
>between IHasRelationships (which provides methods to manipulate the
list 
>of relationships) and IHasMetadata (which treats the Metadata list as
a 
>unit).  Is that what we want?

Yeah, again, this is (similar to) how it was originally. Let's choose
one model and apply to both. Which do people prefer? I kind of like the
one we have with relationships (IHasRelationships allows enumeration of
IRelationship objects). Applied to metadata, we'd have this:

IMetadata extends IProperty
(this takes the place of IMetadataItem)   

IHasMetadata
   IMetadata createMetadata(URI type, Object value)
   void addMetadata(IMetadata)
   void removeMetadata(IMetadata)
   Iterable<IMetadata> getMetadata()


Objections?

Jim

>>> Greg Byrd <gbyrd@xxxxxxxx> 7/28/06 7:40 AM >>>

Some comments on the differences:

> 1) Repository missing IdASRegistry (we just haven't coded this yet)
I have an implementation of most of this, which I can't yet contribute.
 
It would be a good idea to create a class with empty methods, just for

documentation purposes.
> 4) Repository: IContext extends IHasRelationships<URI>. Doc: IContext

> extends IHasRelationships<IContext>
This is fine -- it forces the consumer to create and open a related 
Context if she wants to use it.  However, the subject relationship 
currently uses IDigitalSubject, rather than some sort of reference (as

Jim already pointed out).  Do we need to create a SubjectRef that 
contains a ContextRef and a CUID?  This would protect the
DigitalSubject 
by forcing access through an open Context.
> 9) Repository: IMetadataItem.createMetadataItem missing from Doc.
Do you mean IMetadata.createMetadataItem? 
> 11) Repository: IHasMetadata is completely different from Doc.
>  
Yep, that was just fuzzy thinking on my part.  Why do we need 
IHasMetadata.setMetadata?  We don't have a similar method to replace
all 
of a subject's attributes, for instance.  Also, there's asymmetry 
between IHasRelationships (which provides methods to manipulate the
list 
of relationships) and IHasMetadata (which treats the Metadata list as a

unit).  Is that what we want?

...Greg

_______________________________________________
higgins-dev mailing list
higgins-dev@xxxxxxxxxxx 
https://dev.eclipse.org/mailman/listinfo/higgins-dev


Back to the top