Package wt.eff.format

Class AlphaNumericUnitEffFormat

All Implemented Interfaces:
Externalizable, Serializable, EffFormat

public class AlphaNumericUnitEffFormat extends UnitEffFormat implements Externalizable
This format supports fixed-length effectivity statements with an optional prefix, a fixed-length numeric portion (with a max. length of 18) and an optional suffix. The prefix and suffix can contain wildcards along with any other characters - including letters, digits, special characters like dashes and so on.
This format accepts the following configurable parameters:
  • length
    • Description: Enforces effectivity statements adhering to this format, to have a fixed length. This parameter represents the total length of the effectivity range values (including optional prefix and suffix). This format supports a maximum length of 18 digits for the numerical (ordinal) part of the effectivity range value. Prefixes and suffixes can be of any (fixed) length.
    • Type: Positive Integer (Number), less than 18.
    • Special Values: None
    • Required: Yes
    • Default: N/A
    • Examples: 3, 6, 8.
  • prefix
    • Description: If specified, effectivity statements must have this prefix (can contain wildcards). It can consist of any character (alphabetic, numeric or special characters, except white space characters). Although wildcards are treated differently and represent a set of characters that match against them.
    • Type: String.
    • Special Values: "" representing an empty (non-existing) prefix
    • Supported Wildcards:
      • '_' : Represents a letter (a-z, A-Z) or numeric character (0-9)
      • '^' : Represents a letter (a-z, A-Z)
      • '#' : Represents a numeric character (0-9)
    • Required: No (If not specified, range values will not be verified for any prefixes)
    • Default: ""
    • Examples: "ABC", "A_C", "###", "___"
  • suffix
    • Description: If specified, effectivity statements must have this suffix (can contain wildcards). It can consist of any character (alphabetic, numeric or special characters, except white space characters). Although wildcards are treated differently and represent a set of characters that match against them.
    • Type: String.
    • Special Values: "" representing an empty (non-existing) suffix
    • Supported Wildcards:
      • '_' : Represents a letter (a-z, A-Z) or numeric character (0-9)
      • '^' : Represents a letter (a-z, A-Z)
      • '#' : Represents a numeric character (0-9)
    • Required: No (If not specified, range values will not be verified for any suffixes)
    • Default: ""
    • Examples: "ABC", "A_C", "###", "___"
Thus, an effecitivity statement that adheres to this format consists of:
  1. An (optional) masked* prefix.
  2. A fixed-length numerical portion, that represents the ordinal value. This value is used by this format for comparisons of effectivity range values and range arithmetic. See the JavaDoc's for compareRangeValues() and supportsRangeArithmetic() for more information on these use cases.
  3. An (optional) masked* suffix.
Note: It is optional to specify a prefix or a suffix for this format. The only required parameter to this format is the length. If no prefix or suffix is specified, and only the length specified, the format considers that the entire range value consists of numerical digits (fixed-length) and behaves like the Numeric Unit Effectivity Format. Both formats exist to provide flexibility in the decision of choosing an effectivity format.

(*) This format supports wildcards as part of the prefix and suffix specification. This allows users to specify a wildcard in the specification of the prefix or suffix, which is matched with certain categories of characters at runtime.
Effectivity formats in this package are driven by parameters that dictate operations they support. See the Customizer's Guide for explanation on how to specify the format a traceable business object supports along with the parameters it accepts.
Also, consult the Customizer's Guide for details on how to specify the masked character positions. As an example, the masked string "##GC-^" represents any of following effectivity range values:
98GC-A
67GC-A
76GC-D
76GC-Y



Supported API: true

Extendable: true
Since:
Windchill 9.0
See Also: