1 /* Copyright 2004-2005 the original author or authors.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
15 package org
.codehaus
.groovy
.grails
.web
.taglib
;
17 import org
.apache
.commons
.lang
.StringUtils
;
18 import org
.codehaus
.groovy
.grails
.web
.taglib
.exceptions
.GrailsTagException
;
25 * <gr:grep in="${thing}" filter="${Pattern.compile('[a-zA-Z]')}">
30 * @author Graeme Rocher
33 public class GroovyGrepTag
extends GroovySyntaxTag
{
34 public static final String TAG_NAME
= "grep";
35 private static final String ATTRIBUTE_FILTER
= "filter";
37 public boolean isBufferWhiteSpace() {
41 public boolean hasPrecedingContent() {
45 public void doStartTag() {
46 String in
= (String
) attributes
.get(ATTRIBUTE_IN
);
47 String filter
= (String
) attributes
.get(ATTRIBUTE_FILTER
);
48 if(StringUtils
.isBlank(in
))
49 throw new GrailsTagException("Tag ["+TAG_NAME
+"] missing required attribute ["+ATTRIBUTE_IN
+"]");
50 if(StringUtils
.isBlank(filter
))
51 throw new GrailsTagException("Tag ["+TAG_NAME
+"] missing required attribute ["+ATTRIBUTE_FILTER
+"]");
55 filter
= calculateExpression(filter
);
61 public void doEndTag() {
65 public String
getName() {