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.runtime.tag;
020
021import lucee.runtime.exp.TagNotSupported;
022import lucee.runtime.ext.tag.BodyTagImpl;
023
024/**
025* Runs a predefined Crystal Reports report.
026*
027*
028*
029**/
030public final class Report extends BodyTagImpl {
031        
032        private String template;
033        private String format;
034        private String name;
035        private String filename;
036        private String query;
037        private boolean overwrite;
038        private String encryption;
039        private String ownerpassword;
040        private String userpassword;
041        private String permissions;
042        private String datasource;
043        private String type;
044        private double timeout;
045        private String password;
046        private String orderby;
047        private String report;
048        private String username;
049        private String formula;
050
051
052        /**
053        * constructor for the tag class
054         * @throws TagNotSupported 
055        **/
056        public Report() throws TagNotSupported {
057                // TODO implement tag
058                throw new TagNotSupported("report");
059        }
060
061        /** set the value password
062        * @param password value to set
063        **/
064        public void setPassword(String password)        {
065                this.password=password;
066        }
067
068        /** set the value orderby
069        *  Orders results according to your specifications.
070        * @param orderby value to set
071        **/
072        public void setOrderby(String orderby)  {
073                this.orderby=orderby;
074        }
075
076        /** set the value report
077        * @param report value to set
078        **/
079        public void setReport(String report)    {
080                this.report=report;
081        }
082
083        /** set the value username
084        * @param username value to set
085        **/
086        public void setUsername(String username)        {
087                this.username=username;
088        }
089
090        /** set the value formula
091        *  Specifies one or more named formulas. Terminate each formula specification with a semicolon.
092        * @param formula value to set
093        **/
094        public void setFormula(String formula)  {
095                this.formula=formula;
096        }
097
098
099        @Override
100        public int doStartTag() {
101                return SKIP_BODY;
102        }
103
104        @Override
105        public int doEndTag()   {
106                return EVAL_PAGE;
107        }
108
109        @Override
110        public void doInitBody()        {
111                
112        }
113
114        @Override
115        public int doAfterBody()        {
116                return SKIP_BODY;
117        }
118
119        @Override
120        public void release()   {
121                super.release();
122                password="";
123                orderby="";
124                report="";
125                username="";
126                formula="";
127                
128                template="";
129                format="";
130                name="";
131                filename="";
132                query="";
133                overwrite=false;
134                encryption="";
135                ownerpassword="";
136                userpassword="";
137                permissions="";
138                datasource="";
139                type="";
140                timeout=0;
141        }
142
143        public void addReportParam(ReportParamBean param) {
144                // TODO Auto-generated method stub
145                
146        }
147}