Update of /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper/resource/compare
In directory sc8-pr-cvs1:/tmp/cvs-serv13239/src/java/core/org/krysalis/ruper/resource/compare
Added Files:
StandardComparisons.java NameComparator.java
VersionComparator.java FilenameComparator.java
AbstractResourceComparator.java TypeComparator.java
Log Message:
Comparator
--- NEW FILE: StandardComparisons.java ---
/*
* Created on Sep 4, 2003
*/
package org.krysalis.ruper.resource.compare;
import org.krysalis.ruper.util.ComparatorSet;
/**
* @author arb_jack
*/
public class StandardComparisons {
private static ComparatorSet l_nameTypeVersion = null;
static {
l_nameTypeVersion = new ComparatorSet();
l_nameTypeVersion.addComparator(NameComparator.getInstance());
l_nameTypeVersion.addComparator(TypeComparator.getInstance());
l_nameTypeVersion.addComparator(VersionComparator.getInstance());
}
/**
* @return
*/
public static ComparatorSet getNameTypeVersion() {
return l_nameTypeVersion;
}
}
--- NEW FILE: NameComparator.java ---
/*
* Created on Sep 4, 2003
*/
package org.krysalis.ruper.resource.compare;
import java.util.Comparator;
import org.krysalis.ruper.resource.Resource;
/**
* @author arb_jack
*/
public final class NameComparator extends AbstractResourceComparator {
private static final NameComparator INSTANCE = new NameComparator();
/**
* @param expression
*/
private NameComparator() {
super();
}
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: VersionComparator.java ---
/*
* Created on Sep 4, 2003
*/
package org.krysalis.ruper.resource.compare;
import java.util.Comparator;
import org.krysalis.ruper.resource.Resource;
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();
}
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: FilenameComparator.java ---
/*
* Created on Sep 4, 2003
*/
package org.krysalis.ruper.resource.compare;
import java.util.Comparator;
import org.krysalis.ruper.resource.Resource;
/**
* @author arb_jack
*/
public final class FilenameComparator extends AbstractResourceComparator {
private static final FilenameComparator INSTANCE = new FilenameComparator();
/**
* @param expression
*/
private FilenameComparator() {
super();
}
public Comparator getInstance() {
return INSTANCE;
}
public int compareResources(final Resource resource1, final Resource resource2) {
int comparison =
resource1.getFilename().compareToIgnoreCase(
resource2.getFilename());
return comparison;
}
}
--- NEW FILE: AbstractResourceComparator.java ---
/*
* Created on Sep 4, 2003
*/
package org.krysalis.ruper.resource.compare;
import java.util.Comparator;
import org.krysalis.ruper.resource.Resource;
import org.krysalis.ruper.util.text.Messages;
import org.krysalis.version.util.SystemUtils;
/**
* @author arb_jack
*/
public abstract class AbstractResourceComparator implements Comparator {
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(
"WRONG_TYPE",
new Object[] {
object2.getClass().getName(),
Resource.class.getName()}));
}
else
throw new IllegalArgumentException(
Messages.getString(
"WRONG_TYPE",
new Object[] {
object1.getClass().getName(),
Resource.class.getName()}));
return comparison;
}
public abstract int compareResources(
final Resource resource1,
final Resource resource2);
}
--- NEW FILE: TypeComparator.java ---
/*
* Created on Sep 4, 2003
*/
package org.krysalis.ruper.resource.compare;
import java.util.Comparator;
import org.krysalis.ruper.resource.Resource;
/**
* @author arb_jack
*/
public final class TypeComparator extends AbstractResourceComparator {
private static final TypeComparator INSTANCE = new TypeComparator();
/**
* @param expression
*/
private TypeComparator() {
super();
}
public static Comparator getInstance() {
return INSTANCE;
}
public int compareResources(
final Resource resource1,
final Resource resource2) {
int comparison =
resource1.getType().compareTo(
resource2.getType());
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.