1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19 package org.apache.myfaces.view.facelets.el;
20
21
22 /**
23 * Identification inferface for types that know about {@link javax.faces.view.Location}
24 * and XML attribute name/value pair.
25 *
26 * <ol>
27 * <li>Location - location instance - see {@link LocationAware}</li>
28 * <li>expressionString - expression String {@link javax.el.Expression#getExpressionString()}</li>
29 * <li>qName - the qualified name for attribute
30 * {@link javax.faces.view.facelets.TagAttribute#getQName()}</li>
31 * </ol>
32 *
33 * If type implements this interface, we can say that it knows where instance
34 * implementing this interface is located in facelets view (line/column)
35 * and what XML attribute (name/value pair) makes it.
36 *
37 * @author martinkoci
38 */
39 public interface ContextAware extends LocationAware
40 {
41 /**
42 * @return expression string, for example "#{bean.actionMethod}" or "success"
43 */
44 public abstract String getExpressionString();
45
46 /**
47 * @return qName of XML attribute, for example "action" or "value"
48 */
49 public abstract String getQName();
50
51 }