001 /* 002 * Copyright 2011 The Kuali Foundation. 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.kuali.kfs.sys; 017 018 import org.kuali.rice.kns.util.KualiDecimal; 019 import org.kuali.rice.kns.util.KualiInteger; 020 021 import uk.ltd.getahead.dwr.ConversionException; 022 import uk.ltd.getahead.dwr.Converter; 023 import uk.ltd.getahead.dwr.ConverterManager; 024 import uk.ltd.getahead.dwr.InboundContext; 025 import uk.ltd.getahead.dwr.InboundVariable; 026 import uk.ltd.getahead.dwr.Messages; 027 import uk.ltd.getahead.dwr.OutboundContext; 028 import uk.ltd.getahead.dwr.compat.BaseV10Converter; 029 030 /** 031 * Converter for all Kuali Numbers (KualiDecimal & KualiInteger) 032 * 033 * @see org.kuali.rice.kns.util.KualiDecimal 034 * @see org.kuali.rice.kns.util.KualiInteger 035 */ 036 public class KualiNumberConverter extends BaseV10Converter implements Converter { 037 /** 038 * @see uk.ltd.getahead.dwr.Converter#init(uk.ltd.getahead.dwr.DefaultConfiguration) 039 */ 040 public void setConverterManager(ConverterManager config) { 041 } 042 043 /** 044 * @see uk.ltd.getahead.dwr.Converter#convertInbound(java.lang.Class, java.util.List, uk.ltd.getahead.dwr.InboundVariable, 045 * uk.ltd.getahead.dwr.InboundContext) 046 */ 047 public Object convertInbound(Class paramType, InboundVariable iv, InboundContext inctx) throws ConversionException { 048 String value = iv.getValue(); 049 try { 050 if (paramType == KualiDecimal.class) { 051 return new KualiDecimal(value.trim()); 052 } 053 054 if (paramType == KualiInteger.class) { 055 return new KualiInteger(value.trim()); 056 } 057 058 throw new ConversionException(Messages.getString("BigNumberConverter.NonPrimitive", paramType.getName())); //$NON-NLS-1$ 059 } 060 catch (NumberFormatException ex) { 061 throw new ConversionException(Messages.getString("BigNumberConverter.FormatError", value, paramType.getName()), ex); //$NON-NLS-1$ 062 } 063 } 064 065 /* 066 * (non-Javadoc) 067 * 068 * @see uk.ltd.getahead.dwr.Converter#convertOutbound(java.lang.Object, java.lang.String, uk.ltd.getahead.dwr.OutboundContext) 069 */ 070 public String convertOutbound(Object object, String varname, OutboundContext outctx) { 071 return "var " + varname + "=" + object.toString() + ';'; //$NON-NLS-1$ //$NON-NLS-2$ 072 } 073 }