GRAILS-1019: Allowing expressions to be used with the 'disabled' attribute for g...
[grails.git] / src / commons / org / codehaus / groovy / grails / commons / GrailsTagLibClass.java
blob185c4412412faab9aa419613be2053981ca843f4
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.commons;
17 import java.util.Set;
19 /**
20 * <p>Represents a Grails tab library class</p>
22 * @author Graeme Rocher
23 * @since Jan 14, 2006
25 public interface GrailsTagLibClass extends InjectableGrailsClass {
27 public static final String DEFAULT_NAMESPACE = "g";
29 /**
30 * The name of the application (ie global) tag library appropriate for all controller classes
32 String SUPPORTS_CONTROLLER = "supportsController";
34 String NAMESPACE_FIELD_NAME = "namespace";
36 /**
37 * Whether this tag library supports the specified controller
38 * @param controllerClass The controllerClass to check
39 * @return True if the controller is supported
41 boolean supportsController(GrailsControllerClass controllerClass);
43 /**
45 * @param tagName The name of the tag
46 * @return Whether the tag library contains the specified tag
48 boolean hasTag(String tagName);
50 /**
52 * @return The tag names in this library
54 Set getTagNames();
56 /**
58 * @return the namespace that this taglib occupies.
60 String getNamespace();