/* * Copyright 2014-2016 CyberVision, Inc. * * 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 org.kaaproject.kaa.client.context; import org.kaaproject.kaa.client.channel.BootstrapTransport; import org.kaaproject.kaa.client.channel.ConfigurationTransport; import org.kaaproject.kaa.client.channel.EventTransport; import org.kaaproject.kaa.client.channel.KaaChannelManager; import org.kaaproject.kaa.client.channel.KaaTransport; import org.kaaproject.kaa.client.channel.LogTransport; import org.kaaproject.kaa.client.channel.MetaDataTransport; import org.kaaproject.kaa.client.channel.NotificationTransport; import org.kaaproject.kaa.client.channel.ProfileTransport; import org.kaaproject.kaa.client.channel.RedirectionTransport; import org.kaaproject.kaa.client.channel.UserTransport; import org.kaaproject.kaa.client.persistence.KaaClientState; import java.util.Arrays; public final class TransportContext { private final MetaDataTransport mdTransport; private final BootstrapTransport bootstrapTransport; private final ProfileTransport profileTransport; private final EventTransport eventTransport; private final NotificationTransport notificationTransport; private final ConfigurationTransport configurationTransport; private final UserTransport userTransport; private final RedirectionTransport redirectionTransport; private final LogTransport logTransport; /** * All-args constructor. */ public TransportContext(MetaDataTransport mdTransport, BootstrapTransport bootstrapTransport, ProfileTransport profileTransport, EventTransport eventTransport, NotificationTransport notificationTransport, ConfigurationTransport configurationTransport, UserTransport userTransport, RedirectionTransport redirectionTransport, LogTransport logTransport) { super(); this.mdTransport = mdTransport; this.bootstrapTransport = bootstrapTransport; this.profileTransport = profileTransport; this.eventTransport = eventTransport; this.notificationTransport = notificationTransport; this.configurationTransport = configurationTransport; this.userTransport = userTransport; this.redirectionTransport = redirectionTransport; this.logTransport = logTransport; } public MetaDataTransport getMdTransport() { return mdTransport; } public BootstrapTransport getBootstrapTransport() { return bootstrapTransport; } public ProfileTransport getProfileTransport() { return profileTransport; } public EventTransport getEventTransport() { return eventTransport; } public NotificationTransport getNotificationTransport() { return notificationTransport; } public ConfigurationTransport getConfigurationTransport() { return configurationTransport; } public UserTransport getUserTransport() { return userTransport; } public RedirectionTransport getRedirectionTransport() { return redirectionTransport; } public LogTransport getLogTransport() { return logTransport; } /** * Initialize transports. * * @param channelManager channel manager * @param clientState kaa client state */ public void initTransports(KaaChannelManager channelManager, KaaClientState clientState) { for (KaaTransport transport : Arrays.asList(bootstrapTransport, profileTransport, eventTransport, notificationTransport, configurationTransport, userTransport, logTransport)) { transport.setChannelManager(channelManager); transport.setClientState(clientState); } } }