Java Reference
In-Depth Information
L ISTING 12.4
Continued
if(i < s.length())
arraylist.add(s.substring(i, s.length()));
singleValues = new String[arraylist.size()];
arraylist.toArray(singleValues);
}
/**
* The exact match between two Versions
*/
public boolean match(Versionable v) {
if(v == null)
return false;
// to be refined
if (v instanceof StarVersion)
return ((StarVersion)v).contains(this);
if (v instanceof PlusVersion)
return ((PlusVersion)v).contains(this);
if(v instanceof UnspecifiedVersion)
return false;
if(v instanceof VersionString) {
return ((VersionString)v).contains(this);
}
if(!(v instanceof VersionId))
return false;
VersionId vid = (VersionId)v;
return (compareToVersionId(vid)==0);
}
/**
* compare a VersionId against another
*/
public int compareToVersionId(VersionId vid) {
if (vid instanceof UnspecifiedVersion )
return 0;
// normalize one against the other
String as[] = normalize(singleValues, vid.getSingleValues().length);
String as1[] = normalize(vid.getSingleValues(), singleValues.length);
// then scan each single value against the respective one
for(int i = 0; i < as.length; i++) {
if(!as[i].equals(as1[i]))
if (isNumber(as[i]) && isNumber(as1[i])) {
int v1 = Integer.parseInt(as[i]);
int v2 = Integer.parseInt(as1[i]);
Search WWH ::




Custom Search