ruper2/src/java/core/org/krysalis/ruper/resource/compare StandardComparisons.java,NONE,1.1 NameComparator.java,NONE,1.1 VersionComparator.java,NONE,1.1 FilenameComparator.java,NONE,1.1 AbstractResourceComparator.java,NONE,1.1 TypeComparator.java,NONE,1.1

[email protected]
Newsgroups gmane.comp.krysalis.metamorphosis.cvs
Message-ID <[email protected]>
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.