001/**
002 *
003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved.
004 *
005 * This library is free software; you can redistribute it and/or
006 * modify it under the terms of the GNU Lesser General Public
007 * License as published by the Free Software Foundation; either 
008 * version 2.1 of the License, or (at your option) any later version.
009 * 
010 * This library is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
013 * Lesser General Public License for more details.
014 * 
015 * You should have received a copy of the GNU Lesser General Public 
016 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
017 * 
018 **/
019package lucee.transformer.cfml;
020
021import lucee.runtime.config.Config;
022import lucee.transformer.bytecode.Page;
023import lucee.transformer.cfml.evaluator.EvaluatorPool;
024import lucee.transformer.library.function.FunctionLib;
025import lucee.transformer.library.tag.TagLib;
026import lucee.transformer.library.tag.TagLibTag;
027import lucee.transformer.util.CFMLString;
028
029public abstract class Data {
030        
031                public final CFMLString cfml;
032                public final TransfomerSettings settings; 
033                public final TagLib[][] tlibs;
034                public final FunctionLib[] flibs;
035                public final Config config;
036                public final Page page;
037                public final TagLibTag[] scriptTags;
038                public final EvaluatorPool ep;
039                
040                
041            public Data(Page page,CFMLString cfml,EvaluatorPool ep,TransfomerSettings settings,TagLib[][] tlibs,FunctionLib[] flibs,TagLibTag[] scriptTags) {
042                this.config = page.getPageSource().getMapping().getConfig();
043                this.page = page;
044                this.cfml = cfml;
045                this.settings = settings;
046                this.tlibs = tlibs;
047                this.flibs = flibs;
048                        this.scriptTags = scriptTags;
049                        this.ep = ep;
050                }
051        }