[jsword-devel] isIndexed()

Joe Walker joseph.walker at gmail.com
Thu Oct 7 02:29:48 MST 2004

There is a problem with adding BookMetaData.isIndexed().

(BookMetaData = BMD from now on)

The problem is that the indexed status changes at runtime (unlike all
the other properties) so how do we change it in the implmentations of
BMD. If we add a setIndexed method to BMD the people could be forgiven
for thinking that that creates an index. If we keep the setIndexed
method out of the interface and in the implementations then we have to
know which implementation we are working with before we can tell a BMD
that it is now indexed.

Book could handle the method because AbstractBook handles searching,
so it would be able to say if the book was indexed. But Book is not
the natural place for meta-data; BMD is!

We could add a AbstractBookMetaData class that contains a setIndexed method.

But I am tempted to think that we should keep all the Indexing
functionallity together in the IndexManager. So the method would be
IndexManager.isIndexed(Book). That way we keep indexing more localized
rather than spreading methods everywhere.

Any thoughts?


More information about the jsword-devel mailing list