001 package com.thaiopensource.datatype.xsd.regex; 002 003 /** 004 * A provider of a regular expression matching capability. 005 */ 006 public interface RegexEngine { 007 /** 008 * Compiles a string containing a regular expression into a <code>Regex</code> object. 009 * The <code>Regex</code> object can be used to test whether a string matches the regular 010 * expression. 011 * 012 * @param str a String containing a regular expression 013 * @return a <code>Regex</code> for <code>str</code> 014 * @throws RegexSyntaxException if <code>str</code> is not a valid regular expression 015 */ 016 Regex compile(String str) throws RegexSyntaxException; 017 }