/** * 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); }