package net.nightwhistler.htmlspanner.handlers.attributes;
import android.text.SpannableStringBuilder;
import net.nightwhistler.htmlspanner.HtmlSpanner;
import net.nightwhistler.htmlspanner.SpanStack;
import net.nightwhistler.htmlspanner.style.Style;
import net.nightwhistler.htmlspanner.handlers.StyledTextHandler;
import org.htmlcleaner.TagNode;
/**
* Created with IntelliJ IDEA.
* User: alex
* Date: 5/6/13
* Time: 1:46 PM
* To change this template use File | Settings | File Templates.
*/
public class WrappingStyleHandler extends StyledTextHandler {
private StyledTextHandler wrappedHandler;
public WrappingStyleHandler(StyledTextHandler wrappedHandler) {
super(new Style());
this.wrappedHandler = wrappedHandler;
}
@Override
public Style getStyle() {
return wrappedHandler.getStyle();
}
@Override
public void beforeChildren(TagNode node, SpannableStringBuilder builder, SpanStack spanStack) {
if ( wrappedHandler != null ) {
wrappedHandler.beforeChildren(node, builder, spanStack);
}
}
@Override
public void handleTagNode(TagNode node, SpannableStringBuilder builder, int start, int end, Style useStyle,
SpanStack spanStack ) {
if ( wrappedHandler != null ) {
wrappedHandler.handleTagNode(node, builder, start, end, useStyle, spanStack);
}
}
public StyledTextHandler getWrappedHandler() {
return this.wrappedHandler;
}
@Override
public void setSpanner(HtmlSpanner spanner) {
super.setSpanner(spanner);
if ( this.getWrappedHandler() != null ) {
this.getWrappedHandler().setSpanner(spanner);
}
}
}