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 import javax.el.Expression;
22 import javax.faces.view.Location;
23 import javax.faces.view.facelets.TagAttribute;
24
25 /**
26 * Identification inferface for types that know about {@link Location} and XML attribute name/value pair.
27 *
28 * <ol>
29 * <li>Location - location instance - see {@link LocationAware}</li>
30 * <li>expressionString - expression String {@link Expression#getExpressionString()}</li>
31 * <li>qName - the qualified name for attribute {@link TagAttribute#getQName()}</li>
32 * </ol>
33 *
34 * If type implements this interface, we can say that it knows where instance 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 /**
43 * @return expression string, for example "#{bean.actionMethod}" or "success"
44 */
45 public abstract String getExpressionString();
46
47 /**
48 * @return qName of XML attribute, for example "action" or "value"
49 */
50 public abstract String getQName();
51
52 }