EventHandlerComposite.java :  » Geo » geobeagle » com » google » code » geobeagle » xmlimport » Android Open Source

Android Open Source » Geo » geobeagle 
geobeagle » com » google » code » geobeagle » xmlimport » EventHandlerComposite.java
/*
 ** 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 com.google.code.geobeagle.xmlimport;

import com.google.inject.Inject;

import java.io.IOException;
import java.util.Arrays;
import java.util.List;

public class EventHandlerComposite implements EventHandler {
    private final List<EventHandler> eventHandlers;

    @Inject
    public EventHandlerComposite(XmlWriter xmlWriter, EventHandlerGpx eventHandlerGpx) {
        this.eventHandlers = Arrays.asList(xmlWriter, eventHandlerGpx);
    }

    @Override
    public void endTag(String name, String previousFullPath,
            CachePersisterFacade cachePersisterFacade) throws IOException {
        for (EventHandler eventHandler : eventHandlers) {
            eventHandler.endTag(name, previousFullPath, cachePersisterFacade);
        }
    }

    @Override
    public void open(String filename) throws IOException {
        for (EventHandler eventHandler : eventHandlers) {
            eventHandler.open(filename);
        }
    }

    @Override
    public void startTag(String name, String fullPath, XmlPullParserWrapper xmlPullParser,
            CachePersisterFacade cachePersisterFacade) throws IOException {
        for (EventHandler eventHandler : eventHandlers) {
            eventHandler.startTag(name, fullPath, xmlPullParser, cachePersisterFacade);
        }
    }

    @Override
    public boolean text(String fullPath, String text, XmlPullParserWrapper xmlPullParser,
            CachePersisterFacade cachePersisterFacade) throws IOException {
        boolean ret = true;
        for (EventHandler eventHandler : eventHandlers) {
            ret &= eventHandler.text(fullPath, text, xmlPullParser, cachePersisterFacade);
        }
        return ret;
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.