ruper2/src/java/core/org/krysalis/ruper2/util/net/select ChildVrlSelector.java,NONE,1.1 MatchingVrlSelector.java,NONE,1.1 AbstractVrlSelector.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/util/net/select
In directory sc8-pr-cvs1:/tmp/cvs-serv11152/src/java/core/org/krysalis/ruper2/util/net/select

Added Files:
	ChildVrlSelector.java MatchingVrlSelector.java 
	AbstractVrlSelector.java 
Log Message:
Leverage selectors for performList, to make it much more powerful.

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

import org.krysalis.ruper2.util.net.VirtualResourceLocator;
import org.krysalis.ruper2.util.text.MessageConstants;
import org.krysalis.ruper2.util.text.Messages;

/**
 * @author arb_jack
 */
public class ChildVrlSelector extends AbstractVrlSelector {
	VirtualResourceLocator m_parent = null;
	
	
	/**
	 * @param expression
	 */
	public ChildVrlSelector(VirtualResourceLocator parent) {
		super(Messages.getString(MessageConstants.NAME_SELECTOR));
		
		m_parent = parent;
	}

	public boolean selectVrl(VirtualResourceLocator vrl) {
		return (vrl.getParent().equals(m_parent));
	}

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

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

import org.krysalis.ruper2.util.net.VirtualResourceLocator;
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 MatchingVrlSelector extends AbstractVrlSelector {
	RegularExpressionSelector m_regexp = null;

	/**
	 * @param expression
	 */
	public MatchingVrlSelector(String expression) {
		this(new RegularExpressionSelector(expression));
	}

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

		m_regexp = new RegularExpressionSelector(expression);
	}

	/**
	 * @param expression
	 */
	public MatchingVrlSelector(RegularExpressionSelector selector) {
		super(Messages.getString(MessageConstants.MATCHING_VRL_SELECTOR));

		m_regexp = selector;
	}

	public boolean selectVrl(VirtualResourceLocator vrl) {
		return m_regexp.select(vrl.toExternalForm());
	}

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

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

import org.krysalis.ruper2.util.net.VirtualResourceLocator;
import org.krysalis.ruper2.util.select.ISelector;
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 AbstractVrlSelector implements ISelector {
	private String m_description = null;

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

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

		if (object instanceof VirtualResourceLocator) {
			selected = selectVrl((VirtualResourceLocator) object);
		}
		else {
			throw new IllegalArgumentException(
				Messages.getString(
					MessageConstants.WRONG_TYPE,
					object.getClass().getName(),
					VirtualResourceLocator.class.getName()));
		}

		return selected;
	}

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

	public abstract boolean selectVrl(final VirtualResourceLocator resource);
}




-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
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.