public interface IFieldResultFormatter
Example:
Shows how to control how the field result is formatted.public void insertCustomFormattingField() throws Exception { Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); doc.getFieldOptions().setResultFormatter(new FieldResultFormatter("${0}", "Date: {0}", "Item # {0}:")); // Insert a field with a numeric format builder.insertField(" = 2 + 3 \\# $###", null); // Insert a field with a date/time format builder.insertField("DATE \\@ \"d MMMM yyyy\"", null); // Insert a field with a general format builder.insertField("QUOTE \"2\" \\* Ordinal", null); // Formats will be applied and recorded by the formatter during the field update doc.updateFields(); ((FieldResultFormatter) doc.getFieldOptions().getResultFormatter()).printInvocations(); // Our formatter has also overridden the formats that were originally applied in the fields Assert.assertEquals(doc.getRange().getFields().get(0).getResult(), "$5"); Assert.assertTrue(doc.getRange().getFields().get(1).getResult().startsWith("Date: ")); Assert.assertEquals(doc.getRange().getFields().get(2).getResult(), "Item # 2:"); } /// <summary> /// Custom IFieldResult implementation that applies formats and tracks format invocations /// </summary> private static class FieldResultFormatter implements IFieldResultFormatter { public FieldResultFormatter(final String numberFormat, final String dateFormat, final String generalFormat) { mNumberFormat = numberFormat; mDateFormat = dateFormat; mGeneralFormat = generalFormat; } public String formatNumeric(final double value, final String format) { mNumberFormatInvocations.add(new Object[]{value, format}); return (mNumberFormat == null || "".equals(mNumberFormat)) ? null : MessageFormat.format(mNumberFormat, value); } public String formatDateTime(final Date value, final String format, final int calendarType) { mDateFormatInvocations.add(new Object[]{value, format, calendarType}); return (mDateFormat == null || "".equals(mDateFormat)) ? null : MessageFormat.format(mDateFormat, value); } public String format(final String value, final int format) { return format((Object) value, format); } public String format(final double value, final int format) { return format((Object) value, format); } private String format(final Object value, final int format) { mGeneralFormatInvocations.add(new Object[]{value, format}); return (mGeneralFormat == null || "".equals(mGeneralFormat)) ? null : MessageFormat.format(mGeneralFormat, value); } public void printInvocations() { System.out.println(MessageFormat.format("Number format invocations ({0}):", mNumberFormatInvocations.size())); for (Object[] s : (Iterable<Object[]>) mNumberFormatInvocations) { System.out.println("\tValue: " + s[0] + ", original format: " + s[1]); } System.out.println(MessageFormat.format("Date format invocations ({0}):", mDateFormatInvocations.size())); for (Object[] s : (Iterable<Object[]>) mDateFormatInvocations) { System.out.println("\tValue: " + s[0] + ", original format: " + s[1] + ", calendar type: " + s[2]); } System.out.println(MessageFormat.format("General format invocations ({0}):", mGeneralFormatInvocations.size())); for (Object[] s : (Iterable<Object[]>) mGeneralFormatInvocations) { System.out.println("\tValue: " + s[0] + ", original format: " + s[1]); } } private String mNumberFormat; private String mDateFormat; private String mGeneralFormat; private ArrayList mNumberFormatInvocations = new ArrayList(); private ArrayList mDateFormatInvocations = new ArrayList(); private ArrayList mGeneralFormatInvocations = new ArrayList(); }
Method Summary | ||
---|---|---|
abstract java.lang.String | format(double value, int format) | |
Called when Aspose.Words applies a number format switch, i.e. \* Ordinal.
|
||
abstract java.lang.String | format(java.lang.String value, int format) | |
Called when Aspose.Words applies a capitalization format switch, i.e. \* Upper.
|
||
abstract java.lang.String | formatDateTime(java.util.Date value, java.lang.String format, int calendarType) | |
Called when Aspose.Words applies a date/time format switch, i.e. \@ "dd.MM.yyyy".
|
||
abstract java.lang.String | formatNumeric(double value, java.lang.String format) | |
Called when Aspose.Words applies a numeric format switch, i.e. \# "#.##".
|
public abstract java.lang.String format(double value, int format)
format
- A GeneralFormat value.Example:
Shows how to control how the field result is formatted.public void insertCustomFormattingField() throws Exception { Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); doc.getFieldOptions().setResultFormatter(new FieldResultFormatter("${0}", "Date: {0}", "Item # {0}:")); // Insert a field with a numeric format builder.insertField(" = 2 + 3 \\# $###", null); // Insert a field with a date/time format builder.insertField("DATE \\@ \"d MMMM yyyy\"", null); // Insert a field with a general format builder.insertField("QUOTE \"2\" \\* Ordinal", null); // Formats will be applied and recorded by the formatter during the field update doc.updateFields(); ((FieldResultFormatter) doc.getFieldOptions().getResultFormatter()).printInvocations(); // Our formatter has also overridden the formats that were originally applied in the fields Assert.assertEquals(doc.getRange().getFields().get(0).getResult(), "$5"); Assert.assertTrue(doc.getRange().getFields().get(1).getResult().startsWith("Date: ")); Assert.assertEquals(doc.getRange().getFields().get(2).getResult(), "Item # 2:"); } /// <summary> /// Custom IFieldResult implementation that applies formats and tracks format invocations /// </summary> private static class FieldResultFormatter implements IFieldResultFormatter { public FieldResultFormatter(final String numberFormat, final String dateFormat, final String generalFormat) { mNumberFormat = numberFormat; mDateFormat = dateFormat; mGeneralFormat = generalFormat; } public String formatNumeric(final double value, final String format) { mNumberFormatInvocations.add(new Object[]{value, format}); return (mNumberFormat == null || "".equals(mNumberFormat)) ? null : MessageFormat.format(mNumberFormat, value); } public String formatDateTime(final Date value, final String format, final int calendarType) { mDateFormatInvocations.add(new Object[]{value, format, calendarType}); return (mDateFormat == null || "".equals(mDateFormat)) ? null : MessageFormat.format(mDateFormat, value); } public String format(final String value, final int format) { return format((Object) value, format); } public String format(final double value, final int format) { return format((Object) value, format); } private String format(final Object value, final int format) { mGeneralFormatInvocations.add(new Object[]{value, format}); return (mGeneralFormat == null || "".equals(mGeneralFormat)) ? null : MessageFormat.format(mGeneralFormat, value); } public void printInvocations() { System.out.println(MessageFormat.format("Number format invocations ({0}):", mNumberFormatInvocations.size())); for (Object[] s : (Iterable<Object[]>) mNumberFormatInvocations) { System.out.println("\tValue: " + s[0] + ", original format: " + s[1]); } System.out.println(MessageFormat.format("Date format invocations ({0}):", mDateFormatInvocations.size())); for (Object[] s : (Iterable<Object[]>) mDateFormatInvocations) { System.out.println("\tValue: " + s[0] + ", original format: " + s[1] + ", calendar type: " + s[2]); } System.out.println(MessageFormat.format("General format invocations ({0}):", mGeneralFormatInvocations.size())); for (Object[] s : (Iterable<Object[]>) mGeneralFormatInvocations) { System.out.println("\tValue: " + s[0] + ", original format: " + s[1]); } } private String mNumberFormat; private String mDateFormat; private String mGeneralFormat; private ArrayList mNumberFormatInvocations = new ArrayList(); private ArrayList mDateFormatInvocations = new ArrayList(); private ArrayList mGeneralFormatInvocations = new ArrayList(); }
public abstract java.lang.String format(java.lang.String value, int format)
format
- A GeneralFormat value.Example:
Shows how to control how the field result is formatted.public void insertCustomFormattingField() throws Exception { Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); doc.getFieldOptions().setResultFormatter(new FieldResultFormatter("${0}", "Date: {0}", "Item # {0}:")); // Insert a field with a numeric format builder.insertField(" = 2 + 3 \\# $###", null); // Insert a field with a date/time format builder.insertField("DATE \\@ \"d MMMM yyyy\"", null); // Insert a field with a general format builder.insertField("QUOTE \"2\" \\* Ordinal", null); // Formats will be applied and recorded by the formatter during the field update doc.updateFields(); ((FieldResultFormatter) doc.getFieldOptions().getResultFormatter()).printInvocations(); // Our formatter has also overridden the formats that were originally applied in the fields Assert.assertEquals(doc.getRange().getFields().get(0).getResult(), "$5"); Assert.assertTrue(doc.getRange().getFields().get(1).getResult().startsWith("Date: ")); Assert.assertEquals(doc.getRange().getFields().get(2).getResult(), "Item # 2:"); } /// <summary> /// Custom IFieldResult implementation that applies formats and tracks format invocations /// </summary> private static class FieldResultFormatter implements IFieldResultFormatter { public FieldResultFormatter(final String numberFormat, final String dateFormat, final String generalFormat) { mNumberFormat = numberFormat; mDateFormat = dateFormat; mGeneralFormat = generalFormat; } public String formatNumeric(final double value, final String format) { mNumberFormatInvocations.add(new Object[]{value, format}); return (mNumberFormat == null || "".equals(mNumberFormat)) ? null : MessageFormat.format(mNumberFormat, value); } public String formatDateTime(final Date value, final String format, final int calendarType) { mDateFormatInvocations.add(new Object[]{value, format, calendarType}); return (mDateFormat == null || "".equals(mDateFormat)) ? null : MessageFormat.format(mDateFormat, value); } public String format(final String value, final int format) { return format((Object) value, format); } public String format(final double value, final int format) { return format((Object) value, format); } private String format(final Object value, final int format) { mGeneralFormatInvocations.add(new Object[]{value, format}); return (mGeneralFormat == null || "".equals(mGeneralFormat)) ? null : MessageFormat.format(mGeneralFormat, value); } public void printInvocations() { System.out.println(MessageFormat.format("Number format invocations ({0}):", mNumberFormatInvocations.size())); for (Object[] s : (Iterable<Object[]>) mNumberFormatInvocations) { System.out.println("\tValue: " + s[0] + ", original format: " + s[1]); } System.out.println(MessageFormat.format("Date format invocations ({0}):", mDateFormatInvocations.size())); for (Object[] s : (Iterable<Object[]>) mDateFormatInvocations) { System.out.println("\tValue: " + s[0] + ", original format: " + s[1] + ", calendar type: " + s[2]); } System.out.println(MessageFormat.format("General format invocations ({0}):", mGeneralFormatInvocations.size())); for (Object[] s : (Iterable<Object[]>) mGeneralFormatInvocations) { System.out.println("\tValue: " + s[0] + ", original format: " + s[1]); } } private String mNumberFormat; private String mDateFormat; private String mGeneralFormat; private ArrayList mNumberFormatInvocations = new ArrayList(); private ArrayList mDateFormatInvocations = new ArrayList(); private ArrayList mGeneralFormatInvocations = new ArrayList(); }
public abstract java.lang.String formatDateTime(java.util.Date value, java.lang.String format, int calendarType)
calendarType
- A CalendarType value.Example:
Shows how to control how the field result is formatted.public void insertCustomFormattingField() throws Exception { Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); doc.getFieldOptions().setResultFormatter(new FieldResultFormatter("${0}", "Date: {0}", "Item # {0}:")); // Insert a field with a numeric format builder.insertField(" = 2 + 3 \\# $###", null); // Insert a field with a date/time format builder.insertField("DATE \\@ \"d MMMM yyyy\"", null); // Insert a field with a general format builder.insertField("QUOTE \"2\" \\* Ordinal", null); // Formats will be applied and recorded by the formatter during the field update doc.updateFields(); ((FieldResultFormatter) doc.getFieldOptions().getResultFormatter()).printInvocations(); // Our formatter has also overridden the formats that were originally applied in the fields Assert.assertEquals(doc.getRange().getFields().get(0).getResult(), "$5"); Assert.assertTrue(doc.getRange().getFields().get(1).getResult().startsWith("Date: ")); Assert.assertEquals(doc.getRange().getFields().get(2).getResult(), "Item # 2:"); } /// <summary> /// Custom IFieldResult implementation that applies formats and tracks format invocations /// </summary> private static class FieldResultFormatter implements IFieldResultFormatter { public FieldResultFormatter(final String numberFormat, final String dateFormat, final String generalFormat) { mNumberFormat = numberFormat; mDateFormat = dateFormat; mGeneralFormat = generalFormat; } public String formatNumeric(final double value, final String format) { mNumberFormatInvocations.add(new Object[]{value, format}); return (mNumberFormat == null || "".equals(mNumberFormat)) ? null : MessageFormat.format(mNumberFormat, value); } public String formatDateTime(final Date value, final String format, final int calendarType) { mDateFormatInvocations.add(new Object[]{value, format, calendarType}); return (mDateFormat == null || "".equals(mDateFormat)) ? null : MessageFormat.format(mDateFormat, value); } public String format(final String value, final int format) { return format((Object) value, format); } public String format(final double value, final int format) { return format((Object) value, format); } private String format(final Object value, final int format) { mGeneralFormatInvocations.add(new Object[]{value, format}); return (mGeneralFormat == null || "".equals(mGeneralFormat)) ? null : MessageFormat.format(mGeneralFormat, value); } public void printInvocations() { System.out.println(MessageFormat.format("Number format invocations ({0}):", mNumberFormatInvocations.size())); for (Object[] s : (Iterable<Object[]>) mNumberFormatInvocations) { System.out.println("\tValue: " + s[0] + ", original format: " + s[1]); } System.out.println(MessageFormat.format("Date format invocations ({0}):", mDateFormatInvocations.size())); for (Object[] s : (Iterable<Object[]>) mDateFormatInvocations) { System.out.println("\tValue: " + s[0] + ", original format: " + s[1] + ", calendar type: " + s[2]); } System.out.println(MessageFormat.format("General format invocations ({0}):", mGeneralFormatInvocations.size())); for (Object[] s : (Iterable<Object[]>) mGeneralFormatInvocations) { System.out.println("\tValue: " + s[0] + ", original format: " + s[1]); } } private String mNumberFormat; private String mDateFormat; private String mGeneralFormat; private ArrayList mNumberFormatInvocations = new ArrayList(); private ArrayList mDateFormatInvocations = new ArrayList(); private ArrayList mGeneralFormatInvocations = new ArrayList(); }
public abstract java.lang.String formatNumeric(double value, java.lang.String format)
Example:
Shows how to control how the field result is formatted.public void insertCustomFormattingField() throws Exception { Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); doc.getFieldOptions().setResultFormatter(new FieldResultFormatter("${0}", "Date: {0}", "Item # {0}:")); // Insert a field with a numeric format builder.insertField(" = 2 + 3 \\# $###", null); // Insert a field with a date/time format builder.insertField("DATE \\@ \"d MMMM yyyy\"", null); // Insert a field with a general format builder.insertField("QUOTE \"2\" \\* Ordinal", null); // Formats will be applied and recorded by the formatter during the field update doc.updateFields(); ((FieldResultFormatter) doc.getFieldOptions().getResultFormatter()).printInvocations(); // Our formatter has also overridden the formats that were originally applied in the fields Assert.assertEquals(doc.getRange().getFields().get(0).getResult(), "$5"); Assert.assertTrue(doc.getRange().getFields().get(1).getResult().startsWith("Date: ")); Assert.assertEquals(doc.getRange().getFields().get(2).getResult(), "Item # 2:"); } /// <summary> /// Custom IFieldResult implementation that applies formats and tracks format invocations /// </summary> private static class FieldResultFormatter implements IFieldResultFormatter { public FieldResultFormatter(final String numberFormat, final String dateFormat, final String generalFormat) { mNumberFormat = numberFormat; mDateFormat = dateFormat; mGeneralFormat = generalFormat; } public String formatNumeric(final double value, final String format) { mNumberFormatInvocations.add(new Object[]{value, format}); return (mNumberFormat == null || "".equals(mNumberFormat)) ? null : MessageFormat.format(mNumberFormat, value); } public String formatDateTime(final Date value, final String format, final int calendarType) { mDateFormatInvocations.add(new Object[]{value, format, calendarType}); return (mDateFormat == null || "".equals(mDateFormat)) ? null : MessageFormat.format(mDateFormat, value); } public String format(final String value, final int format) { return format((Object) value, format); } public String format(final double value, final int format) { return format((Object) value, format); } private String format(final Object value, final int format) { mGeneralFormatInvocations.add(new Object[]{value, format}); return (mGeneralFormat == null || "".equals(mGeneralFormat)) ? null : MessageFormat.format(mGeneralFormat, value); } public void printInvocations() { System.out.println(MessageFormat.format("Number format invocations ({0}):", mNumberFormatInvocations.size())); for (Object[] s : (Iterable<Object[]>) mNumberFormatInvocations) { System.out.println("\tValue: " + s[0] + ", original format: " + s[1]); } System.out.println(MessageFormat.format("Date format invocations ({0}):", mDateFormatInvocations.size())); for (Object[] s : (Iterable<Object[]>) mDateFormatInvocations) { System.out.println("\tValue: " + s[0] + ", original format: " + s[1] + ", calendar type: " + s[2]); } System.out.println(MessageFormat.format("General format invocations ({0}):", mGeneralFormatInvocations.size())); for (Object[] s : (Iterable<Object[]>) mGeneralFormatInvocations) { System.out.println("\tValue: " + s[0] + ", original format: " + s[1]); } } private String mNumberFormat; private String mDateFormat; private String mGeneralFormat; private ArrayList mNumberFormatInvocations = new ArrayList(); private ArrayList mDateFormatInvocations = new ArrayList(); private ArrayList mGeneralFormatInvocations = new ArrayList(); }