|The jObject, or Jazz Object', is the fundamental building block object in Jazz applications providing many of the features. All first class Jazz objects inherit from jObject. The jObject has number of attributes including:|
- ACL for the object
- Object Instance Access
- The ability to restrict access to an object instance to specific user, or a user with a role, by setting the ACL.
- Read Only Object Instance
- The ablitiy to make an object instance read only to some users and full access to other users (based on roles).
- Method/Property usage and visibility (security)
(using the Grant construct)
- The ability to restrict method and property usage based on roles.
- The ability to restrict method and property usage based on the state of jObject instance.
- The ability to restrict method and property usage based on the value of another instance property.
To obtain Jazz functionality objects must inherit from jObject. The 'Jazz' attribute is also required.
For each jObject inherited type there will be jClass (jObject schema class)
/// This is a minamalist 'Jazz Class'.
/// The '[Jazz]' attribute and inheriting from jObject are required.
public class MyFirstJazzClass : jObject
// standard C# code can go here
Jazz objects are standard .net objects. Jazz objects are not activated until a 'Bind
' operation binds them to client nexus
On Initial Bind
The method 'OnInitialBind' can be overridden and used as initialization method in an inherited class. When the method is executed all the base fields have been set; however the protection mechanisms
have been activated.
Current and Previous State¶
All jObjects track their current and previous state
. Current and previous state are updated when the jObject executes the 'EnterState' method. Current state will be initialized to the 'start state' if one has been declared in one of the jObject's inherited classes.
If no states have been declared then both Current State and Previous State will be set to the 'empty' state.
Feedback or Comments
- If you want to provide feedback or there is missing, bad or just downright wrong information please let us know. (You will need to sign into Codeplex.)