List of usage examples for com.liferay.portal.kernel.util NaturalOrderStringComparator NaturalOrderStringComparator
public NaturalOrderStringComparator(boolean ascending, boolean caseSensitive)
From source file:com.liferay.tools.sourceformatter.JavaTermComparator.java
License:Open Source License
protected int doCompare(JavaTerm javaTerm1, JavaTerm javaTerm2) { int type1 = javaTerm1.getType(); int type2 = javaTerm2.getType(); if (type1 != type2) { return type1 - type2; }//from w ww . j a v a 2 s . com String name1 = javaTerm1.getName(); String name2 = javaTerm2.getName(); if (javaTerm1.isVariable()) { if (StringUtil.isUpperCase(name1) && !StringUtil.isLowerCase(name1) && !StringUtil.isUpperCase(name2)) { return -1; } if (!StringUtil.isUpperCase(name1) && StringUtil.isUpperCase(name2) && !StringUtil.isLowerCase(name2)) { return 1; } } if (type1 == JavaTerm.TYPE_VARIABLE_PRIVATE_STATIC) { if (name2.equals("_log") || name2.equals("_logger")) { return 1; } if (name1.equals("_instance") || name1.equals("_log") || name1.equals("_logger")) { return -1; } if (name2.equals("_instance")) { return 1; } } if (name1.compareToIgnoreCase(name2) != 0) { NaturalOrderStringComparator naturalOrderStringComparator = new NaturalOrderStringComparator(true, false); return naturalOrderStringComparator.compare(name1, name2); } if (name1.compareTo(name2) != 0) { NaturalOrderStringComparator naturalOrderStringComparator = new NaturalOrderStringComparator(true, true); return -naturalOrderStringComparator.compare(name1, name2); } return compareParameterTypes(javaTerm1, javaTerm2); }