View Javadoc

1   package com.sharkysoft.printf;
2   
3   import com.sharkysoft.printf.engine.NumberFormatter;
4   
5   abstract class Formatter_Number extends Formatter_Field
6   {
7   
8     final boolean mzVariablePrecision;
9     
10    protected Formatter_Number(final FormatSpecifier ipPfs, final NumberFormatter ipNf)
11    {
12      super(ipPfs, ipNf);
13      mzVariablePrecision = ipPfs.mnPrecision == FormatSpecifier.PRECISION_ARGUMENT;
14    }
15    
16    final int argsRequired()
17    {
18      return 1 + (mzVariablePrecision ? 1 : 0) + (mzVariableWidth ? 1 : 0);
19    }
20  
21      Class[] argTypes() {
22          if (!mzVariableWidth) {
23              if (!mzVariablePrecision) {
24                  return new Class[]{Number.class};
25              } else {
26                  return new Class[]{Number.class, Number.class};
27              }
28          } else {
29              if (!mzVariablePrecision) {
30                  return new Class[]{Number.class, Number.class};
31              } else {
32                  return new Class[]{Number.class, Number.class, Number.class};
33              }
34          }
35      }
36  
37  }
38