This repository contains all the projects required to build the Java implementation of the 51Degrees Pipeline API.
The specification is also available on GitHub and is recommended reading if you wish to understand the concepts and design of this API.
Reference documentation for the Java implementation can be found on the Java API documentation page.
The tested versions page shows the JDK versions that we currently test against. The software may run fine against other versions, but additional caution should be applied.
- pipeline.common - Some shared library classes.
- pipeline.caching - 51Degrees' caching interfaces and high-performance LRU implementation.
- pipeline.core - The core software that comprises the Pipeline API.
- pipeline.engines - Shared functionality that is available to all 'engines' (specialized 'flow elements')
- pipeline.engines.fiftyone - Functionality that is specific to 51Degrees engines.
- pipeline.cloudrequestengine - An engine that is used to retrieve data from 51Degrees' cloud API.
Packages can be found on Maven under the group com.51degrees.
Alternatively clone this git repository and in the root run mvn install
to build and install the packages locally.
Most packages contain tests which use junit and mockito. These tests can be run using maven by calling: mvn test
There are several examples available in the pipeline.developer-examples
folder that demonstrate
how to make use of the Pipeline API in isolation. These are described in the table below.
If you want examples that demonstrate how to use 51Degrees products such as device detection,
then these are available in the corresponding repository
and on our website.
Example | Description |
---|---|
pipeline.developer-examples.flowelement | Shows how to create a custom flow element that returns star sign based on a supplied date of birth. |
pipeline.developer-examples.onpremise-engine | Shows how to modify SimpleFlowElement to make use of the 'engine' functionality and use a custom data file to map dates to star signs rather than relying on hard coded data. |
pipeline.developer-examples.clientside-element | Shows how to modify SimpleFlowElement to request the data of birth from the user using client-side JavaScript. |
pipeline.developer-examples.clientside-element-mvc | An example project showing how to use the code from SimpleClientSideElement in a Java web application using the Model-View-Controller Pattern. |
pipeline.developer-examples.cloud-engine | Shows how to modify SimpleFlowElement to perform the star sign lookup via a cloud service rather than locally. |
pipeline.developer-examples.usage-sharing | Shows how to share usage with 51Degrees. This helps us to keep our products up to date and accurate. |