Here First, some interfaces are the unsupported types I could spot in 5 not supported:
* {{org . 6 apache . 0 lucene . Beta3: search.BoostAttribute}} * {{org.apache.lucene. analysis search . tokenattributes FuzzyTermsEnum . PackedTokenAttributeImpl LevenshteinAutomataAttribute }} * {{org.apache.lucene.search. BoostAttributeImpl MaxNonCompetitiveBoostAttribute }} * {{org.apache.lucene.analysis.NumericTokenStream.NumericTermAttribute}} Also, the serializer seems to rely on `instanceof` to decide which type of message to send * {{org . This makes some classes appear to be supported because they extend a supported class or implement a supported interface, but in fact they're not, because some details are not handled apache . Such is the case for lucene.analysis.tokenattributes.PositionLengthAttribute}} * {{org.apache.lucene.analysis.tokenattributes. PackedTokenAttributeImpl TermToBytesRefAttribute }} for instance, because it extends * {{org.apache.lucene.analysis.tokenattributes. CharTermAttributeImpl BytesTermAttribute }} but also implements
Second, attributes implementing multiple interfaces are not supported, because the serializer assumes only one interface is implemented. This is the case of {{org.apache.lucene.analysis.tokenattributes. TypeAttribute PackedTokenAttributeImpl }} for instance. We should make it possible for one attribute in Java to generate multiple attributes in the message.
And finally , polymorphism is being ignored. {{org.apache.lucene. collation.tokenattributes.CollatedTermAttributeImpl}} for instance extends {{org.apache.lucene. analysis.tokenattributes. PositionIncrementAttribute CharTermAttributeImpl }} without implementing additional interfaces , and so on but simply overrides a method . Simply solving the first two issue should solve the problem, though, provided every Attribute method is simply a getter. |
|