All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ebay.jetstream.event.channel.file.DelimitedEventLog Maven / Gradle / Ivy

/*******************************************************************************
 *  Copyright © 2012-2015 eBay Software Foundation
 *  This program is dual licensed under the MIT and Apache 2.0 licenses.
 *  Please see LICENSE for more information.
 *******************************************************************************/
package com.ebay.jetstream.event.channel.file;

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

import com.ebay.jetstream.event.JetstreamEvent;
import com.ebay.jetstream.event.channel.ChannelAddress;


/* The default delimiter is a comma */
public class DelimitedEventLog extends OutboundRollingFileChannel {
	
	private String delimiter = ",";
	private List keys;

	public DelimitedEventLog(String streamType, String fileName, int backups, String fileSize) throws IOException {
		super(streamType, fileName, backups, fileSize);
	}

	@Override
	public ChannelAddress getAddress() {
		return null;
	}

	@Override
	String createEventLine(JetstreamEvent e) {
		StringBuffer sb  = new StringBuffer();
		boolean isFirst = true;
		for (String key: getKeys()) {
			if (isFirst) {
				isFirst = false;
			} else {
				sb.append(delimiter);
			}
			if (e.get(key) != null) {
				sb.append(e.get(key));
			}
		}
		return sb.toString();
	}
	
	public String getDelimiter() {
		return delimiter;
	}

	public void setDelimiter(String delimiter) {
		this.delimiter = delimiter;
	}

	public List getKeys() {
		return keys;
	}

	public void setKeys(List keys) {
		this.keys = keys;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy