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

No objections to the below suggestion, so I'll make the change...

>>> "Jim Sermersheim" <jimse@xxxxxxxxxx> 7/31/06 3:26 PM >>>
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
_______________________________________________
higgins-dev mailing list
higgins-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/higgins-dev

Back to the top