de.flapdoodle.logparser.StreamMatcher.java Source code

Java tutorial

Introduction

Here is the source code for de.flapdoodle.logparser.StreamMatcher.java

Source

/**
 * Copyright (C) 2013
 *   Michael Mosmann <michael@mosmann.de>
 *
 * with contributions from
 *    ${lic.developers}
 *
 * 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 de.flapdoodle.logparser;

import java.io.IOException;

import com.google.common.base.Optional;

/**
 * test stream matcher
 * 
 * format:
 * message with any content
 * > comment to this message
 * 
 * @author mosmann
 *
 */
public class StreamMatcher implements IMatcher<StreamEntry> {

    @Override
    public Optional<IMatch<StreamEntry>> match(IReader reader, IBackBuffer backBuffer) throws IOException {
        Optional<String> optionalFirstLine = reader.nextLine();
        if (optionalFirstLine.isPresent()) {
            if (!optionalFirstLine.get().startsWith(">")) {
                return Optional.<IMatch<StreamEntry>>of(new StreamMatch(optionalFirstLine.get()));
            }
        }
        return Optional.absent();
    }

}