On Thursday 12 February 2009 11:51, Stefan Guggisberg wrote: > > I wrote an ugly workaround, which works for me. > > (Normally you need also to extend/modify > > org.apache.jackrabbit.core.query.lucene.FileBasedNamespaceMappings.java, > > but thats not nessesary for me.) > > Unfortunality the jackrabbit creators likes to use of private > > methods/members. So extending their code is mostly impossible. > > i would argue that access modifiers in jackrabbit core have been > chosen thoughtfully > in general. the jackrabbit core classes are not primarily designed to > be extensible. > there are specific APIs that can be implemented. if a member or method has > been declared private there's probably a good reason for it (e.g. the > implementation might > change in the future and therefore potentially break subclasses etc).
Of course there are APIs... but implementing them will take alot of time instead extend from a class and overwrite some methods or have access to some members... Sure potentially the extended class needs to be modified after update, but this is a normal thing. The user is not forced to extend, but he has the option to with all possibilitys and risks. just my 2 cents...
