KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > cms > util > RegexpHelper


1 /* ===============================================================================
2  *
3  * Part of the InfoGlue Content Management Platform (www.infoglue.org)
4  *
5  * ===============================================================================
6  *
7  * Copyright (C)
8  *
9  * This program is free software; you can redistribute it and/or modify it under
10  * the terms of the GNU General Public License version 2, as published by the
11  * Free Software Foundation. See the file LICENSE.html for more information.
12  *
13  * This program is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License along with
18  * this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
19  * Place, Suite 330 / Boston, MA 02111-1307 / USA.
20  *
21  * ===============================================================================
22  */

23
24 package org.infoglue.cms.util;
25
26 import org.apache.log4j.Logger;
27 import org.apache.oro.text.perl.MalformedPerl5PatternException;
28 import org.apache.oro.text.perl.Perl5Util;
29 import org.infoglue.cms.exception.Bug;
30
31
32 /**
33  * Utility class for regular expressions.
34  *
35  * @author Mattias Bogeblad
36  */

37 public class RegexpHelper
38 {
39
40     // The string manager for this package.
41
private static final StringManager sm = StringManagerFactory.getSystemStringManager(Constants.PACKAGE_NAME);
42     
43     // The logger for this class.
44
private static final Logger logger = Logger.getLogger(RegexpHelper.class.getName());
45     
46     // The regexp delegate.
47
private static final Perl5Util regexpDelegate = new Perl5Util();
48     
49     /**
50      * Static class; don't allow instantiation.
51      */

52     
53     private RegexpHelper()
54     {
55     }
56
57
58
59     /**
60      * Checks if the specified string contains the specified pattern.
61      *
62      * @param pattern the pattern to search for (perl5 native format).
63      * @param string the string to perform the search on.
64      * @return true if the string contains the pattern; false otherwise.
65      */

66
67     public static synchronized boolean match(String JavaDoc pattern, String JavaDoc string)
68     {
69         logger.debug(sm.getString("regexp.match.info", pattern, string));
70         try
71         {
72             boolean result = regexpDelegate.match("/" + pattern + "/", string);
73             //getLogger().info("pattern:" + pattern);
74
//getLogger().info("string:" + string);
75
//getLogger().info("result:" + result);
76
return result;
77         }
78         catch (MalformedPerl5PatternException e)
79         {
80             throw new Bug(sm.getString("regexp.match.pattern_error", pattern), e);
81         }
82         catch (NullPointerException JavaDoc e)
83         {
84             throw new Bug(sm.getString("regexp.match.illegal_parameters_error", pattern, string), e);
85         }
86     }
87
88 }
Popular Tags