anchor.diff:  :project-name: generic-types
   :project-group: com.github.sebhoss.utils
   :coverity-project: 7620
  +:toc:
  +:toc-placement: preamble
  +
   
   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}"]
   image:https://www.openhub.net/p/{project-name}/widgets/project_thin_badge.gif["Open Hub statistics", link="https://www.ohloh.net/p/{project-name}"]
  
positive.code: 
  [source,java]
  ----
  final Type list = GenericTypes.generic(List.class, GenericTypes.supertype(Point.class));
  final Type list = GenericTypes.generic(List.class, GenericTypes.subtype(Number.class));
  ----
  
  
negative.code: 
  [source,java]
  ----
  // List<Map<? extends Number, ? super Point>>
  final Type type = generic(List.class, generic(Map.class, subtype(Number.class), supertype(Point.class)));
  ----
  
  === Integration
  
  To use this project just declare the following dependency inside your POM:
  
  [source,xml,subs="attributes,verbatim"]
  ----
  <dependencies>
    <dependency>
      <groupId>{project-group}</groupId>
      <artifactId>{project-name}</artifactId>
      <version>${version.generic-types}</version>
    </dependency>
  </dependencies>
  ----
  
  Replace `${version.generic-types}` with the link:http://search.maven.org/#search%7Cga%7C1%7Cg%3A{project-group}%20a%3A{project-name}[latest release]. This project follows the link:http://semver.org/[semantic versioning guidelines].
  
  
  === Compatibility
  
  This project is compatible with the following Java versions:
  
  .Java compatibility
  |===
  | | 1.X.Y
  
  | Java 8
  | ✓
  |===
  
  == License
  
  This project is licensed under the link:http://unlicense.org/[UNLICENSE]. See the link:UNLICENSE[UNLICENSE file] for more information.
  