define more make goals
[null-analysis.git] / README.asciidoc
blob3d81112a82ce69b1c78738a2b4d276e59e437f45
1 = Null-Analysis
2 Sebastian Hoß <http://seb.xn--ho-hia.de/[@sebhoss]>
3 :github-org: sebhoss
4 :project-name: null-analysis
5 :project-group: de.xn--ho-hia.quality
7 image:https://img.shields.io/badge/license-cc%20zero-000000.svg["CC Zero", link="http://creativecommons.org/publicdomain/zero/1.0/"]
8 image:https://img.shields.io/maven-central/v/{project-group}/{project-name}.svg?style=flat-square["Maven Central", link="https://maven-badges.herokuapp.com/maven-central/{project-group}/{project-name}"]
9 image:https://www.openhub.net/p/{project-name}/widgets/project_thin_badge.gif["Open Hub statistics", link="https://www.openhub.net/p/{project-name}"]
10 image:https://img.shields.io/travis/{github-org}/{project-name}/master.svg?style=flat-square["Build Status", link="https://travis-ci.org/{github-org}/{project-name}"]
11 image:https://img.shields.io/gitter/room/{github-org}/{project-name}.svg?maxAge=2592000["Gitter", link="https://gitter.im/{github-org}/{project-name}"]
13 Utility library for null analysis in Java projects.
15 == Usage
17 Convert any `@Nullable` reference from legacy code to a `@NonNull` reference by using the `Nullsafe` utility class:
19 [source, java]
20 ----
21 @Nullable Object myObject = ...
22 @NonNull Object nonNullObject = Nullsafe.nonNull(myObject);
23 ----
25 An `IllegalArgumentException` is thrown in case `myObject` is `null`.
27 === Integration
29 To use this project just declare the following dependency inside your POM:
31 [source, xml]
32 ----
33 <dependency>
34   <groupId>de.xn--ho-hia.quality</groupId>
35   <artifactId>null-analysis</artifactId>
36   <version>${version.null-analysis}</version>
37 </dependency
38 ----
40 Replace `${version.null-analysis}` with the http://search.maven.org/#search%7Cga%7C1%7Cg%3Ade.xn--ho-hia.quality%20a%3Anull-analysis[latest release]. This project follows the link:http://semver.org/[semantic versioning guidelines].
42 === Compatibility
44 This project is compatible with the following Java versions:
46 .Java compatibility
47 |===
48 | | 3.X.Y
50 | Java 8
51 | ✓
52 |===
55 == License
57 To the extent possible under law, the author(s) have dedicated all copyright
58 and related and neighboring rights to this software to the public domain
59 worldwide. This software is distributed without any warranty.
61 You should have received a copy of the CC0 Public Domain Dedication along
62 with this software. If not, see http://creativecommons.org/publicdomain/zero/1.0/.