On Wed, Jan 6, 2010 at 15:21, Vincent Massol <vinc...@massol.net> wrote: > Hi, > > This is the current interface: > > public interface EntityReferenceFactory<T> > { > /** > * @param entityReferenceRepresentation the representation of an entity > reference (eg as a String) > * @param type the type of the Entity (Document, Space, Attachment, Wiki, > etc) to extract from the source > * @return the resolved reference as an Object > */ > EntityReference createEntityReference(T entityReferenceRepresentation, > EntityType type); > } > > Now we have 2 different implementations: > - one for which T = String > - one for which T = EntityReference (our normalizer) > > In term of usage this means: > > EntityReference ref = factory.createEntityReference("wiki:space.page", > EntityType.DOCUMENT); > EntityReference ref = factory.createEntityReference(documentReference, > EntityType.DOCUMENT); > > The last example is used to normalize the passed reference, convert it into > the type specified by the second parameter, filling the blanks. > > I feel that Factory is no longer an appropriate name, especially for the > second use case. WDYT? > > IMO a better name would be Resolver, Normalizer, or Converter. Any other > better name? (I haven't put Parser since I don't believe it's correct). > > Examples: > > EntityReference ref = resolver.resolve("wiki:space.page", > EntityType.DOCUMENT); > EntityReference ref = resolver.resolve(documentReference, > EntityType.DOCUMENT); > > EntityReference ref = normalizer.normalize("wiki:space.page", > EntityType.DOCUMENT); > EntityReference ref = normalizer.normalize(documentReference, > EntityType.DOCUMENT); > > EntityReference ref = converter.convert("wiki:space.page", > EntityType.DOCUMENT); > EntityReference ref = converter.convert(documentReference, > EntityType.DOCUMENT); > > It's quite a lot of work to change what I have put but since this is an > important API we need to be sure of what we want since we won't be able to > change it later on. > > I'm +1 for Resolver.
+1 for Resolver > > WDYT? > > Thanks > -Vincent > > _______________________________________________ > devs mailing list > devs@xwiki.org > http://lists.xwiki.org/mailman/listinfo/devs > -- Thomas Mortagne _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs