Update of /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper2/resource/compare
In directory sc8-pr-cvs1:/tmp/cvs-serv30481/src/java/core/org/krysalis/ruper2/resource/compare
Added Files:
StandardResourceComparisons.java VersionComparator.java
NameComparator.java TypeComparator.java
AbstractResourceComparator.java FilenameComparator.java
Log Message:
Avoid clash with existing Ruper...
--- NEW FILE: StandardResourceComparisons.java ---
/*
* Created on Sep 4, 2003
*/
package org.krysalis.ruper2.resource.compare;
import org.krysalis.ruper2.util.compare.ComparatorSet;
/**
* @author arb_jack
* @author anou_mana
*/
public class StandardResourceComparisons {
private static ComparatorSet l_nameTypeVersion = null;
private static ComparatorSet l_nameVersion = null;
private static ComparatorSet l_name = null;
private static ComparatorSet l_version = null;
private static ComparatorSet l_nameType = null;
static {
l_nameTypeVersion = new ComparatorSet();
l_nameTypeVersion.addComparator(NameComparator.getInstance());
l_nameTypeVersion.addComparator(TypeComparator.getInstance());
l_nameTypeVersion.addComparator(VersionComparator.getInstance());
l_nameVersion = new ComparatorSet();
l_nameVersion.addComparator(NameComparator.getInstance());
l_nameVersion.addComparator(VersionComparator.getInstance());
l_name = new ComparatorSet();
l_name.addComparator(NameComparator.getInstance());
l_version = new ComparatorSet();
l_version.addComparator(VersionComparator.getInstance());
l_nameType = new ComparatorSet();
l_nameType.addComparator(NameComparator.getInstance());
l_nameType.addComparator(TypeComparator.getInstance());
}
/**
* @return
*/
public static ComparatorSet getNameTypeVersionComparatorSet() {
return l_nameTypeVersion;
}
/**
* @return
*/
public static ComparatorSet getNameTypeComparatorSet() {
return l_nameType;
}
/**
* @return
*/
public static ComparatorSet getNameVersionComparatorSet() {
return l_nameVersion;
}
/**
* @return
*/
public static ComparatorSet getVersionComparatorSet() {
return l_version;
}
/**
* @return
*/
public static ComparatorSet getNameComparatorSet() {
return l_name;
}
}
--- NEW FILE: VersionComparator.java ---
/*
* Created on Sep 4, 2003
*/
package org.krysalis.ruper2.resource.compare;
import java.util.Comparator;
import org.krysalis.ruper2.resource.Resource;
import org.krysalis.ruper2.util.text.MessageConstants;
import org.krysalis.ruper2.util.text.Messages;
import org.krysalis.version.Version;
/**
* @author arb_jack
*/
public final class VersionComparator extends AbstractResourceComparator {
private static final VersionComparator INSTANCE = new VersionComparator();
/**
* @param expression
*/
private VersionComparator() {
super(Messages.getString(MessageConstants.VERSION_COMPARATOR));
}
public static Comparator getInstance() {
return INSTANCE;
}
public int compareResources(
final Resource resource1,
final Resource resource2) {
final Version version1 = resource1.getVersion();
final Version version2 = resource2.getVersion();
int comparison = 0;
if (null != version1) {
if (null != version2) {
comparison = version1.compareTo(version2);
}
else
comparison = 1;
}
else
comparison = (null == version2) ? 0 : -1;
return comparison;
}
}
--- NEW FILE: NameComparator.java ---
/*
* Created on Sep 4, 2003
*/
package org.krysalis.ruper2.resource.compare;
import java.util.Comparator;
import org.krysalis.ruper2.resource.Resource;
import org.krysalis.ruper2.util.text.MessageConstants;
import org.krysalis.ruper2.util.text.Messages;
/**
* @author arb_jack
*/
public final class NameComparator extends AbstractResourceComparator {
private static final NameComparator INSTANCE = new NameComparator();
/**
* @param expression
*/
private NameComparator() {
super(Messages.getString(MessageConstants.NAME_COMPARATOR));
}
public static Comparator getInstance() {
return INSTANCE;
}
public int compareResources(
final Resource resource1,
final Resource resource2) {
int comparison =
resource1.getIdentifier().getId().compareToIgnoreCase(
resource2.getIdentifier().getId());
return comparison;
}
}
--- NEW FILE: TypeComparator.java ---
/*
* Created on Sep 4, 2003
*/
package org.krysalis.ruper2.resource.compare;
import java.util.Comparator;
import org.krysalis.ruper2.resource.Resource;
import org.krysalis.ruper2.util.text.MessageConstants;
import org.krysalis.ruper2.util.text.Messages;
/**
* @author arb_jack
*/
public final class TypeComparator extends AbstractResourceComparator {
private static final TypeComparator INSTANCE = new TypeComparator();
/**
* @param expression
*/
private TypeComparator() {
super(Messages.getString(MessageConstants.TYPE_COMPARATOR));
}
public static Comparator getInstance() {
return INSTANCE;
}
public int compareResources(
final Resource resource1,
final Resource resource2) {
int comparison =
resource1.getType().compareTo(
resource2.getType());
return comparison;
}
}
--- NEW FILE: AbstractResourceComparator.java ---
/*
* Created on Sep 4, 2003
*/
package org.krysalis.ruper2.resource.compare;
import java.util.Comparator;
import org.krysalis.ruper2.resource.Resource;
import org.krysalis.ruper2.util.text.MessageConstants;
import org.krysalis.ruper2.util.text.Messages;
/**
* @author arb_jack
*/
public abstract class AbstractResourceComparator implements Comparator {
private String m_description = null;
protected AbstractResourceComparator(String description) {
m_description = description;
}
public int compare(final Object object1, final Object object2) {
int comparison = 0;
if (object1 instanceof Resource) {
if (object2 instanceof Resource) {
// System.out.println(
// SystemUtils.getShortName(getClass())
// + ": "
// + object1
// + " & "
// + object2);
comparison =
compareResources((Resource) object1, (Resource) object2);
}
else {
throw new IllegalArgumentException(
Messages.getString(
MessageConstants.WRONG_TYPE,
new Object[] {
object2.getClass().getName(),
Resource.class.getName()}));
}
}
else {
throw new IllegalArgumentException(
Messages.getString(
MessageConstants.WRONG_TYPE,
new Object[] {
object1.getClass().getName(),
Resource.class.getName()}));
}
return comparison;
}
public String toString() {
return m_description;
}
public abstract int compareResources(
final Resource resource1,
final Resource resource2);
}
--- NEW FILE: FilenameComparator.java ---
/*
* Created on Sep 4, 2003
*/
package org.krysalis.ruper2.resource.compare;
import java.util.Comparator;
import org.krysalis.ruper2.resource.Resource;
import org.krysalis.ruper2.util.text.MessageConstants;
import org.krysalis.ruper2.util.text.Messages;
/**
* @author arb_jack
*/
public final class FilenameComparator extends AbstractResourceComparator {
private static final FilenameComparator INSTANCE = new FilenameComparator();
/**
* @param expression
*/
private FilenameComparator() {
super(Messages.getString(MessageConstants.FILENAME_COMPARATOR));
}
public Comparator getInstance() {
return INSTANCE;
}
public int compareResources(final Resource resource1, final Resource resource2) {
int comparison =
resource1.getFilename().compareToIgnoreCase(
resource2.getFilename());
return comparison;
}
}
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.