Coder Social home page Coder Social logo

netjagan / java-client-api Goto Github PK

View Code? Open in Web Editor NEW

This project forked from marklogic/java-client-api

0.0 2.0 0.0 21.78 MB

The MarkLogic Java Client API

License: Apache License 2.0

Java 97.64% HTML 0.01% XQuery 2.09% JavaScript 0.10% XSLT 0.12% Shell 0.04%

java-client-api's Introduction

The MarkLogic Java Client API

The API makes it easy to write, read, delete, and find documents in a MarkLogic database.

The Java API supports the following core features of the MarkLogic database:

  • Write and read binary, JSON, text, and XML documents.
  • Query data structure trees, marked-up text, and all the hybrids in between those extremes.
  • Project values and tuples from hierarchical documents and aggregate over them.
  • Patch documents with partial updates.
  • Match documents against alerting rules expressed as queries.
  • Use Optimistic Locking to detect contention without creating locks on the server.
  • Execute ACID modifications so the change either succeeds or throws an exception.
  • Execute multi-statement transactions so changes to multiple documents succeed or fail together.

What's New in Java Client API 3.0.1

  • Pojo Façade - persist POJOs as JSON objects and use a simple API to query them with all the power of MarkLogic's search engine
  • Eval (and Invoke) - directly access MarkLogic's powerful server-side XQuery or JavaScript
  • Bulk Read & Write - send and retrieve documents and metadata in batches for significant performance improvements
  • JSON - JacksonHandle, JacksonDatabindHandle, and JacksonParserHandle make wrangling JSON a pleasure
  • JavaScript Extensions - develop production-ready server-side extensions using ready-to-go scaffolding

For more details, please read this deeper dive

QuickStart

To use the API in your maven project, include the following in your pom.xml:

<dependency>
    <groupId>com.marklogic</groupId>
    <artifactId>java-client-api</artifactId>
    <version>3.0.1</version>
</dependency>

For gradle projects, include the following:

dependencies {
    compile group: 'com.marklogic', name: 'java-client-api', version: '3.0.1'
}

Read The Java API in Five Minutes

Learning More

The following resources document the Java API:

Installing

To use the Java API, either add Maven or Gradle dependency as explained above or download the jar and its dependencies:

http://developer.marklogic.com/products/java

Of course, you'll also need to install the database -- which you can do for free with the developer license:

https://developer.marklogic.com/free-developer

To obtain verified downloads signed with MarkLogic's PGP key, use maven tools or directly download the .jar and .asc files from maven central. MarkLogic's pgp key ID is 48D4B86E and it is available from pgp.mit.edu by installing gnupg and running the command:

$ gpg --keyserver pgp.mit.edu --recv-key 48D4B86E

Files can be verified with the command:

$ gpg java-client-api-3.0.1.jar.asc

Building and Contributing

You can build the API in the same way as any Maven project on git:

  1. Clone the java-client-api repository on your machine.
  2. Execute a Maven build in the directory containing the pom.xml file.

You might want to skip the tests until you have configured a test database and REST server:

$ mvn package -Dmaven.test.skip=true

See Contributing.md for more on contributing to this github project.

Running JUnit Tests

$ mvn test-compile
$ sh src/test/resources/boot-test.sh
$ mvn test

Support

The MarkLogic Java Client API is maintained by MarkLogic Engineering and distributed under the Apache 2.0 license. It is designed for use in production applications with MarkLogic Server. Everyone is encouraged to file bug reports, feature requests, and pull requests through GitHub. This input is critical and will be carefully considered, but we can’t promise a specific resolution or timeframe for any request. In addition, MarkLogic provides technical support for release tags of the Java Client API to licensed customers under the terms outlined in the Support Handbook. For more information or to sign up for support, visit help.marklogic.com.

java-client-api's People

Contributors

sammefford avatar sravanr avatar gvaidees avatar georgeajit avatar ehennum avatar dmcassel avatar jmakeig avatar nikos avatar ndw avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.