package io.muoncore.protocol.introspection.server; import io.muoncore.Discovery; import io.muoncore.channel.ChannelConnection; import io.muoncore.codec.Codecs; import io.muoncore.descriptors.ProtocolDescriptor; import io.muoncore.descriptors.SchemaDescriptor; import io.muoncore.descriptors.ServiceExtendedDescriptorSource; import io.muoncore.message.MuonInboundMessage; import io.muoncore.message.MuonOutboundMessage; import io.muoncore.protocol.ServerProtocolStack; import lombok.Getter; import java.util.Collections; import java.util.Map; @Getter public class IntrospectionServerProtocolStack implements ServerProtocolStack { private ServiceExtendedDescriptorSource descriptorSource; private Codecs codecs; private Discovery discovery; public final static String PROTOCOL = "introspect"; public IntrospectionServerProtocolStack(ServiceExtendedDescriptorSource descriptorSource, Codecs codecs, Discovery discovery) { this.descriptorSource = descriptorSource; this.codecs = codecs; this.discovery = discovery; } @Override public ChannelConnection<MuonInboundMessage, MuonOutboundMessage> createChannel() { return new IntrospectionServerChannelConnection(this); } @Override public ProtocolDescriptor getProtocolDescriptor() { return new ProtocolDescriptor( PROTOCOL, "Introspection Protocol", "Provides the ability to introspect services to derive their capabilities. Built into most Muon implementations", Collections.emptyList()); } @Override public Map<String, SchemaDescriptor> getSchemasFor(String endpoint) { return Collections.emptyMap(); } }