public static boolean isNewerThan ( final Version left , final Version right ) { // major if ( left . getMajor ( ) > right . getMajor ( ) ) return true ; if ( left . getMajor ( ) < right . getMajor ( ) ) return false ; // minor if ( left . getMinor ( ) > right . getMinor ( ) ) return true ; if ( left . getMinor ( ) < right . getMinor ( ) ) return false ; // micro if ( left . getMicro ( ) > right . getMicro ( ) ) return true ; if ( left . getMicro ( ) < right . getMicro ( ) ) return false ; // qualifier // left String q = left . getQualifier ( ) ; int index = q . indexOf ( ' ' ) ; String qla = index == - 1 ? "" : q . substring ( index + 1 ) . trim ( ) ; String qln = index == - 1 ? q : q . substring ( 0 , index ) ; int ql = isEmpty ( qln ) ? Integer . MIN_VALUE : Integer . parseInt ( qln ) ; // right q = right . getQualifier ( ) ; index = q . indexOf ( ' ' ) ; String qra = index == - 1 ? "" : q . substring ( index + 1 ) . trim ( ) ; String qrn = index == - 1 ? q : q . substring ( 0 , index ) ; int qr = isEmpty ( qln ) ? Integer . MIN_VALUE : Integer . parseInt ( qrn ) ; if ( ql > qr ) return true ; if ( ql < qr ) return false ; int qlan = qualifierAppendix2Number ( qla ) ; int qran = qualifierAppendix2Number ( qra ) ; if ( qlan > qran ) return true ; if ( qlan < qran ) return false ; if ( qlan == QUALIFIER_APPENDIX_OTHER && qran == QUALIFIER_APPENDIX_OTHER ) return left . compareTo ( right ) > 0 ; return false ; }
check left value against right value