package com.sissi.pipeline.in.stream; import com.sissi.context.JIDContext; import com.sissi.pipeline.Input; import com.sissi.protocol.Feature; import com.sissi.protocol.Protocol; import com.sissi.protocol.Stream; import com.sissi.protocol.feature.Bind; import com.sissi.protocol.feature.Session; /** * @author kim 2014年1月4日 */ public class StreamFeatureBindingProcessor implements Input { private final Feature[] features = new Feature[] { Session.FEATURE, Bind.FEATURE }; @Override public boolean input(JIDContext context, Protocol protocol) { return context.auth() ? this.writeFeature(protocol.cast(Stream.class)) : true; } private boolean writeFeature(Stream stream) { stream.addFeature(this.features); return true; } }