package er.extensions.formatters; import com.webobjects.foundation.NSKeyValueCoding; import com.webobjects.foundation.NSNumberFormatter; public class ERXFormatterFactory implements NSKeyValueCoding { public ERXFormatterFactory() { super(); } public ERXMultiplyingNumberFormatter multiplyingFormatter() { return new ERXMultiplyingNumberFormatter(); } public ERXDividingNumberFormatter dividingFormatter() { return new ERXDividingNumberFormatter(); } public NSNumberFormatter bytesToKilobytesFormatter() { return ERXNumberFormatter.numberFormatterForPattern("(/1024=)0.00"); } public NSNumberFormatter megabytesToKilobytesFormatter() { return ERXNumberFormatter.numberFormatterForPattern("(*1024=)0.00"); } public NSNumberFormatter bytesToMegabytesFormatter() { return ERXNumberFormatter.numberFormatterForPattern("(/1048576=)0.00"); } public NSNumberFormatter megabytesToBytesFormatter() { return ERXNumberFormatter.numberFormatterForPattern("(*1048576=)0.00"); } public Object valueForKey(String key) { Object result = null; try { result = NSKeyValueCoding.DefaultImplementation.valueForKey(this, key); } catch (UnknownKeyException ex) { result = ERXNumberFormatter.numberFormatterForPattern(key); } return result; } public void takeValueForKey(Object object, String key) { ERXNumberFormatter.setNumberFormatterForPattern((NSNumberFormatter)object, key); } }