org.apache.qpid.proton.Proton Maven / Gradle / Ivy
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.apache.qpid.proton;
import java.io.IOException;
import org.apache.qpid.proton.amqp.messaging.ApplicationProperties;
import org.apache.qpid.proton.amqp.messaging.DeliveryAnnotations;
import org.apache.qpid.proton.amqp.messaging.Footer;
import org.apache.qpid.proton.amqp.messaging.Header;
import org.apache.qpid.proton.amqp.messaging.MessageAnnotations;
import org.apache.qpid.proton.amqp.messaging.Properties;
import org.apache.qpid.proton.amqp.messaging.Section;
import org.apache.qpid.proton.codec.Codec;
import org.apache.qpid.proton.codec.Data;
import org.apache.qpid.proton.engine.Collector;
import org.apache.qpid.proton.engine.Connection;
import org.apache.qpid.proton.engine.Engine;
import org.apache.qpid.proton.engine.Handler;
import org.apache.qpid.proton.engine.SslDomain;
import org.apache.qpid.proton.engine.SslPeerDetails;
import org.apache.qpid.proton.engine.Transport;
import org.apache.qpid.proton.message.Message;
import org.apache.qpid.proton.reactor.Reactor;
import org.apache.qpid.proton.reactor.ReactorOptions;
public final class Proton
{
private Proton()
{
}
public static Collector collector()
{
return Engine.collector();
}
public static Connection connection()
{
return Engine.connection();
}
public static Transport transport()
{
return Engine.transport();
}
public static SslDomain sslDomain()
{
return Engine.sslDomain();
}
public static SslPeerDetails sslPeerDetails(String hostname, int port)
{
return Engine.sslPeerDetails(hostname, port);
}
public static Data data(long capacity)
{
return Codec.data(capacity);
}
public static Message message()
{
return Message.Factory.create();
}
public static Message message(Header header,
DeliveryAnnotations deliveryAnnotations, MessageAnnotations messageAnnotations,
Properties properties, ApplicationProperties applicationProperties,
Section body, Footer footer)
{
return Message.Factory.create(header, deliveryAnnotations,
messageAnnotations, properties,
applicationProperties, body, footer);
}
public static Reactor reactor() throws IOException
{
return Reactor.Factory.create();
}
public static Reactor reactor(Handler... handlers) throws IOException
{
Reactor reactor = Reactor.Factory.create();
for (Handler handler : handlers) {
reactor.getHandler().add(handler);
}
return reactor;
}
public static Reactor reactor(ReactorOptions options) throws IOException
{
return Reactor.Factory.create(options);
}
public static Reactor reactor(ReactorOptions options, Handler... handlers) throws IOException
{
Reactor reactor = Reactor.Factory.create(options);
for (Handler handler : handlers) {
reactor.getHandler().add(handler);
}
return reactor;
}
}