package com.wj.dexknife.shell.apkparser.parser;
import com.wj.dexknife.shell.apkparser.struct.xml.XmlCData;
import com.wj.dexknife.shell.apkparser.struct.xml.XmlNamespaceEndTag;
import com.wj.dexknife.shell.apkparser.struct.xml.XmlNamespaceStartTag;
import com.wj.dexknife.shell.apkparser.struct.xml.XmlNodeEndTag;
import com.wj.dexknife.shell.apkparser.struct.xml.XmlNodeStartTag;
/**
* @author dongliu
*/
public class CompositeXmlStreamer implements XmlStreamer {
public XmlStreamer[] xmlStreamers;
public CompositeXmlStreamer(XmlStreamer... xmlStreamers) {
this.xmlStreamers = xmlStreamers;
}
@Override
public void onStartTag(XmlNodeStartTag xmlNodeStartTag) {
for (XmlStreamer xmlStreamer : xmlStreamers) {
xmlStreamer.onStartTag(xmlNodeStartTag);
}
}
@Override
public void onEndTag(XmlNodeEndTag xmlNodeEndTag) {
for (XmlStreamer xmlStreamer : xmlStreamers) {
xmlStreamer.onEndTag(xmlNodeEndTag);
}
}
@Override
public void onCData(XmlCData xmlCData) {
for (XmlStreamer xmlStreamer : xmlStreamers) {
xmlStreamer.onCData(xmlCData);
}
}
@Override
public void onNamespaceStart(XmlNamespaceStartTag tag) {
for (XmlStreamer xmlStreamer : xmlStreamers) {
xmlStreamer.onNamespaceStart(tag);
}
}
@Override
public void onNamespaceEnd(XmlNamespaceEndTag tag) {
for (XmlStreamer xmlStreamer : xmlStreamers) {
xmlStreamer.onNamespaceEnd(tag);
}
}
}