001/******************************************************************************* 002 * Copyright (c) 2017 Red Hat Inc and others. 003 * 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the Eclipse Public License v1.0 006 * which accompanies this distribution, and is available at 007 * http://www.eclipse.org/legal/epl-v10.html 008 * 009 * Contributors: 010 * Red Hat Inc - initial API and implementation 011 *******************************************************************************/ 012package org.eclipse.kapua.gateway.client.mqtt; 013 014import org.eclipse.kapua.gateway.client.Topic; 015 016/** 017 * A namespace implementation for MQTT 018 */ 019public interface MqttNamespace { 020 021 /** 022 * Render an MQTT topic for the provided data topic 023 * 024 * @param clientId 025 * The MQTT client ID 026 * @param applicationId 027 * The application ID 028 * @param topic 029 * The data topid 030 * @return The topic or {@code null} if no topic could be rendered for the provided input parameters 031 */ 032 public String dataTopic(String clientId, String applicationId, Topic topic); 033}