Java tutorial
/* * Copyright (c) 2012-2015 The original author or authors * ------------------------------------------------------ * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Apache License v2.0 which accompanies this distribution. * * The Eclipse Public License is available at * http://www.eclipse.org/legal/epl-v10.html * * The Apache License v2.0 is available at * http://www.opensource.org/licenses/apache2.0.php * * You may elect to redistribute this code under either of these licenses. */ package com.dempe.chat.connector; import com.dempe.chat.common.commons.Constants; import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; import io.netty.util.Attribute; import io.netty.util.AttributeKey; /** * Some Netty's channels utilities. * * @author andrea */ public class NettyUtils { public static final String ATTR_USERNAME = "username"; public static final String ATTR_SESSION_STOLEN = "sessionStolen"; private static final AttributeKey<Object> ATTR_KEY_KEEPALIVE = AttributeKey.valueOf(Constants.KEEP_ALIVE); private static final AttributeKey<Object> ATTR_KEY_CLEANSESSION = AttributeKey.valueOf(Constants.CLEAN_SESSION); private static final AttributeKey<Object> ATTR_KEY_CLIENTID = AttributeKey.valueOf(Constants.ATTR_CLIENTID); private static final AttributeKey<Object> ATTR_KEY_USERNAME = AttributeKey.valueOf(ATTR_USERNAME); private static final AttributeKey<Object> ATTR_KEY_SESSION_STOLEN = AttributeKey.valueOf(ATTR_SESSION_STOLEN); public static Object getAttribute(ChannelHandlerContext ctx, AttributeKey<Object> key) { Attribute<Object> attr = ctx.channel().attr(key); return attr.get(); } public static void keepAlive(Channel channel, int keepAlive) { channel.attr(NettyUtils.ATTR_KEY_KEEPALIVE).set(keepAlive); } public static void cleanSession(Channel channel, boolean cleanSession) { channel.attr(NettyUtils.ATTR_KEY_CLEANSESSION).set(cleanSession); } public static boolean cleanSession(Channel channel) { return (Boolean) channel.attr(NettyUtils.ATTR_KEY_CLEANSESSION).get(); } public static void clientID(Channel channel, String clientID) { channel.attr(NettyUtils.ATTR_KEY_CLIENTID).set(clientID); } public static String clientID(Channel channel) { return (String) channel.attr(NettyUtils.ATTR_KEY_CLIENTID).get(); } public static void userName(Channel channel, String username) { channel.attr(NettyUtils.ATTR_KEY_USERNAME).set(username); } public static String userName(Channel channel) { return (String) channel.attr(NettyUtils.ATTR_KEY_USERNAME).get(); } public static void sessionStolen(Channel channel, boolean value) { channel.attr(NettyUtils.ATTR_KEY_SESSION_STOLEN).set(value); } public static Boolean sessionStolen(Channel channel) { return (Boolean) channel.attr(NettyUtils.ATTR_KEY_SESSION_STOLEN).get(); } }