/**
* Copyright 2015-2016 Red Hat, Inc, and individual contributors.
*
* Licensed 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.wildfly.swarm.vertx;
import org.wildfly.swarm.config.runtime.AttributeDocumentation;
import org.wildfly.swarm.spi.api.Defaultable;
import org.wildfly.swarm.spi.api.Fraction;
import org.wildfly.swarm.spi.api.Module;
import org.wildfly.swarm.spi.api.annotations.Configurable;
import org.wildfly.swarm.spi.api.annotations.DeploymentModule;
import static org.wildfly.swarm.spi.api.Defaultable.integer;
import static org.wildfly.swarm.spi.api.Defaultable.string;
import static org.wildfly.swarm.vertx.VertxProperties.DEFAULT_CLUSTER_HOST;
import static org.wildfly.swarm.vertx.VertxProperties.DEFAULT_CLUSTER_PORT;
import static org.wildfly.swarm.vertx.VertxProperties.DEFAULT_JNDI_NAME;
/**
* @author George Gastaldi
*/
@DeploymentModule(name = "io.vertx.jca", slot = "api")
@DeploymentModule(name = "io.vertx.jca", slot = "ra", services = Module.ServiceHandling.IMPORT)
@DeploymentModule(name = "com.hazelcast")
@Configurable("swarm.vertx")
public class VertxFraction implements Fraction<VertxFraction> {
public VertxFraction inhibitAdapterDeployment() {
this.inhibitAdapterDeployment = true;
return this;
}
public String jndiName() {
return jndiName.get();
}
public VertxFraction jndiName(String jndiName) {
this.jndiName.set(jndiName);
return this;
}
public String clusterHost() {
return clusterHost.get();
}
public VertxFraction clusterHost(String clusterHost) {
this.clusterHost.set(clusterHost);
return this;
}
public int clusterPort() {
return clusterPort.get();
}
public VertxFraction clusterPort(int clusterPort) {
this.clusterPort.set(clusterPort);
return this;
}
public boolean isAdapterDeploymentInhibited() {
return inhibitAdapterDeployment;
}
@AttributeDocumentation("Flag to inhibit resource-adapter deployment")
private boolean inhibitAdapterDeployment;
@AttributeDocumentation("JNDI name of the Vertx connector")
@Configurable("swarm.vertx.jndi-name")
private Defaultable<String> jndiName = string(DEFAULT_JNDI_NAME);
@AttributeDocumentation("Vertx cluster host name")
@Configurable("swarm.vertx.cluster.host")
private Defaultable<String> clusterHost = string(DEFAULT_CLUSTER_HOST);
@AttributeDocumentation("Vertx cluster port")
@Configurable("swarm.vertx.cluster.port")
private Defaultable<Integer> clusterPort = integer(DEFAULT_CLUSTER_PORT);
}