org.sandev.ui.structs
Class SandUIStruct

java.lang.Object
  extended by org.sandev.ui.structs.SandUIStruct
Direct Known Subclasses:
SandUI

public class SandUIStruct
extends java.lang.Object

A display independent model of screen transitions.

Provides main entry points (top level screens), default display templates, unauthenticated (public) access definitions, default security and locale information.

A SandUI consists of one or more display screens, which in turn contain links to other screens. These screens, and the links between them, are used to model transitions at the application (screen flow) level. This is related to, but distinguished from the workflow (business process management) level. Where the user flow of control involves significant branching logic, multiple operations within a single application, operations across multiple applications, or other processing beyond the scope of screenflow, it is strongly recommended that the application UI(s) be further wrapped and driven through an appropriate workflow interface.

Localization of a SandUI follows the standard Locale model (language_country_variant), with optional constraints on the set of allowed values. If no constraints are specified, the locale is determined by the execution environment. See the locale* fields and the Locale class (in the J2SE) for details.

This message can be transmitted directly outside of a verb form.
This message has the following verb forms: update

Field Summary
protected  int defaultSecurity
          The default interface display transmission security.
protected  java.lang.String defaultTemplate
          The default rendering transformation template name.
protected  java.lang.String[] entryPoints
          The names of the screens which are top level entry points.
protected  java.lang.String errorTemplate
          Transformation template for the error display.
protected  int initialDisplay
          If no public user is specified, then this indicates which initial display should be used.
protected  java.lang.String[] localeCountries
          If empty, then all countries are implicitely supported in this UI.
protected  java.lang.String[] localeLanguages
          If empty, then all languages are implicitly supported in this UI.
protected  java.lang.String[] localeVariants
          If empty, then all variants are implicitely supported in this UI.
protected  java.lang.String loginTemplate
          Transformation template for the login display.
protected  java.lang.String name
          A name identifying this instance.
protected  long publicAuthUserID
          If the specified value resolves to an AuthUser, then anyone can access the application as that AuthUser.
protected  ScreenStruct[] screens
          The screens defined for this UI.
protected  java.lang.String welcomeTemplate
          Transformation template for the welcome screen.
 
Constructor Summary
SandUIStruct()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

protected java.lang.String name
A name identifying this instance.

the values for this field are unique.
declared invalid value: ""

defaultTemplate

protected java.lang.String defaultTemplate
The default rendering transformation template name. This is the display template used unless overridden at the screen level. See the SandTransformer interface for more information on templates.

declared invalid value: "INVALID_TEMPLATE_NAME"
Length in characters, normal: 20 max: 80

defaultSecurity

protected int defaultSecurity
The default interface display transmission security. For interfaces where an intermediate display representation is transmitted between machines (such as sending HTML between a server and a browser), the security of this transmission can be an issue. By default, this setting is used for all screens. Each screen can either accept this default or require secure transmission.

For direct displays (such as a typical GUI app) this value may be irrelevant.

declared default value: NORMAL

enumerated constant values:

  • NORMAL("normal") = 0
  • SECURE("secure") = 1
"is" boolean methods are generated for this field.
declared invalid value: -1

publicAuthUserID

protected long publicAuthUserID
If the specified value resolves to an AuthUser, then anyone can access the application as that AuthUser. Resolution depends on the AuthUserLookup in use by the SandUIAdaptor. If the value does not specify an AuthUser, then users must login before using any part of the SandUI.

range match expression: >= 0
Length in characters, normal: 5 max: 20
declared printname: public AuthUser ID
help text: The uniqueID of the public user, if specified.

welcomeTemplate

protected java.lang.String welcomeTemplate
Transformation template for the welcome screen. If no public user is specified, and the initial display is not a login form, then the user sees a welcome screen with a link to login. This template is applied to the welcome screen. If not specified, then the defaultTemplate is used.

declared invalid value: "INVALID_TEMPLATE_NAME"
Length in characters, normal: 20 max: 80

initialDisplay

protected int initialDisplay
If no public user is specified, then this indicates which initial display should be used. This can be either a welcome screen with a link to login, or the login itself.

declared default value: WELCOME

enumerated constant values:

  • WELCOME("welcome screen") = 0
  • LOGIN("login form") = 1
declared invalid value: -1

loginTemplate

protected java.lang.String loginTemplate
Transformation template for the login display. If login information is gathered through a screen, then this template is applied to the screen. If not specified, then the defaultTemplate is used.

declared invalid value: "INVALID_TEMPLATE_NAME"
Length in characters, normal: 20 max: 80

errorTemplate

protected java.lang.String errorTemplate
Transformation template for the error display. In the event of an untrapped error, the SandUI displays an error screen. This template is applied to the error screen. If not specified, then the defaultTemplate is used.

Note that the error display must still happen even if template transformation fails.

declared invalid value: "INVALID_TEMPLATE_NAME"
Length in characters, normal: 20 max: 80

entryPoints

protected java.lang.String[] entryPoints
The names of the screens which are top level entry points. An application must have at least one main screen, whose name is the first element in this array. Some applications may also have other primary screens which are accessed via specific links or configuration switches.

reference to class: org.sandev.ui.structs.ScreenStruct.name

screens

protected ScreenStruct[] screens
The screens defined for this UI. This includes the top level entryPoints, and all other screens defined for the app. References to screen names are resolved from here.


localeLanguages

protected java.lang.String[] localeLanguages
If empty, then all languages are implicitly supported in this UI. Otherwise only the listed languages will be considered as options when loading resources or translating controls. In either case the best choice is loaded at runtime.

Array entry values are lower-case, two-letter codes as defined by ISO-639.


localeCountries

protected java.lang.String[] localeCountries
If empty, then all countries are implicitely supported in this UI. Otherwise only the listed countries will be considered as options when formatting numbers, loading resources, translating controls etc. In either case, the best choice is loaded at runtime.

The country choices may be constrained by the language choice. Array entry values are upper-case, two-letter codes as defined by ISO-3166.


localeVariants

protected java.lang.String[] localeVariants
If empty, then all variants are implicitely supported in this UI. Otherwise only the listed variants will be considered as options when formatting numbers, loading resources, translating controls etc. In either case, the best choice is loaded at runtime.

Variant values are as defined in the java.util.Locale

Constructor Detail

SandUIStruct

public SandUIStruct()