On Oct 11, 2008, at 7:33 PM, Michael Busch wrote:
If a consumer is e. g. only interested in the positionIncrement and
Payload, it can consume the tokens like this:
public class Consumer {
public void consumeTokens(TokenStream ts) throws IOException {
Token token = ts.prototypeToken();
PayloadAttribute payloadSource = (PayloadAttribute) token;
PositionIncrementAttribute positionSource =
(PositionIncrementAttribute) token;
while (ts.nextToken()) {
char[] term = token.termBuffer();
int termLength = token.termLength();
int positionIncrement = positionSource.getPositionIncrement();
Payload payload = payloadSource.getPayload();
// do something with the term, positionIncrement and payload
}
}
}
Bear with me, b/c I'm not sure I'm following, but looking at https://issues.apache.org/jira/browse/LUCENE-1422
, I see at least 5 different implemented Attributes.
So, let's say I add a 5 more attributes and now have a total of 10
attributes. Are you saying that I then would have, potentially, 10
different variables that all point to the token as in the code snippet
above where the casting takes place? Or would I just create a single
"Super" attribute that folds in all of my new attributes, plus any
other existing ones? Or, maybe, what I would do is create the 5 new
attributes and then 1 new attribute that extends all 10, thus allowing
me to use them individually, but saving me from having to do a whole
ton of casting in my Consumer.
I like where this is going, but am still a bit fuzzy on how it's going
to work in practice.
-Grant
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]