dWebSpec Dictionary
CONTEXT: descriptors->behavior-logic




All Details Standard Only Platform Only
Structured Web info and helpTechnologies
 Home Page
 Product Page
 Download Page
 Feedback
Javascript Tree Menu

Results for:

 behavior-logic 
Prev  Topic  Next

Whereas the define type behavior captures all objects that the page has access to, the logic type behavior captures the logical expressions used on the page. Such usage involves the visibility or enable statuses of segments or elements. These logical expressions could be explicitly stated in the attributes of the descriptors without separate behavior definitions. There are some useful purposes for these definitions. One primary reason is that, in the early part of the specification, it could be known that a segment would be displayed when the user has outstanding debt, without knowing, at that point, what expression would determine this. An entry in the logic type behavior descriptor would capture this with descriptive ID like user_has_debt; this would then be expanded on subsequently with the rest of the entries. The definition in one place with expressive identifier that could be used in many places also has its advantage.

The other reason is that logical expressions could be cryptic and platform dependent. For example, a check for empty string could look like this {theString == null || theString.lenth()= 0}. dWebSpec defines a minimum set of logical operations, in plain English. At implementation, or pre-implementation time, these could be converted to platform specific terms.

 JSF  

The behavior logic descriptor example is shown below.

BEHAVIOR DESCRIPTORS

id

type

data-source

value

define-id

define-class

define-scope

details

debtorFlag less-than {customerBean.balance} 0        

The definition resides in this descriptor, but it would be referenced in other descriptors like element and segment. This logic could then be applied for the presentation attributes, like visible (render) or enable.

A list of logic types is provided below, and their equivalents on the JSF platform. Explanations are provided where necessary.

dWebSpec Logical Behavior TypeDescription JSF equivalent
equal  #{object.property eq value}
not-equal  #{object.property ne value}
greater-equal  #{object.property ge value}
greater-than  #{object.property gt value}
less-equal  #{object.property le value}
less-than  #{object.property lt value}
emptyNull object or empty string #{object.property empty}
not-emptyNot null object and not empty string #{object.property not empty}
present Present within a list. For instance role present; whether a user role is present within a list of roles. This could also be used to verify presence of cookies and header entries. Authentication objects could be exposed through the backing beans and needed verification could be performed using general expressions.
not-presentNot present within a list. For instance role not present; whether a user role is not present within a list of roles.Move to struts: <logic:present role="SERVICE,SYSTEM">
expressionThe standard logic types are defined to provide for easy to read specification documentations. The expression using target platform syntax could also be needed to enhance precision in the specification./td> "#{ logical-expression }"

The applications of these behaviors are to the segment and elements; discussions on their implementations are discussed in the related descriptors.

The entries in the descriptor is used to compose the logic expression. For all the standard logic the composition is like this.

Attributedata-sourcelogic-typevalue
Examples(object.property>40)

More details are available in the attributes descriptions

type id data-source value define-id define-class define-scope

Prev Next