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

io.continual.services.processor.engine.model.Sink Maven / Gradle / Ivy

The newest version!
/*
 *	Copyright 2019, Continual.io
 *
 *	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 io.continual.services.processor.engine.model;

import java.io.Closeable;

public interface Sink extends Closeable
{
	void init ();

	/**
	 * Flush the sink
	 */
	void flush ();

	/**
	 * Process a message into the output sink.
	 * @param msg
	 */
	@Deprecated
	default void process ( Message msg )
	{
		throw new RuntimeException ( "Override process ( MesasgeProcessingContext ) or process ( Message ), preferably the former." );
	}

	/**
	 * Process a message into the output sink.
	 * @param context
	 */
	default void process ( MessageProcessingContext context )
	{
		process ( context.getMessage () );
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy