Show SessionToPage.java syntax highlighted
package net.time4tea.webstats.analyser;
import net.time4tea.webstats.filter.bool.TrueFilter;
import net.time4tea.webstats.jms.EnvironmentException;
import net.time4tea.webstats.process.Processor;
import net.time4tea.webstats.record.Page;
import net.time4tea.webstats.session.Session;
import org.hamcrest.Matcher;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* Originally richja 11-May-2007
*/
public class SessionToPage implements Processor<Session> {
private List<Processor<Page>> processors = new ArrayList<Processor<Page>>();
private Matcher<Session> filter;
public SessionToPage() {
this(new TrueFilter<Session>());
}
public SessionToPage(Processor<Page>... processors) {
this(new TrueFilter<Session>(), processors);
}
public SessionToPage(Matcher<Session> filter, Processor<Page>... processors) {
this.processors.addAll(Arrays.asList(processors));
this.filter = filter;
}
public boolean process(Session session) throws EnvironmentException {
if (filter.matches(session)) {
for (Page page : session.pages()) {
for (Processor<Page> processor : processors) {
processor.process(page);
}
}
}
return true;
}
}
See more files for this project here