ruper2/src/java/core/org/krysalis/ruper2/resource/select StandardSelections.java,NONE,1.1 VersionSelector.java,NONE,1.1 FilenameSelector.java,NONE,1.1 AbstractResourceSelector.java,NONE,1.1 TypeSelector.java,NONE,1.1 NameSelector.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/ruper2/resource/select
In directory sc8-pr-cvs1:/tmp/cvs-serv30481/src/java/core/org/krysalis/ruper2/resource/select

Added Files:
	StandardSelections.java VersionSelector.java 
	FilenameSelector.java AbstractResourceSelector.java 
	TypeSelector.java NameSelector.java 
Log Message:
Avoid clash with existing Ruper...

--- NEW FILE: StandardSelections.java ---
/*
 * Created on Sep 4, 2003
 */
package org.krysalis.ruper2.resource.select;

import org.krysalis.ruper2.resource.ResourceSpecifier;

import org.krysalis.ruper2.util.select.Selector;
import org.krysalis.ruper2.util.select.logic.AndSelector;

/**
 * @author arb_jack
 */
public class StandardSelections {

	/**
	 * @param resource - -a specifier
	 * @return
	 */
	public static Selector getNamedTypedVersion(ResourceSpecifier resource) {
		AndSelector set = new AndSelector();

		set.addSelector(new NameSelector(resource.getIdentifier().getId()));
		set.addSelector(new TypeSelector(resource.getType()));
		if (null != resource.getVersion()) {
			set.addSelector(new VersionSelector(resource.getVersion()));
		}

		return set;
	}
}

--- NEW FILE: VersionSelector.java ---
/*
 * Created on Sep 4, 2003
 *
 * To change the template for this generated file go to
 * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
 */
package org.krysalis.ruper2.resource.select;

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 class VersionSelector extends AbstractResourceSelector {
	Version m_comparisonVersion = null;

	/**
	 * @param expression
	 */
	public VersionSelector(Version comparisonVersion) {
		super(Messages.getString(MessageConstants.VERSION_SELECTOR));
		m_comparisonVersion = comparisonVersion;
	}

	public boolean selectResource(Resource resource) {
		boolean selected = false;

		Version version = resource.getVersion();

		if (null != version) {
			//:TODO: More features...

			selected = m_comparisonVersion.isCompatible(version);
		}

		return selected;
	}
	
	public String toString() {
		return super.toString() + ":" + m_comparisonVersion.toString();
	}
}

--- NEW FILE: FilenameSelector.java ---
/*
 * Created on Sep 4, 2003
 */
package org.krysalis.ruper2.resource.select;

import org.krysalis.ruper2.resource.Resource;
import org.krysalis.ruper2.util.regexp.RegularExpression;
import org.krysalis.ruper2.util.regexp.RegularExpressionSelector;
import org.krysalis.ruper2.util.text.MessageConstants;
import org.krysalis.ruper2.util.text.Messages;

/**
 * @author arb_jack
 */
public class FilenameSelector extends AbstractResourceSelector {
	RegularExpressionSelector m_regexp = null;

	/**
	 * @param expression
	 */
	public FilenameSelector(String expression) {
		super(Messages.getString(MessageConstants.FILENAME_SELECTOR));
		m_regexp = new RegularExpressionSelector(expression);
	}

	/**
	 * @param expression
	 */
	public FilenameSelector(RegularExpression expression) {
		super(Messages.getString(MessageConstants.FILENAME_SELECTOR));

		m_regexp = new RegularExpressionSelector(expression);
	}

	public boolean selectResource(Resource resource) {
		return m_regexp.select(resource.getFilename());
	}

	public String toString() {
		return super.toString() + ":" + m_regexp;
	}
}

--- NEW FILE: AbstractResourceSelector.java ---
/*
 * Created on Sep 4, 2003
 */
package org.krysalis.ruper2.resource.select;

import org.krysalis.ruper2.resource.Resource;
import org.krysalis.ruper2.util.select.Selector;
import org.krysalis.ruper2.util.text.MessageConstants;
import org.krysalis.ruper2.util.text.Messages;
import org.krysalis.version.util.SystemUtils;

/**
 * @author arb_jack
 */
public abstract class AbstractResourceSelector implements Selector {
	private String m_description = null;

	protected AbstractResourceSelector(String description) {
		m_description = description;
	}

	public boolean select(final Object object) {
		boolean selected = false;

		if (object instanceof Resource) {
			selected = selectResource((Resource) object);

		}
		else {
			throw new IllegalArgumentException(
				Messages.getString(
					MessageConstants.WRONG_TYPE,
					object.getClass().getName(),
					Resource.class.getName()));
		}

		return selected;
	}

	public String toString() {
		return SystemUtils.getShortName(getClass());
	}

	public abstract boolean selectResource(final Resource resource);
}

--- NEW FILE: TypeSelector.java ---
/*
 * Created on Sep 4, 2003
 *
 * To change the template for this generated file go to
 * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
 */
package org.krysalis.ruper2.resource.select;

import org.krysalis.ruper2.resource.Resource;
import org.krysalis.ruper2.resource.ResourceType;
import org.krysalis.ruper2.util.text.MessageConstants;
import org.krysalis.ruper2.util.text.Messages;

/**
 * @author arb_jack
 */
public class TypeSelector extends AbstractResourceSelector  {
	ResourceType m_comparisonType = null;

	/**
	 * @param expression
	 */
	public TypeSelector(ResourceType comparisonType) {
		super(Messages.getString(MessageConstants.TYPE_SELECTOR));		
		m_comparisonType = comparisonType;
	}

	public boolean selectResource(Resource resource) {
		boolean selected = false;

		ResourceType type = resource.getType();

		if (null != type) {
			//:TODO: More features...

			selected = m_comparisonType.equals(type);
		}

		return selected;
	}

	public String toString() {
		return super.toString() + ":" + m_comparisonType.toString();
	}
}

--- NEW FILE: NameSelector.java ---
/*
 * Created on Sep 4, 2003
 */
package org.krysalis.ruper2.resource.select;

import org.krysalis.ruper2.resource.Resource;
import org.krysalis.ruper2.util.regexp.RegularExpression;
import org.krysalis.ruper2.util.regexp.RegularExpressionSelector;
import org.krysalis.ruper2.util.text.MessageConstants;
import org.krysalis.ruper2.util.text.Messages;

/**
 * @author arb_jack
 */
public class NameSelector extends AbstractResourceSelector {
	RegularExpressionSelector m_regexp = null;
	
	/**
	 * @param expression
	 */
	public NameSelector(String expression) {
		super(Messages.getString(MessageConstants.NAME_SELECTOR));
		
		m_regexp = new RegularExpressionSelector(expression);
	}

	/**
	 * @param expression
	 */
	public NameSelector(RegularExpression expression) {
		super(Messages.getString(MessageConstants.NAME_SELECTOR));
		
		m_regexp = new RegularExpressionSelector(expression);
	}

	public boolean selectResource(Resource resource) {
		return m_regexp.select(resource.getIdentifier().getId());
	}

	public String toString() {
		return super.toString() + ":" + m_regexp;
	}
}




-------------------------------------------------------
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.