Package net.matuschek.spider

Source Code of net.matuschek.spider.RegExpRule

package net.matuschek.spider;

/*********************************************
    Copyright (c) 2001 by Daniel Matuschek
*********************************************/

import org.apache.regexp.RESyntaxException;
import org.apache.regexp.RE;

/**
* Simple class that defines a rule based on a regular expression
* It consists of a pattern and a action (allow or deny)
*
* @author Daniel Matuschek
* @version $Id $
*/
public class RegExpRule {
 
  public RegExpRule() {
  }

  /**
   * Gets the value of allow
   * @return true, if this rule allows something, false if it denies
   *  something
   */
  public boolean getAllow() {
    return allow;
  }


  /**
   * Sets the value of allow
   * @param allow true, if this rule allows something, false if it denies
   * something
   */
  public void setAllow(boolean allow) {
    this.allow = allow;
  }


  /**
   * Gets the value of processAllowed
   * @return true, if this rule allows processing, false if it denies it
   */
  public boolean getProcessAllowed() {
  return processAllowed && allow;
  }


  /**
   * Sets the value of processAllowed
   * @param processAllowed true, if this rule allows processing, false if it
   * denies it
   */
  public void setProcessAllowed(boolean processAllowed) {
  this.processAllowed = processAllowed;
  }
 
  /**
   * Gets the regexp pattern
   * @return a regular expression that this rule matches
   */
  public String getPattern() {
    return pattern;
  }


  /**
   * Sets the regexp pattern
   * @param pattern a regular expression that this rule matches
   */
  public void setPattern(String pattern)
    throws RESyntaxException
  {
    this.expression = new RE(pattern);
    this.pattern = pattern;
  }

  /**
   * Does this rule match the given string ?
   * @param s a String
   * @return true if the regular expression matches the argument,
   * false otherwise
   */
  public boolean match(String s) {
    return expression.match(s);
  }

  private boolean allow=true;
  private boolean processAllowed=true;
  private String pattern="";
  private RE expression=new RE();
 
} // RegExpRule
TOP

Related Classes of net.matuschek.spider.RegExpRule

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.