001    package org.apache.tapestry.services.impl;
002    
003    import ognl.Node;
004    import org.apache.hivemind.service.ClassFab;
005    import org.apache.hivemind.service.MethodSignature;
006    
007    /**
008     * Simple struct used by {@link HiveMindExpressionCompiler} to hold temporary references to
009     * all of the objects involved in compiling / generating a compiled ognl expression.
010     */
011    public class CompiledExpression {
012    
013        ClassFab _generatedClass;
014        Node _expression;
015        Object _root;
016        MethodSignature _getterMethod;
017        MethodSignature _setterMethod;
018    
019        public CompiledExpression(Node expression, Object root,
020                                  MethodSignature getter, MethodSignature setter)
021        {
022            _expression = expression;
023            _root = root;
024            _getterMethod = getter;
025            _setterMethod = setter;
026        }
027    
028        public ClassFab getGeneratedClass()
029        {
030            return _generatedClass;
031        }
032    
033        public void setGeneratedClass(ClassFab generatedClass)
034        {
035            _generatedClass = generatedClass;
036        }
037    
038        public Node getExpression()
039        {
040            return _expression;
041        }
042    
043        public void setExpression(Node expression)
044        {
045            _expression = expression;
046        }
047    
048        public Object getRoot()
049        {
050            return _root;
051        }
052    
053        public void setRoot(Object root)
054        {
055            _root = root;
056        }
057    
058        public MethodSignature getGetterMethod()
059        {
060            return _getterMethod;
061        }
062    
063        public void setGetterMethod(MethodSignature method)
064        {
065            _getterMethod = method;
066        }
067    
068        public MethodSignature getSettermethod()
069        {
070            return _setterMethod;
071        }
072    
073        public void setSetterMethod(MethodSignature method)
074        {
075            _setterMethod = method;
076        }
077    
078        public String toString()
079        {
080            return "CompiledExpression[" +
081                   "_generatedClass=" + _generatedClass +
082                   '\n' +
083                   ", _expression=" + _expression +
084                   '\n' +
085                   ", _root=" + _root +
086                   '\n' +
087                   ", _getterMethod=" + _getterMethod +
088                   '\n' +
089                   ", _setterMethod=" + _setterMethod +
090                   '\n' +
091                   ']';
092        }
093    }