1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 package com.sun.star.report.function.metadata; 28 29 import com.sun.star.report.ReportEngineParameterNames; 30 31 import org.pentaho.reporting.libraries.formula.EvaluationException; 32 import org.pentaho.reporting.libraries.formula.FormulaContext; 33 import org.pentaho.reporting.libraries.formula.LibFormulaErrorValue; 34 import org.pentaho.reporting.libraries.formula.function.Function; 35 import org.pentaho.reporting.libraries.formula.function.ParameterCallback; 36 import org.pentaho.reporting.libraries.formula.lvalues.TypeValuePair; 37 import org.pentaho.reporting.libraries.formula.typing.coretypes.TextType; 38 39 /** 40 * 41 * @author Ocke Janssen 42 */ 43 public class AuthorFunction implements Function 44 { 45 46 public String getCanonicalName() 47 { 48 return "AUTHOR"; 49 } 50 51 public TypeValuePair evaluate(final FormulaContext context, final ParameterCallback parameters) 52 throws EvaluationException 53 { 54 if (parameters.getParameterCount() != 0) 55 { 56 throw new EvaluationException(LibFormulaErrorValue.ERROR_ARGUMENTS_VALUE); 57 } 58 59 return new TypeValuePair(TextType.TYPE, context.getConfiguration().getConfigProperty(ReportEngineParameterNames.AUTHOR)); 60 } 61 } 62