PageMixer API - 3.1

jp.ne.dti.lares.foozy.pagemixer.mixer
Class SequenceEditFilter

java.lang.Object
  |
  +--jp.ne.dti.lares.foozy.pagemixer.mixer.Filter
        |
        +--jp.ne.dti.lares.foozy.pagemixer.mixer.SequenceEditFilter
All Implemented Interfaces:
Consumer
Direct Known Subclasses:
SequenceDataInsetFilter, SequenceDataIterationFilter, SequenceHybridFilter, SequenceTrimFilter

public abstract class SequenceEditFilter
extends Filter

Template of token sequence editting filter with SequenceWatcher.

This provieds template to edit (= ignore/modify/add another/add others) token sequence found by specified SequenceWatcher.


Inner classes inherited from class jp.ne.dti.lares.foozy.pagemixer.mixer.Filter
Filter.Factory
 
Constructor Summary
SequenceEditFilter(SequenceWatcher watcher)
          Edit sequences which are found by specified watcher.
 
Method Summary
protected  void afterLast(ConsumerContext context)
          Method invoked after last token of sequence.
protected  void beforeFirst(ConsumerContext context)
          Method invoked before first token of sequence.
 void consume(ConsumerContext context, Token token)
          Consume token with specified context.
 void flush(ConsumerContext context)
          Finalize with specified context.
protected  void onFirst(ConsumerContext context, Token token, boolean empty)
          Method invoked on first token of sequence.
protected  void onInside(ConsumerContext context, Token token)
          Method invoked on tokens of sequence except first and last tokens.
protected  void onLast(ConsumerContext context, Token token, boolean empty)
          Method invoked on last token of sequence.
 
Methods inherited from class jp.ne.dti.lares.foozy.pagemixer.mixer.Filter
addCleanup, clear, connectTo, getConsumer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SequenceEditFilter

public SequenceEditFilter(SequenceWatcher watcher)
Edit sequences which are found by specified watcher.
Parameters:
watcher - watcher to find sequences to edit
Method Detail

beforeFirst

protected void beforeFirst(ConsumerContext context)
Method invoked before first token of sequence.

ATTENTION:

This method is not invoked if sequence is empty.

Please invoke Consumer.consume(jp.ne.dti.lares.foozy.pagemixer.mixer.ConsumerContext, jp.ne.dti.lares.foozy.pagemixer.Token) on consumer gotten by getConsumer(), if you want to pass original/modified/new token(s) to connected one. Do not invoke consume() on itself, because it may causes infinite recursive call(and stack overflow).

Parameters:
context - context to depend on

onFirst

protected void onFirst(ConsumerContext context,
                       Token token,
                       boolean empty)
Method invoked on first token of sequence.

ATTENTION:

This method is invoked even if sequence has only one token. Parameter 'empty' is true in such case. But specified token may not be 'empty' one even if so.

This means that you should examine (1) parameter 'empty' and (2) empty-ness of specified token, if you want to know whether sequence has only one token because token is both start and end of it.

Please invoke Consumer.consume(jp.ne.dti.lares.foozy.pagemixer.mixer.ConsumerContext, jp.ne.dti.lares.foozy.pagemixer.Token) on consumer gotten by getConsumer(), if you want to pass original/modified/new token(s) to connected one. Do not invoke consume() on itself, because it may causes infinite recursive call(and stack overflow).

Parameters:
context - context to depend on
token - token to be examined
empty - whether sequence has only one token or not
See Also:
onLast(ConsumerContext, Token, boolean)

onInside

protected void onInside(ConsumerContext context,
                        Token token)
Method invoked on tokens of sequence except first and last tokens.

Please invoke Consumer.consume(jp.ne.dti.lares.foozy.pagemixer.mixer.ConsumerContext, jp.ne.dti.lares.foozy.pagemixer.Token) on consumer gotten by getConsumer(), if you want to pass original/modified/new token(s) to connected one. Do not invoke consume() on itself, because it may causes infinite recursive call(and stack overflow).

Parameters:
context - context to depend on
token - token to be examined

onLast

protected void onLast(ConsumerContext context,
                      Token token,
                      boolean empty)
Method invoked on last token of sequence.

ATTENTION:

This method is invoked even if sequence has only one token, since PageMixer 3.0 for XHTML or other Markup Language support.

Please invoke Consumer.consume(jp.ne.dti.lares.foozy.pagemixer.mixer.ConsumerContext, jp.ne.dti.lares.foozy.pagemixer.Token) on consumer gotten by getConsumer(), if you want to pass original/modified/new token(s) to connected one. Do not invoke consume() on itself, because it may causes infinite recursive call(and stack overflow).

Parameters:
context - context to depend on
token - token to be examined
empty - whether sequence has only one token or not
See Also:
onFirst(ConsumerContext, Token, boolean)

afterLast

protected void afterLast(ConsumerContext context)
Method invoked after last token of sequence.

Overriding of this method in derived classes should clear their own internal status for successive filter reuse.

ATTENTION:

This method is not invoked if sequence is empty. In this case, filter has no chance to change own internal status as non-clear, so there is not need to invoke this method to clear internal status.

Please invoke Consumer.consume(jp.ne.dti.lares.foozy.pagemixer.mixer.ConsumerContext, jp.ne.dti.lares.foozy.pagemixer.Token) on consumer gotten by getConsumer(), if you want to pass original/modified/new token(s) to connected one. Do not invoke consume() on itself, because it may causes infinite recursive call(and stack overflow).

Parameters:
context - context to depend on

consume

public void consume(ConsumerContext context,
                    Token token)
Consume token with specified context.

This causes invocation of:

Overrides:
consume in class Filter
Parameters:
context - context processing depends on
token - token to be processed

flush

public void flush(ConsumerContext context)
Finalize with specified context.

This causes invocation of afterLast(jp.ne.dti.lares.foozy.pagemixer.mixer.ConsumerContext).

And then, this invokes SequenceWatcher.clear().

Overrides:
flush in class Filter
Parameters:
context - context processing depends on

PageMixer API - 3.1