I'm creating a FacetComponent that is a simple extension of the regular one
(I'm creating numeric ranges for some fields). I would like to preserve most
of the original functionality, and only override the default behavior for
some specific cases. The problem I'm facing is that a lot of the core
behavior uses package-restricted classes that I don't have access to from my
own jar. The classes are:

FieldFacet
DistribFieldFacet
FacetInfo
ShardFacetCount

And the ResponseBuilder's _facetInfo member variable.

Recently, the ShardResponse class became public for a similar need
(http://www.nabble.com/ShardResponse-IllegalAccessError-to18461917.html#a18507845).
I looked through its object model, and all the data I need is contained
there. I could override just the finishStage method using the ShardResponse
data, but it means I'd also have to also re-write all the functionality in
the classes listed above. 

What's the best way for me to proceed? The options I've considered:

1. Copy all those classes into my own package, copy the FacetComponent into
my own package, and then override as I intended (there might still be some
issues with accessing ResponseBuilder._facetInfo). 
2. Re-write the entire component using only the ShardResponse. 
3. Make those classes publicly accessible.

Thanks.
-- 
View this message in context: 
http://www.nabble.com/Package-Access-Issues---Extending-FacetComponent-tp19148122p19148122.html
Sent from the Solr - Dev mailing list archive at Nabble.com.

Reply via email to