atteo / classindex

Index classes, do not scan them!
Apache License 2.0
263 stars 43 forks source link

Erroneous package indexing with custom ClassIndexProcessor.indexPackages #81

Open MrRoGue opened 6 months ago

MrRoGue commented 6 months ago

The documentation recommends to subclass org.atteo.classindex.processor.ClassIndexProcessor if you want to customize the ClassIndexProcessing. By setting custom Java-packages via org.atteo.classindex.processor.ClassIndexProcessor.indexPackages(String...) the processor generates jaxb.index files. Unlike the referenced jaxb-documentation

Fully qualified class names are not allowed. ...

the processor generates a fqcn for all classes in the package. e.g. for package org.custom the jaxb.index-file contains class items like org.custom.Foobar instead of a simple relative classname Foobar. While accessing the classNames via ClassIndex.getPackageClassesNames(String) the API returns double-package classnames like org.custom.org.custom.Foobar. Using ClassIndex.getPackageClasses(String) seems to work. But I suppose that there is a bug writing and accessing the package jaxb.index-file fqcn-entries.

Note: Package-indexing by IndexSubclasses-annotations in package-info.java-files works fine as estimated.