# HG changeset patch # User Jaroslav Tulach # Date 1318913712 -7200 # Node ID b632733724a864c54d78e168bbdf3423f8fc7758 # Parent 68bba7c8a1b3fd852af9aa0a5e7422f0958b4586 A contravariance example diff -r 68bba7c8a1b3 -r b632733724a8 samples/contravariance/build.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/samples/contravariance/build.xml Tue Oct 18 06:55:12 2011 +0200 @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 68bba7c8a1b3 -r b632733724a8 samples/contravariance/nbproject/project.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/samples/contravariance/nbproject/project.xml Tue Oct 18 06:55:12 2011 +0200 @@ -0,0 +1,99 @@ + + + org.netbeans.modules.ant.freeform + + + Contravariance + + + + Contravariance + + + + + . + UTF-8 + + + + java + src-api1.0 + UTF-8 + + + + java + src-api2.0 + UTF-8 + + + + java + impl + UTF-8 + + + + + build + + + clean + + + run + + + clean + build + + + test + + + + + + + src-api1.0 + + + + src-api2.0 + + + + src-impl + + + build.xml + + + + + + + + + + + + + + + src-api1.0 + 1.6 + + + src-api2.0 + 1.6 + + + src-impl + src-api1.0 + 1.6 + + + + diff -r 68bba7c8a1b3 -r b632733724a8 samples/contravariance/src-api1.0/api/Contravariance.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/samples/contravariance/src-api1.0/api/Contravariance.java Tue Oct 18 06:55:12 2011 +0200 @@ -0,0 +1,12 @@ +package api; + +public class Contravariance { + private Contravariance() { + } + + // BEGIN: variance.contravariance.v1 + public static boolean isPositive(Integer n1) { + return n1 > 0; + } + // END: variance.contravariance.v1 +} diff -r 68bba7c8a1b3 -r b632733724a8 samples/contravariance/src-api2.0/api/Contravariance.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/samples/contravariance/src-api2.0/api/Contravariance.java Tue Oct 18 06:55:12 2011 +0200 @@ -0,0 +1,12 @@ +package api; + +public class Contravariance { + private Contravariance() { + } + + // BEGIN: variance.contravariance.v2 + public static boolean isPositive(Number n1) { + return n1.doubleValue() > 0.0d; + } + // END: variance.contravariance.v2 +} diff -r 68bba7c8a1b3 -r b632733724a8 samples/contravariance/src-impl/test/ContravarianceTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/samples/contravariance/src-impl/test/ContravarianceTest.java Tue Oct 18 06:55:12 2011 +0200 @@ -0,0 +1,15 @@ +package test; + +import api.Contravariance; + +public class ContravarianceTest { + // BEGIN: variance.contravariance.test + public static void main(String[] args) { + boolean positive = Contravariance.isPositive(10); + boolean negative = Contravariance.isPositive(-5); + System.err.println("positive = " + positive + " negative = " + negative); + assert positive : "10 is positive"; + assert !negative : "-5 is negative"; + } + // END: variance.contravariance.test +}