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

io.rtdi.bigdata.connector.pipeline.foundation.IPipelineBase Maven / Gradle / Ivy

There is a newer version: 0.10.20
Show newest version
package io.rtdi.bigdata.connector.pipeline.foundation;

import io.rtdi.bigdata.connector.pipeline.foundation.exceptions.PropertiesException;
import io.rtdi.bigdata.connector.pipeline.foundation.utils.GlobalSettings;
import io.rtdi.bigdata.connector.properties.ConnectionProperties;

/**
 * The getSchema/getTopic
 * @param  ConnectionProperties
 * @param  TopicHandler
 */
public interface IPipelineBase extends ISchemaRegistrySource {

	/**
	 * Get the TopicHandler of an already existing topic
	 * 
	 * @param topic The globally unique TopicName
	 * @return The TopicHandler representing the topic or null
	 * @throws PropertiesException if something goes wrong
	 */
	T getTopic(TopicName topic) throws PropertiesException;

	/**
	 * The method is used to get an existing schema by the SchemaName reference
	 * 
	 * @param schemaname Lookup the schema dictionary for a schema of the given SchemaName
	 * @return A global handler object containing all important information about the schema. 
	 * @throws PropertiesException if something goes wrong
	 */
	SchemaHandler getSchema(SchemaRegistryName schemaname) throws PropertiesException;

	S getAPIProperties();

	GlobalSettings getGlobalSettings();

}