Automatic generation produced by ISE Eiffel

Classes Clusters Cluster hierarchy Chart Relations Text Flat Contracts Flat contracts Go to:
indexing description: "Formatter for integral numbers" status: "See notice at end of class" names: format_integer date: "$Date: 2001-11-16 20:32:23 +0000 (Fri, 16 Nov 2001) $" revision: "$Revision: 51435 $" class interface FORMAT_INTEGER create make (w: INTEGER) require reasonable_field: w >= 1 ensure blank_fill: fill_character = ' ' show_sign_negative: show_sign_negative no_separator: no_separator width_set: width = w right_justified: right_justified leading_sign: leading_sign feature -- Initialization make (w: INTEGER) require reasonable_field: w >= 1 ensure blank_fill: fill_character = ' ' show_sign_negative: show_sign_negative no_separator: no_separator width_set: width = w right_justified: right_justified leading_sign: leading_sign feature -- Access bracketted_negative: BOOLEAN -- Enclose negative numbers in brackets? fill_character: CHARACTER -- Padding character. justification: INTEGER -- Where in the field the format goes. separator: CHARACTER -- Separator between 1000's of numbers. sign_format: INTEGER -- How the sign is formatted. sign_string: STRING -- Formatting details for the sign. trailing_sign: BOOLEAN -- Is the sign at the end? width: INTEGER -- Width of the field. feature -- Status report centered: BOOLEAN -- Are numbers to be formatted centered? ensure Result = (justification = center_justification) ignore_sign: BOOLEAN -- Ignore the sign of a number? ensure Result = (sign_format = ignore_sign_value) leading_sign: BOOLEAN -- Is the sign leading? ensure Result = not trailing_sign left_justified: BOOLEAN -- Are numbers to be formatted with spaces on the right? ensure Result = (justification = left_justification) no_separator: BOOLEAN -- Is there a separator? ensure Result = (separator = '%U') not_justified: BOOLEAN -- Are numbers to be formatted in smallest string possible ensure Result = (justification = no_justification) right_justified: BOOLEAN -- Are numbers to be formatted with spaces on the left? ensure Result = (justification = right_justification) show_sign: BOOLEAN -- Are numbers to show sign whether positive or negative? ensure Result = (sign_format = show_sign_value) show_sign_negative: BOOLEAN -- Are numbers to show sign only when negative? ensure Result = (sign_format = sign_negative_value) show_sign_positive: BOOLEAN -- Are numbers to show sign only when positive? ensure Result = (sign_format = sign_positive_value) feature -- Status setting asterisk_fill -- Fill numbers with asterisks. ensure fill_character = '*' blank_fill -- Fill numbers with blanks. ensure fill_character = ' ' bracket_negative -- Bracket negative numbers. ensure bracketted_negative center_justify -- Put padding on right and left ensure centered comma_separate -- Set separator to comma. ensure separator = ',' dollar_fill -- Fill numbers with dollars. ensure fill_character = '$' dot_separate -- Set separator to period. ensure separator = '.' left_justify --Put padding on right ensure left_justified no_justify -- Always return the smallest string possible ensure not_justified remove_separator -- Remove the separator. ensure separator = '%U' right_justify -- Put padding on left ensure right_justified set_fill (c: CHARACTER) -- Fill numbers with c ensure fill_character = c set_separator (c: CHARACTER) -- Set the separator to c ensure separator = c set_sign (s: STRING) -- Set sign values for positive, zero, negative -- All values must be the same length. -- Stored as negative, zero, positive. require s /= void s.count >= 3 s.count \\ 3 = 0 ensure sign_string.is_equal (s) set_width (w: INTEGER) -- Set width to w require wide_enough: w >= 1 ensure width = w sign_cr_dr -- Set sign for CR/DR ensure sign_string.is_equal ("CR DR") sign_dr_cr -- Set sign for DR/CR ensure sign_string.is_equal ("DR CR") sign_floating_dollar -- Set sign for floating dollar. ensure sign_string.is_equal ("$$$") sign_floating_dollar_signed -- Set sign for floating dollar include sign. ensure sign_string.is_equal ("-$ $+$") sign_ignore -- Do not show sign. ensure ignore_sign sign_leading -- Set the sign to lead ensure leading_sign sign_negative_only -- Show sign for negative numbers only. ensure show_sign_negative sign_normal -- Set sign for - and +. ensure sign_string.is_equal ("- +") sign_positive_only -- Show sign for positive numbers only. ensure show_sign_positive sign_show -- Show sign for all numbers. ensure show_sign sign_trailing -- Set the sign to trail ensure trailing_sign unbracket_negative -- Do not bracket negative numbers. ensure not bracketted_negative underscore_separate -- Set separator to underscore. ensure separator = '_' zero_fill -- Fill numbers with zeros. ensure fill_character = '0' feature -- Conversion formatted (i: INTEGER): STRING -- Format the integer. ensure exists: Result /= void correct_length: not_justified or Result.count >= width invariant sign_string_constraint: sign_string /= void wide_enough: width >= 1 no_justification <= justification and justification <= right_justification -- from ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) indexing library: "[ EiffelBase: Library of reusable components for Eiffel. ]" status: "[ Copyright 1986-2001 Interactive Software Engineering (ISE). For ISE customers the original versions are an ISE product covered by the ISE Eiffel license and support agreements. ]" license: "[ EiffelBase may now be used by anyone as FREE SOFTWARE to develop any product, public-domain or commercial, without payment to ISE, under the terms of the ISE Free Eiffel Library License (IFELL) at http://eiffel.com/products/base/license.html. ]" source: "[ Interactive Software Engineering Inc. ISE Building 360 Storke Road, Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Electronic mail <info@eiffel.com> Customer support http://support.eiffel.com ]" info: "[ For latest info see award-winning pages: http://eiffel.com ]" end -- class FORMAT_INTEGER
Classes Clusters Cluster hierarchy Chart Relations Text Flat Contracts Flat contracts Go to:

-- Generated by ISE Eiffel --
For more details: www.eiffel.com