/* * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * WSO2 Inc. 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.wso2.carbon.inbound.endpoint.protocol.websocket; public class InboundWebsocketConfiguration { private final int port; private final String name; private String bossThreadPoolSize; private String workerThreadPoolSize; private int broadcastLevel; private String outFlowDispatchSequence; private String outFlowErrorSequence; private String subprotocolHandler; private String defaultContentType; private String pipelineHandler; private String dispatchToCustomSequence; private final boolean usePortOffset; private InboundWebsocketConfiguration(InboundWebsocketConfigurationBuilder builder) { this.port = builder.port; this.name = builder.name; this.bossThreadPoolSize = builder.bossThreadPoolSize; this.workerThreadPoolSize = builder.workerThreadPoolSize; this.broadcastLevel = builder.broadcastLevel; this.outFlowDispatchSequence = builder.outFlowDispatchSequence; this.outFlowErrorSequence = builder.outFlowErrorSequence; this.subprotocolHandler = builder.subprotocolHandler; this.defaultContentType = builder.defaultContentType; this.pipelineHandler = builder.pipelineHandler; this.dispatchToCustomSequence = builder.dispatchToCustomSequence; this.usePortOffset = builder.usePortOffset; } public int getPort() { return port; } public String getName() { return getName(); } public String getBossThreadPoolSize() { return bossThreadPoolSize; } public String getWorkerThreadPoolSize() { return workerThreadPoolSize; } public int getBroadcastLevel() { return broadcastLevel; } public String getOutFlowDispatchSequence() { return outFlowDispatchSequence; } public String getOutFlowErrorSequence() { return outFlowErrorSequence; } public String getSubprotocolHandler() { return subprotocolHandler; } public String getDefaultContentType() { return defaultContentType; } public String getPipelineHandler() { return pipelineHandler; } public String getDispatchToCustomSequence() { return dispatchToCustomSequence; } public boolean isUsePortOffset() { return usePortOffset; } public static class InboundWebsocketConfigurationBuilder { private final int port; private final String name; private String bossThreadPoolSize; private String workerThreadPoolSize; private int broadcastLevel; private String outFlowDispatchSequence; private String outFlowErrorSequence; private String subprotocolHandler; private String defaultContentType; private String pipelineHandler; private String dispatchToCustomSequence; private boolean usePortOffset = false; public InboundWebsocketConfigurationBuilder(int port, String name) { this.port = port; this.name = name; } public InboundWebsocketConfiguration build() { return new InboundWebsocketConfiguration(this); } public InboundWebsocketConfigurationBuilder bossThreadPoolSize(String bossThreadPoolSize) { this.bossThreadPoolSize = bossThreadPoolSize; return this; } public InboundWebsocketConfigurationBuilder workerThreadPoolSize(String workerThreadPoolSize) { this.workerThreadPoolSize = workerThreadPoolSize; return this; } public InboundWebsocketConfigurationBuilder broadcastLevel(int broadcastLevel) { this.broadcastLevel = broadcastLevel; return this; } public InboundWebsocketConfigurationBuilder outFlowDispatchSequence(String outFlowDispatchSequence) { this.outFlowDispatchSequence = outFlowDispatchSequence; return this; } public InboundWebsocketConfigurationBuilder outFlowErrorSequence(String outFlowErrorSequence) { this.outFlowErrorSequence = outFlowErrorSequence; return this; } public InboundWebsocketConfigurationBuilder subprotocolHandler(String subprotocolHandler) { this.subprotocolHandler = subprotocolHandler; return this; } public InboundWebsocketConfigurationBuilder defaultContentType(String defaultContentType) { this.defaultContentType = defaultContentType; return this; } public InboundWebsocketConfigurationBuilder pipelineHandler(String pipelineHandler) { this.pipelineHandler = pipelineHandler; return this; } public InboundWebsocketConfigurationBuilder dispatchToCustomSequence(String dispatchToCustomSequence) { this.dispatchToCustomSequence = dispatchToCustomSequence; return this; } public InboundWebsocketConfigurationBuilder usePortOffset(boolean usePortOffset) { this.usePortOffset = usePortOffset; return this; } } }