|
What this is
Other links
The source code
package com.ice.syslogd;
import com.oroinc.text.regex.*;
public class
SyslogMatch
{
public static final String RCS_ID = "$Id: SyslogMatch.java,v 1.1.1.1 1998/02/22 05:47:54 time Exp $";
public static final String RCS_REV = "$Revision: 1.1.1.1 $";
public static final String RCS_NAME = "$Name: $";
private boolean match;
private String expression;
private Pattern pattern;
private MatchResult result;
public
SyslogMatch()
{
this.match = false;
this.pattern = null;
}
public void
compile( String expr )
throws MatchCompileException
{
Perl5Compiler compiler = new Perl5Compiler();
this.expression = expr;
try {
this.pattern = compiler.compile( expr );
}
catch( MalformedPatternException ex )
{
this.pattern = null;
throw new MatchCompileException( ex.getMessage() );
}
}
public boolean
matchMessage( String message )
{
if ( this.pattern == null )
{
this.match = false;
return false;
}
MatchResult result = null;
Perl5Matcher matcher = new Perl5Matcher();
PatternMatcherInput input =
new PatternMatcherInput( message );
this.match = matcher.contains( input, this.pattern );
if ( this.match )
{
this.result = matcher.getMatch();
}
return this.match;
}
public String
getExpression()
{
return this.expression;
}
public boolean
didMatch()
{
return this.match;
}
public String
getMatchSubExpr( int index )
{
return this.result.group( index );
}
public String[]
getMatchVariables()
{
int size = result.groups();
String[] vars = new String[ size ];
for( int i = 0 ; i < size ; i++ )
{
vars[ i ] = this.result.group( i );
}
return vars;
}
}
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.