• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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  "License");
7  * you may not use this file except in compliance with the License.
8  * 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, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 /*
19  * $Id$
20  */
21 package org.apache.xalan.trace;
22 
23 import org.apache.xalan.templates.ElemTemplateElement;
24 import org.apache.xalan.transformer.TransformerImpl;
25 import org.apache.xpath.XPath;
26 import org.apache.xpath.objects.XObject;
27 
28 import org.w3c.dom.Node;
29 
30 /**
31  * Event triggered by selection of a node in the style stree.
32  * @xsl.usage advanced
33  */
34 public class SelectionEvent implements java.util.EventListener
35 {
36 
37   /**
38    * The node in the style tree where the event occurs.
39    */
40   public final ElemTemplateElement m_styleNode;
41 
42   /**
43    * The XSLT processor instance.
44    */
45   public final TransformerImpl m_processor;
46 
47   /**
48    * The current context node.
49    */
50   public final Node m_sourceNode;
51 
52   /**
53    * The attribute name from which the selection is made.
54    */
55   public final String m_attributeName;
56 
57   /**
58    * The XPath that executed the selection.
59    */
60   public final XPath m_xpath;
61 
62   /**
63    * The result of the selection.
64    */
65   public final XObject m_selection;
66 
67   /**
68    * Create an event originating at the given node of the style tree.
69    *
70    * @param processor The XSLT TransformerFactory.
71    * @param sourceNode The current context node.
72    * @param styleNode node in the style tree reference for the event.
73    * Should not be null.  That is not enforced.
74    * @param attributeName The attribute name from which the selection is made.
75    * @param xpath The XPath that executed the selection.
76    * @param selection The result of the selection.
77    */
SelectionEvent(TransformerImpl processor, Node sourceNode, ElemTemplateElement styleNode, String attributeName, XPath xpath, XObject selection)78   public SelectionEvent(TransformerImpl processor, Node sourceNode,
79                         ElemTemplateElement styleNode, String attributeName,
80                         XPath xpath, XObject selection)
81   {
82 
83     this.m_processor = processor;
84     this.m_sourceNode = sourceNode;
85     this.m_styleNode = styleNode;
86     this.m_attributeName = attributeName;
87     this.m_xpath = xpath;
88     this.m_selection = selection;
89   }
90 }
91