All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.nosan.embedded.cassandra.package-info Maven / Gradle / Ivy

There is a newer version: 5.0.0
Show newest version
/*
 * Copyright 2020-2021 the original author or authors.
 *
 * 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
 *
 *      https://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.
 */

/**
 * Embedded Cassandra provides an easy way to start and stop Apache Cassandra.
 * 

Public API contains the following classes and interfaces: *

* {@link com.github.nosan.embedded.cassandra.Cassandra} Interface that represents Cassandra instance. *

{@link com.github.nosan.embedded.cassandra.Version}

* A class that parses and represents Cassandra version. *

{@link com.github.nosan.embedded.cassandra.CassandraBuilder}

A builder class that can be used to configure * and create {@link com.github.nosan.embedded.cassandra.Cassandra} instance. *

* {@link com.github.nosan.embedded.cassandra.cql.CqlScript}

Interface that loads CQL statements from various * sources. *

* {@link com.github.nosan.embedded.cassandra.WorkingDirectoryInitializer} *

* A strategy interface to initialize working directory. *

* {@link com.github.nosan.embedded.cassandra.WorkingDirectoryDestroyer} *

* A strategy interface to destroy the working directory. *

* {@link com.github.nosan.embedded.cassandra.WorkingDirectoryCustomizer} *

* A customizer interface that can be used to customize the working directory. *

{@link com.github.nosan.embedded.cassandra.CassandraBuilderConfigurator}

* A callback interface to configure a {@link com.github.nosan.embedded.cassandra.CassandraBuilder}. *

Example: *

 * Cassandra cassandra = new CassandraBuilder().build();
 * cassandra.start();
 * try {
 * 	Settings settings = cassandra.getSettings();
 * 	try (Cluster cluster = Cluster.builder().addContactPoints(settings.getAddress())
 * 			.withPort(settings.getPort()).build()) {
 * 		Session session = cluster.connect();
 * 		CqlScript.ofClassPath("schema.cql").forEachStatement(session::execute);
 *        }
 * }
 * finally {
 * 	cassandra.stop();
 * }
 * 
*/ package com.github.nosan.embedded.cassandra;




© 2015 - 2024 Weber Informatics LLC | Privacy Policy