Done. Had a little consternation over the naming of IHasMetadata.getMetadataSet(), but I think it's fine (better than getMetadatas()!).
>>> "Jim Sermersheim" <jimse@xxxxxxxxxx> 8/1/06 3:42 PM >>> 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 enum eration 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
|