/* * Copyright 2005 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.wamblee.crawler.kiss.guide; /** * Abstract visitor of the tv guide with default looping behavior. */ public abstract class AbstractVisitor implements Visitor { /** * Constructs the visitor. * */ protected AbstractVisitor() { // Empty } /** * Visits the channel by visiting all programs of the channel. * * @param aChannel * Channel to visit. */ public void visitChannel(Channel aChannel) { for (Program program : aChannel.getPrograms()) { program.accept(this); } } /** * Visits the TV guide by visiting all channels of the guide. * * @param aGuide * TV guide to visit. */ public void visitTvGuide(TVGuide aGuide) { for (Channel channel : aGuide.getChannels()) { channel.accept(this); } } }