Introduction

  • Object names are added in a number of places for:
    • workflows, jobs, variables, resource locks, file order sources, job resources, folders,
    • calendars, schedules, script includes.
  • This article explains naming rules to be considered when adding object names and labels.
  • JS7 does not enforce naming conventions for objects: users are free to choose naming conventions at their own will, e.g. for job names using:
    • camel case style as in: loadDataWarehouseDaily
    • mixed style as in: DataWarehouse-Load-Daily

Character Set

JS7 basically allows the use of Unicode characters for object names.

Object Names

In addition a number of restrictions apply:

  • Naming Rules
    • The following naming rules have to be considered for Java object names: https://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.8
    • No control characters are allowed: [^\\x00-\\x1F\\x7F\\x80-\\x9F]
    • No punctuation characters are allowed. However, dots '.', underscore '_' and dash '-' are allowed: [^\\x20-\\x2C\\x2F\\x3A-\\x40\\x5B-\\x5E\\x60\\x7B-\\x7E\\xA0-\\xBF\\xD7\\xF7]
      • Dot: is not allowed as a leading or trailing character and two dots in sequence are not allowed.
      • Dash: is not allowed as a leading or trailing character and two dashes in sequence are not allowed.
      • Brackets are not allowed [({})]
    • Half-width characters are not allowed, see Halfwidth and Fullwidth Forms (Unicode block).
    • Spaces are not allowed.
    • Object Names may start with a digit.
    • Use of Java reserved keywords is not allowed:
      • "abstract", "continue", "for", "new", "switch", "assert", "default", "goto", "package", "synchronized", "boolean", "do", "if", "private", "this", "break", "double", "implements", "protected", "throw", "byte", "else", "import", "public", "throws", "case", "enum", "instanceof", "return", "transient", "catch",  "extends", "int", "short", "try", "char", "final", "interface", "static", "void", "class", "finally", "long", "strictfp", "volatile", "const", "float", "native", "super", "while"
      • Example: use of the reserved keyword "switch" is not allowed, use of "myswitch" is allowed.
  • Examples
    • National language characters such as Japanese:
      • こんにちは世界
    • Use of dot, dash, underscore:
      • Say.Hello
      • Say-Hello
      • say_hello

Labels

More relaxed rules apply to labels that are used to indicate the position of a job and order in a workflow:

  • Labels can start with digits, characters, _
  • Labels can include $, _, -, #, :, !
  • Labels cannot include whatever is not allowed for Object Names, e.g. no quotes, no spaces, [, ], {, }, /, \, =, +

Uniqueness of Object Names

Object Names in JS7 are unique per object type, e.g. per workflow, job, resource lock etc.

  • Users can add Object Names with any uppercase/lowercase spelling.
  • The object name is preserved by the JOC Cockpit GUI exactly as typed by the user.
  • However, users cannot add the same Object Name with a different spelling: assume an existing Object Name "myLock", then a new object with the name "mylock" cannot be created.

Length of Object Names

The maximum length of object names is as follows:

  • Basically object names can consume up to 255 Unicode characters.
  • The following restriction applies:
    • Objects typically are located in folders: the overall length of the folder hierarchy and object name may not exceed 255 characters.
  • Branches within a JS7 - Fork-Join Instruction are limited to 10 characters.
    • Branches can be nested for up to 15 levels.



  • No labels