Course (3-7-1) Oracle Application Development Framework Part 1
- 1 Introduction to Building Fusion Web Applications with Oracle ADF
- 1.1 Introduction to Oracle ADF
- 1.2 Oracle ADF Architecture
- 1.2.1 ADF Business Components
- 1.2.2 ADF Model Layer
- 1.2.3 ADF Controller
- 1.2.4 ADF Faces Rich Client
- 1.3 Overview of Building an Application with Oracle ADF
- 1.3.1 Creating an Application Workspace
- 1.3.2 Modeling with Database Object Definitions
- 1.3.3 Creating Use Cases
- 1.3.4 Designing Application Control and Navigation Using ADF Task Flows
- 1.3.5 Identifying Shared Resources
- 1.3.6 Creating a Data Model to Access Data with ADF Business Components
- 1.3.6.1 Creating a Layer of Business Domain Objects for Tables
- 1.3.6.2 Building the Business Services
- 1.3.6.3 Testing and Debugging Business Services with the Oracle ADF Model Tester
- 1.3.7 Implementing the User Interface with JSF
- 1.3.8 Data Binding with ADF Model Layer
- 1.3.9 Validation and Error Handling
- 1.3.10 Adding Security
- 1.3.11 Testing and Debugging the Web Client Application
- 1.3.12 Refactoring Application Artifacts
- 1.3.13 Deploying a Fusion Web Application
- 1.3.14 Integrating a Fusion Web Application
- 1.4 Working Productively in Teams
- 1.4.1 Enforcing Standards
- 1.4.2 Using a Source Control System
- 1.5 Other Resources for Learning Oracle ADF
- 1.6 Generation of Complete Web Tier Using Oracle JHeadstart
- 2 Introduction to the ADF Sample Application
- 2.1 About the Oracle Fusion Order Demo
- 2.2 Setting Up the Fusion Order Demo Application
- 2.2.1 How to Download the Application Resources
- 2.2.2 How to Install the Fusion Order Demo Schema
- 2.2.3 Overview of the Fusion Order Demo Schema
- 2.2.3.1 Translation Support in the Fusion Order Demo Schema
- 2.2.3.2 Lookup Tables in the Fusion Order Demo Schema
- 2.3 Running the Fusion Order Demo Application StoreFront Module
- 2.4 Running the Fusion Order Demo Standalone Applications
- 2.4.1 How to Run the Standalone Applications
- 2.4.2 Standalone Applications in the DevGuideExamples Application Workspace
- 2.4.3 Standalone Applications in the AdvancedExamples Application Workspace
- 2.4.4 Standalone Applications in the AdvancedEntityExamples Application Workspace
- 2.4.5 Standalone Applications in the AdvancedViewObjectExamples Application Workspace
- 2.4.6 Standalone Applications in the AdvancedUIExamples Application Workspaces
- 2.5 Taking a Look at the Fusion Order Demo Application
- 2.5.1 Anonymous Browsing
- 2.5.1.1 Viewing Product Details
- 2.5.1.2 Browsing the Product Catalog
- 2.5.1.3 Searching for Products
- 2.5.2 The Login Process
- 2.5.3 The Ordering Process
- 2.5.4 The Customer Registration Process
- 2.5.1 Anonymous Browsing
- 3 Getting Started with ADF Business Components
- 3.1 About ADF Business Components
- 3.1.1 ADF Business Components Features
- 3.1.2 ADF Business Components Core Objects
- 3.2 Comparison to Familiar 4GL Tools
- 3.2.1 Familiar Concepts for Oracle Forms Developers
- 3.2.1.1 Similarities Between the Application Module and a "Headless" Form Module
- 3.2.1.2 Similarities Between the Entity Object and a Forms Record Manager
- 3.2.1.3 Similarities Between the View Object and a Data Block
- 3.2.2 Familiar Concepts for PeopleTools Developers
- 3.2.2.1 Similarities Between the Application Module and a "Headless" Component
- 3.2.2.2 Similarities Between the Entity Object and a Record Definition
- 3.2.2.3 Similarities Between the View Object and a Row Set
- 3.2.3 Familiar Concepts for Siebel Tools Developers
- 3.2.3.1 Similarities Between the entity Object and a Table Object
- 3.2.3.2 Similarities Between the View Object and a Business Component
- 3.2.3.3 Similarities Between the Application Module and a Business Object
- 3.2.4 Familiar Functionality for ADO.NET Developers
- 3.2.4.1 Similarities Between the Application Module and a Data Set
- 3.2.4.2 Similarities Between the Entity Object and a Data Adapter
- 3.2.4.3 Similarities Between the View Object and a Data Table
- 3.2.1 Familiar Concepts for Oracle Forms Developers
- 3.3 Overview of Design Time Facilities
- 3.3.1 Choosing a Connection, SQL Platform, and Data Type Map
- 3.3.2 Creating New Components Using Wizards
- 3.3.3 Creating New Components Using the Context Menu
- 3.3.4 Editing Components Using the Component Overview Editor
- 3.3.5 Displaying Related Components Using Diagrams
- 3.3.6 Visualizing, Creating, and Editing Components Using UML Diagrams
- 3.3.7 Testing Application Modules Using the Oracle ADF Model Tester
- 3.3.8 Refactoring Components
- 3.4 Overview of the Oracle ADF Active Data Model
- 3.4.1 A More Generic Business Service Solution
- 3.4.2 Typical Scenarios for an Active Data Model
- 3.4.3 Active Data Model Support for Custom Code
- 3.5 Overview of the ADF Business Components Implementation
- 3.5.1 Standard Java and XML
- 3.5.2 Application Server or Database Independence
- 3.5.3 Java EE Design Pattern Support
- 3.5.4 Source Code Organization
- 3.5.5 Package Naming Conventions
- 3.5.6 Metadata with Optional Custom Java Code
- 3.5.6.1 Example of an XML-Only Component
- 3.5.6.2 Example of a Component with Custom Java Class
- 3.5.7 Basic Data Types
- 3.5.8 Generic Versus Strongly-Typed APIs
- 3.5.9 Custom Interface Support for Client-Accessible Components
- 3.5.9.1 Framework Client Interfaces for Components
- 3.5.9.2 Custom Client Interfaces for Components
- 3.6 Overview of Groovy Scripting Language Support
- 3.6.1 Referencing Business Components Objects in Groovy Expressions
- 3.6.2 Referencing Custom Business Components Methods and Attributes in Groovy Expressions
- 3.6.2.1 Referencing Members of the Same Business Component
- 3.6.2.2 Referencing Members of Other Business Components
- 3.6.3 Manipulating Business Component Attribute Values in Groovy Expressions
- 3.1 About ADF Business Components
- 4 Creating a Business Domain Layer Using Entity Objects
- 4.1 About Entity Objects
- 4.1.1 Entity Object Use Cases and Examples
- 4.1.2 Additional Functionality for Entity Objects
- 4.2 Creating Entity Objects and Associations
- 4.2.1 How to Create Multiple Entity Objects and Associations from Existing Tables
- 4.2.2 How to Create Single Entity Objects Using the Create Entity Wizard
- 4.2.3 What Happens When You Create Entity Objects and Associations from Existing Tables
- 4.2.3.1 What Happens When Tables Have Foreign Key Relationships
- 4.2.3.2 What Happens When a Table Has No Primary Key
- 4.2.4 What Happens When You Create an Entity Object for a Synonym or View
- 4.2.5 How to Edit an Existing Entity Object or Association
- 4.2.6 How to Create Database Tables from Entity Objects
- 4.2.7 How to Synchronize an Entity with Changes to Its Database Table
- 4.2.7.1 Removing an Attribute Associated with a Dropped Column
- 4.2.7.2 Addressing a Data Type Change in the Underlying Table
- 4.2.8 How to Store Data Pertaining to a Specific Point in Time
- 4.2.9 What Happens When You Create Effective Dated Entity Objects
- 4.2.10 What You May Need to Know About Creating Entities from Tables
- 4.3 Creating and Configuring Associations
- 4.3.1 How to Create an Association
- 4.3.2 What Happens When You Create an Association
- 4.3.3 How to Change Entity Association Accessor Names
- 4.3.4 How to Rename and Move Associations to a Different Package
- 4.3.5 What You May Need to Know About Using a Custom View Object in an Association
- 4.3.6 What You May Need to Know About Composition Associations
- 4.4 Creating an Entity Diagram for Your Business Layer
- 4.4.1 How to Create an Entity Diagram
- 4.4.2 What Happens When You Create an Entity Diagram
- 4.4.3 What You May Need to Know About the XML Component Descriptors
- 4.4.4 What You May Need to Know About Changing the Names of Components
- 4.5 Defining Property Sets
- 4.5.1 How to Define a Property Set
- 4.5.2 How to Apply a Property Set
- 4.6 Defining Attribute Control Hints for Entity Objects
- 4.6.1 How to Add Attribute Control Hints
- 4.6.2 What Happens When You Add Attribute Control Hints
- 4.6.3 How to Define Formatters and Masks
- 4.7 Working with Resource Bundles
- 4.7.1 How to Set Message Bundle Options
- 4.7.2 How to Use Multiple Resource Bundles
- 4.7.3 How to Internationalize the Date Format
- 4.8 Defining Business Logic Groups
- 4.8.1 How to Create a Business Logic Group
- 4.8.2 How to Create a Business Logic Unit
- 4.8.3 How to Add Logic to a Business Logic Unit
- 4.8.4 How to Override Attributes in a Business Logic Unit
- 4.8.5 What Happens When You Create a Business Logic Group
- 4.8.6 What Happens at Runtime: Invoking a Business Logic Group
- 4.9 Configuring Runtime Behavior Declaratively
- 4.9.1 How to Configure Declarative Runtime Behavior
- 4.9.2 What Happens When You Configure Declarative Runtime Behavior
- 4.9.3 How to Use Update Batching
- 4.10 Setting Attribute Properties
- 4.10.1 How to Set Database and Java Data Types for an Entity Object Attribute
- 4.10.2 How to Indicate Data Type Length, Precision, and Scale
- 4.10.3 How to Control the Updatability of an Attribute
- 4.10.4 How to Make an Attribute Mandatory
- 4.10.5 How to Define the Primary Key for the Entity
- 4.10.6 How to Define a Static Default Value
- 4.10.7 How to Define a Default Value Using an Expression
- 4.10.8 What Happens When You Create a Default Value Using a Groovy Expression
- 4.10.9 How to Synchronize with Trigger-Assigned Values
- 4.10.10 How to Get Trigger-Assigned Primary Key Values from a Database Sequence
- 4.10.11 How to Protect Against Losing Simultaneously Updated Data
- 4.10.12 How to Track Created and Modified Dates Using the History Column
- 4.10.13 How to Configure Composition Behavior
- 4.10.13.1 Orphan-Row Protection for New Composed Entities
- 4.10.13.2 Ordering of Changes Saved to the Database
- 4.10.13.3 Cascade Update of Composed Details from Refresh-On-Insert Primary Keys
- 4.10.13.4 Cascade Delete Support
- 4.10.13.5 Cascade Update of Foreign Key Attributes When Primary Key Changes
- 4.10.13.6 Locking of Composite Parent Entities
- 4.10.13.7 Updating of Composing Parent History Attributes
- 4.10.14 How to Set the Discriminator Attribute for Entity Object Inheritance Hierarchies
- 4.10.15 How to Define Alternate Key Values
- 4.10.16 What Happens When You Define Alternate Key Values
- 4.10.17 What You May Need to Know About Alternate Key Values
- 4.11 Adding Transient and Calculated Attributes to an Entity Object
- 4.11.1 How to Add a Transient Attribute
- 4.11.2 What Happens When You Add a Transient Attribute
- 4.11.3 How to Base a Transient Attribute on a Groovy Expression
- 4.11.4 What Happens When You Base a Transient Attribute on a Groovy Expression
- 4.11.5 How to Add Java Code in the Entity Class to Perform Calculation
- 4.12 Creating Business Events
- 4.12.1 Introducing Event Definitions
- 4.12.2 Introducing Event Points
- 4.12.3 What You May Need to Know About Event Points
- 4.12.4 How to Create a Business Event
- 4.12.5 What Happens When You Create a Business Event
- 4.12.6 What You May Need to Know About Payload
- 4.12.7 How to Publish a Business Event
- 4.12.8 How to Subscribe to Business Events
- 4.13 Generating Custom Java Classes for an Entity Object
- 4.13.1 How to Generate Custom Classes
- 4.13.2 What Happens When You Generate Custom Classes
- 4.13.3 What Happens When You Generate Entity Attribute Accessors
- 4.13.4 How to Navigate to Custom Java Files
- 4.13.5 What You May Need to Know About Custom Java Classes
- 4.13.5.1 Framework Base Classes for an Entity Object
- 4.13.5.2 Safely Adding Code to the Custom Component File
- 4.13.5.3 Configuring Default Java Generation Preferences
- 4.13.5.4 Attribute Indexes and InvokeAccessor Generated Code
- 4.13.6 Programmatic Example for Comparison Using Custom Entity Classes
- 4.14 Working Programmatically with Entity Objects and Associations
- 4.14.1 How to Find an Entity Object by Primary Key
- 4.14.2 How to Access an Associated Entity Using the Accessor Attribute
- 4.14.3 How to Update or Remove an Existing Entity Row
- 4.14.4 How to Create a New Entity Row
- 4.14.5 Assigning the Primary Key Value Using an Oracle Sequence
- 4.14.6 How to Update a Deleted Flag Instead of Deleting Rows
- 4.14.6.1 Updating a Deleted Flag When a Row Is Removed
- 4.14.6.2 Forcing an Update DML Operation Instead of a Delete
- 4.14.7 How to Control Entity Posting Order to Prevent Constraint Violations
- 4.14.7.1 Default Post Processing Order
- 4.14.7.2 Compositions and Default Post Processing Order
- 4.14.7.3 Overriding postChanges() to Control Post Order
- 4.14.7.3.1 Observing the Post Ordering Problem First Hand
- 4.14.7.3.2 Forcing the Supplier to Post Before the Product
- 4.14.7.3.3 Associations Based on DBSequence-Valued Primary Keys
- 4.14.7.3.4 Refreshing References to DBSequence-Assigned Foreign Keys
- 4.14.8 Advanced Entity Association Techniques
- 4.14.8.1 Modifying Association SQL Clause to Implement Complex Associations
- 4.14.8.2 Exposing View Link Accessor Attributes at the Entity Level
- 4.14.8.3 Optimizing Entity Accessor Access by Retaining the Row Set
- 4.15 Creating Custom, Validated Data Types Using Domains
- 4.15.1 How to Create a Domain
- 4.15.2 What Happens When You Create a Domain
- 4.15.3 What You May Need to Know About Domains
- 4.15.3.1 Domains as Entity and View Object Attributes
- 4.15.3.2 DataCreationException in Custom validate() Method
- 4.15.3.3 String Domains and String Value Aggregation
- 4.15.3.4 Simple Domains and Built-In Types
- 4.15.3.5 Simple Domains As Immutable Java Classes
- 4.15.3.6 Creating Domains for Oracle Object Types When Useful
- 4.15.3.7 Quickly Navigating to the Domain Class
- 4.15.3.8 Domains Packaged in the Common JAR
- 4.15.3.9 Custom Domain Properties and Attributes in Entity and View Objects
- 4.15.3.10 Inherited Restrictive Properties of Domains in Entity and View Objects
- 4.16 Creating New History Types
- 4.16.1 How to Create New History Types
- 4.16.2 How to Remove a History Type
- 4.17 Basing an Entity Object on a PL/SQL Package API
- 4.17.1 How to Create an Entity Object Based on a View
- 4.17.2 What Happens When You Create an Entity Object Based on a View
- 4.17.3 How to Centralize Details for PL/SQL-Based Entities into a Base Class
- 4.17.4 How to Implement the Stored Procedure Calls for DML Operations
- 4.17.5 How to Add Select and Lock Handling
- 4.17.5.1 Updating PLSQLEntityImpl Base Class to Handle Lock and Select
- 4.17.5.2 Implementing Lock and Select for the Product Entity
- 4.17.5.3 Refreshing the Entity Object After RowInconsistentException
- 4.18 Basing an Entity Object on a Join View or Remote DBLink
- 4.18.1 How to Disable the Use of the RETURNING Clause
- 4.18.2 What Happens at Runtime: Disabling the RETURNING Clause
- 4.19 Using Inheritance in Your Business Domain Layer
- 4.19.1 Understanding When Inheritance Can Be Useful
- 4.19.2 How to Create Entity Objects in an Inheritance Hierarchy
- 4.19.2.1 Identifying the Discriminator Column and Distinct Values
- 4.19.2.2 Identifying the Subset of Attributes Relevant to Each Kind of Entity
- 4.19.2.3 Creating the Base Entity Object in an Inheritance Hierarchy
- 4.19.2.4 Creating a Subtype Entity Object in an Inheritance Hierarchy
- 4.19.3 How to Add Methods to Entity Objects in an Inheritance Hierarchy
- 4.19.3.1 Adding Methods Common to All Entity Objects in the Hierarchy
- 4.19.3.2 Overriding Common Methods in a Subtype Entity Object
- 4.19.3.3 Adding Methods Specific to a Subtype Entity Object
- 4.19.4 What You May Need to Know About Using Inheritance
- 4.19.4.1 When to Introduce a New Base Entity
- 4.19.4.2 Subtype Entity Objects and the findByPrimaryKey() Method
- 4.19.4.3 View Objects with Polymorphic Entity Usages
- 4.1 About Entity Objects
- 5 Defining SQL Queries Using View Objects
- 5.1 About View Objects
- 5.1.1 View Object Use Cases and Examples
- 5.1.2 Additional Functionality for View Objects
- 5.2 Populating View Object Rows from a Single Database Table
- 5.2.1 How to Create an Entity-Based View Object
- 5.2.1.1 Creating an Entity-Based View Object from a Single Table
- 5.2.1.2 Creating a View Object with All the Attributes of an Entity Object
- 5.2.2 What Happens When You Create an Entity-Based View Object
- 5.2.3 How to Create an Expert Mode, Read-Only View Object
- 5.2.4 What Happens When You Create a Read-Only View Object
- 5.2.5 How to Edit a View Object
- 5.2.5.1 Overriding the Inherit Properties from Underlying Entity Object Attributes
- 5.2.5.2 Controlling the Length, Precision, and Scale of View Object Attributes
- 5.2.5.3 Converting a Read-Only View Object to Allow Attribute Updates
- 5.2.5.4 Customizing View Object Attribute Display in the Overview Editor
- 5.2.5.5 Modifying the Order of Attributes in the View Object Source File
- 5.2.6 How to Show View Objects in a Business Components Diagram
- 5.2.1 How to Create an Entity-Based View Object
- 5.3 Populating View Object Rows with Static Data
- 5.3.1 How to Create Static View Objects with Data You Enter
- 5.3.2 How to Create Static View Objects with Data You Import
- 5.3.3 What Happens When You Create a Static List View Object
- 5.3.4 How to Edit Static List View Objects
- 5.3.5 What You May Need to Know About Static List View Objects
- 5.4 Limiting View Object Rows Using Effective Date Ranges
- 5.4.1 How to Create an Date-Effective View Object
- 5.4.2 How to Create New View Rows Using Date-Effective View Objects
- 5.4.3 How to Update Date-Effective View Rows
- 5.4.4 How to Delete Date-Effective View Rows
- 5.4.5 What Happens When You Create a Date-Effective View Object
- 5.4.6 What You May Need to Know About Date-Effective View Objects and View Links
- 5.5 Working with Multiple Tables in Join Query Results
- 5.5.1 How to Create Joins for Entity-Based View Objects
- 5.5.2 How to Select Additional Attributes from Reference Entity Usages
- 5.5.3 How to Remove Unnecessary Key Attributes from Reference Entity Usages
- 5.5.4 How to Hide the Primary Key Attributes from Reference Entity Usages
- 5.5.5 How to Modify a Default Join Clause to Be an Outer Join When Appropriate
- 5.5.6 What Happens When You Reference Entities in a View Object
- 5.5.7 How to Create Joins for Read-Only View Objects
- 5.5.8 How to Test the Join View
- 5.5.9 How to Use the Query Builder with Read-Only View Objects
- 5.5.10 What You May Need to Know About Join View Objects
- 5.6 Working with Multiple Tables in a Master-Detail Hierarchy
- 5.6.1 How to Create a Master-Detail Hierarchy for Read-Only View Objects
- 5.6.2 How to Create a Master-Detail Hierarchy for Entity-Based View Objects
- 5.6.3 What Happens When You Create Master-Detail Hierarchies Using View Links
- 5.6.4 How to Enable Active Master-Detail Coordination in the Data Model
- 5.6.5 How to Test Master-Detail Coordination
- 5.6.6 How to Access the Detail Collection Using the View Link Accessor
- 5.6.6.1 Accessing Attributes of Row by Name
- 5.6.6.2 Programmatically Accessing a Detail Collection Using the View Link Accessor
- 5.6.6.3 Optimizing View Link Accessor Access to Display Master-Detail Data
- 5.6.7 How to Create a Master-Detail Hierarchy for Entity Objects with Transient-Only Attributes
- 5.7 Working with a Single Table in a Recursive Master-Detail Hierarchy
- 5.7.1 How to Create a Recursive Master-Detail Hierarchy for an Entity-Based View Object
- 5.7.1.1 Creating an Association-Based, Self-Referential View Link
- 5.7.1.2 Exposing the View Instance and Filter with a View Criteria
- 5.7.2 What Happens When You Create a Recursive Master-Detail Hierarchy
- 5.7.1 How to Create a Recursive Master-Detail Hierarchy for an Entity-Based View Object
- 5.8 Working with View Objects in Declarative SQL Mode
- 5.8.1 How to Create SQL-Independent View Objects with Declarative SQL Mode
- 5.8.1.1 Enabling Declarative SQL Mode for All New View Objects
- 5.8.1.2 Enabling Declarative SQL Mode for Specific View Objects
- 5.8.2 How to Filter Declarative SQL-Based View Objects When Table Joins Apply
- 5.8.3 How to Filter Master-Detail Related View Objects with Declarative SQL Mode
- 5.8.4 How to Support Programmatic Execution of Declarative SQL Mode View Objects
- 5.8.4.1 Forcing Attribute Queries for All Declarative SQL Mode View Objects
- 5.8.4.2 Forcing Attribute Queries for Specific Declarative SQL Mode View Objects
- 5.8.5 What Happens When You Create a View Object in Declarative SQL Mode
- 5.8.6 What Happens at Runtime: Declarative SQL Mode Queries
- 5.8.7 What You May Need to Know About Overriding Declarative SQL Mode Defaults
- 5.8.8 What You May Need to Know About Working Programmatically with Declarative SQL Mode View Objects
- 5.8.1 How to Create SQL-Independent View Objects with Declarative SQL Mode
- 5.9 Working with View Objects in Expert Mode
- 5.9.1 How to Customize SQL Statements in Expert Mode
- 5.9.2 How to Name Attributes in Expert Mode
- 5.9.3 What Happens When You Enable Expert Mode
- 5.9.4 What You May Need to Know About Expert Mode
- 5.9.4.1 Expert Mode Provides Limited Attribute Mapping Assistance
- 5.9.4.2 Expert Mode Drops Custom Edits
- 5.9.4.3 Expert Mode Ignores Changes to SQL Expressions
- 5.9.4.4 Expert Mode Returns Error for SQL Calculations that Change Entity Attributes
- 5.9.4.5 Expert Mode Retains Formatting of SQL Statement
- 5.9.4.6 Expert Mode Wraps Queries as Inline Views
- 5.9.4.7 Limitation of Inline View Wrapping at Runtime
- 5.9.4.8 Expert Mode Changes May Affect Dependent Objects
- 5.10 Working with Bind Variables
- 5.10.1 How to Add Bind Variables to a View Object Definition
- 5.10.2 How to Reference the Current User in a Named Bind Variable Using Groovy
- 5.10.3 What Happens When You Add Named Bind Variables
- 5.10.4 How to Test Named Bind Variables
- 5.10.5 How to Add a WHERE Clause with Named Bind Variables at Runtime
- 5.10.6 How to Set Existing Bind Variable Values at Runtime
- 5.10.7 What Happens at Runtime: Dynamic Read-Only View Object WHERE Clause
- 5.10.8 What You May Need to Know About Named Bind Variables
- 5.10.8.1 An Error Related to Clearing Bind Variables
- 5.10.8.2 Errors Related to Naming Bind Variables
- 5.10.8.3 Default Value of NULL for Bind Variables
- 5.11 Working with Named View Criteria
- 5.11.1 How to Create Named View Criteria Declaratively
- 5.11.2 What Happens When You Create a Named View Criteria
- 5.11.3 What You May Need to Know About Bind Variable Options
- 5.11.4 What You May Need to Know About Nested Expressions
- 5.11.5 How to Set User Interface Hints on View Criteria to Support Search Forms
- 5.11.6 How to Test View Criteria Using the Oracle ADF Model Tester
- 5.11.7 How to Create View Criteria Programmatically
- 5.11.8 What Happens at Runtime: How the View Criteria Is Applied to a View Object
- 5.11.9 What You May Need to Know About the View Criteria API
- 5.11.9.1 Referencing Attribute Names in View Criteria
- 5.11.9.2 Referencing Bind Variables in View Criteria
- 5.11.9.3 Altering Compound Search Conditions Using Multiple View Criteria
- 5.11.9.4 Searching for a Row Whose Attribute Value Is NULL Value
- 5.11.9.5 Searching for Rows Whose Attribute Value Matches a Value in a List
- 5.11.9.6 Searching Case-Insensitively
- 5.11.9.7 Clearing View Criteria in Effect
- 5.11.10 What You May Need to Know About Query-by-Example Criteria
- 5.12 Working with List of Values (LOV) in View Object Attributes
- 5.12.1 How to Define a Single LOV-Enabled View Object Attribute
- 5.12.2 How to Define Cascading Lists for LOV-Enabled View Object Attributes
- 5.12.2.1 Creating a Data Source View Object to Control the Cascading List
- 5.12.2.2 Creating a View Accessor to Filter the Cascading List
- 5.12.3 How to Specify Multiple LOVs for an LOV-Enabled View Object Attribute
- 5.12.4 How to Define an LOV to Display a Reference Attribute
- 5.12.5 How to Set User Interface Hints on a View Object LOV-Enabled Attribute
- 5.12.6 How to Handle Date Conversion for List Type UI Components
- 5.12.7 How to Automatically Refresh the View Object of the View Accessor
- 5.12.8 How to Test LOV-Enabled Attributes Using the Oracle ADF Model Tester
- 5.12.9 What Happens When You Define an LOV for a View Object Attribute
- 5.12.10 What Happens at Runtime: How an LOV Queries the List Data Source
- 5.12.11 What You May Need to Know About Lists
- 5.12.11.1 Inheritance of AttributeDef Properties from Parent View Object Attributes
- 5.12.11.2 Using Validators to Validate Attribute Values
- 5.13 Defining UI Hints for View Objects
- 5.13.1 How to Add Attribute-Specific UI Hints
- 5.13.2 How to Add View Object UI Hints
- 5.13.3 How to Access UI Hints Using EL Expressions
- 5.13.4 What Happens When You Add UI Hints
- 5.13.5 How to Define UI Category Hints
- 5.13.6 What Happens When You Assign Attributes to UI Categories
- 5.13.7 What You May Need to Know About Resource Bundles
- 5.14 Adding Calculated and Transient Attributes to a View Object
- 5.14.1 How to Add a SQL-Calculated Attribute
- 5.14.2 What Happens When You Add a SQL-Calculated Attribute
- 5.14.3 How to Add a Transient Attribute
- 5.14.4 How to Add a Validation Rule to a Transient Attribute
- 5.14.5 What Happens When You Add a Transient Attribute
- 5.14.6 Adding Java Code in the View Row Class to Perform Calculation
- 5.14.7 What You May Need to Know About Transient Attributes
- 5.1 About View Objects
- 6 Testing View Instance Queries
- 6.1 About View Instance Queries
- 6.1.1 View Instance Use Cases and Examples
- 6.1.2 Additional Functionality for View Instances
- 6.2 Creating an Application Module to Test View Instances
- 6.2.1 How to Create the Application Module with Individual View Object Instances
- 6.2.2 How to Create the Application Module with Master-Detail View Object Instances
- 6.3 Testing View Object Instances Using the Oracle ADF Model Tester
- 6.3.1 How to Run the Oracle ADF Model Tester
- 6.3.2 How to Test Entity-Based View Objects Interactively
- 6.3.3 How to Update the Oracle ADF Model Tester to Display Project Changes
- 6.3.4 What Happens When You Use the Oracle ADF Model Tester
- 6.3.5 How to Simulate End-User Interaction in the Oracle ADF Model Tester
- 6.3.5.1 Testing Master-Detail Coordination
- 6.3.5.2 Testing UI Hints
- 6.3.5.3 Testing Business Domain Layer Validation
- 6.3.5.4 Testing Alternate Language Message Bundles and UI Hints
- 6.3.5.5 Testing View Objects That Reference Entity Usages
- 6.3.5.6 Testing Row Creation and Default Value Generation
- 6.3.5.7 Testing That New Detail Rows Have Correct Foreign Keys
- 6.3.6 How to Test Multiuser Scenarios in the Oracle ADF Model Tester
- 6.3.7 How to Customize Configuration Options Before Running the Tester
- 6.3.8 How to Enable ADF Business Components Debug Diagnostics
- 6.3.9 What Happens at Runtime: How View Objects and Entity Objects Cooperate
- 6.3.9.1 What Happens at Runtime: After a View Object Executes Its Query
- 6.3.9.2 What Happens at Runtime: After a View Row Attribute Is Modified
- 6.3.9.3 What Happens at Runtime: After a Foreign Key Attribute is Changed
- 6.3.9.4 What Happens at Runtime: After a Transaction is Committed
- 6.3.9.5 What Happens at Runtime: After a View Object Requeries Data
- 6.3.9.5.1 How Unmodified Attributes are Handled During Requery
- 6.3.9.5.2 How Modified Attributes are Handled During Requery
- 6.3.9.5.3 How Overlapping Subsets of Attributes are Handled During Requery
- 6.3.10 What You May Need to Know About Optimizing View Object Runtime Performance
- 6.4 Testing View Object Instances Programmatically
- 6.4.1 ViewObject Interface Methods for Working with the View Object's Default RowSet
- 6.4.1.1 The Role of the Key Object in a View Row or Entity Row
- 6.4.1.2 The Role of the Entity Cache in the Transaction
- 6.4.2 How to Create a Command-Line Java Test Client
- 6.4.2.1 Generating a Test Client with Skeleton Code
- 6.4.2.2 Modifying the Skeleton Code to Create the Test Client
- 6.4.3 What Happens When You Run a Test Client Program
- 6.4.4 What You May Need to Know About Running a Test Client
- 6.4.5 How to Count the Number of Rows in a Row Set
- 6.4.6 How to Access a Detail Collection Using the View Link Accessor
- 6.4.7 How to Iterate Over a Master-Detail-Detail Hierarchy
- 6.4.8 How to Find a Row and Update a Foreign Key Valu
- 6.4.9 How to Create a New Row for a View Object Instance
- 6.4.10 How to Retrieve the Row Key Identifying a Row
- 6.4.11 How to Authenticate Test Users in the Test Client
- 6.4.1 ViewObject Interface Methods for Working with the View Object's Default RowSet
- 6.1 About View Instance Queries
- 7 Defining Validation and Business Rules Declaratively
- 7.1 About Declarative Validation
- 7.1.1 Declarative Validation Use Cases and Examples
- 7.1.2 Additional Functionality for Declarative Validation
- 7.2 Understanding the Validation Cycle
- 7.2.1 Types of Entity Object Validation Rules
- 7.2.1.1 Attribute-Level Validation Rules
- 7.2.1.2 Entity-Level Validation Rules
- 7.2.2 Understanding Commit Processing and Validation
- 7.2.3 Understanding the Impact of Composition on Validation Order
- 7.2.4 Avoiding Infinite Validation Cycles
- 7.2.5 What Happens When Validations Fail
- 7.2.6 Understanding Entity Objects Row States
- 7.2.7 Understanding Bundled Exception Mode
- 7.2.1 Types of Entity Object Validation Rules
- 7.3 Adding Validation Rules to Entity Objects and Attributes
- 7.3.1 How to Add a Validation Rule to an Entity or Attribute
- 7.3.2 How to View and Edit a Validation Rule on an Entity Object or Attribute
- 7.3.3 What Happens When You Add a Validation Rule
- 7.3.4 What You May Need to Know About Entity and Attribute Validation Rules
- 7.4 Using the Built-in Declarative Validation Rules
- 7.4.1 How to Ensure That Key Values Are Unique
- 7.4.2 What Happens When You Use a Unique Key Validator
- 7.4.3 How to Validate Based on a Comparison
- 7.4.4 What Happens When You Validate Based on a Comparison
- 7.4.5 How to Validate Using a List of Values
- 7.4.6 What Happens When You Validate Using a List of Values
- 7.4.7 What You May Need to Know About the List Validator
- 7.4.8 How to Make Sure a Value Falls Within a Certain Range
- 7.4.9 What Happens When You Use a Range Validator
- 7.4.10 How to Validate Against a Number of Bytes or Characters
- 7.4.11 What Happens When You Validate Against a Number of Bytes or Characters
- 7.4.12 How to Validate Using a Regular Expression
- 7.4.13 What Happens When You Validate Using a Regular Expression
- 7.4.14 How to Use the Average, Count, or Sum to Validate a Collection
- 7.4.15 What Happens When You Use Collection Validation
- 7.4.16 How to Determine Whether a Key Exists
- 7.4.17 What Happens When You Use a Key Exists Validator
- 7.4.18 What You May Need to Know About Declarative Validators and View Accessors
- 7.5 Using Groovy Expressions For Validation and Business Rules
- 7.5.1 How to Reference Entity Object Methods in Groovy Validation Expressions
- 7.5.2 How to Validate Using a True/False Expression
- 7.5.3 What Happens When You Add a Groovy Expression
- 7.6 Triggering Validation Execution
- 7.6.1 How to Specify Which Attributes Fire Validation
- 7.6.2 What Happens When You Constrain Validation Execution with Triggering Attributes
- 7.6.3 How to Set Preconditions for Validation
- 7.6.4 How to Set Transaction-Level Validation
- 7.6.5 What You May Need to Know About the Order of Validation Execution
- 7.7 Creating Validation Error Messages
- 7.7.1 How to Create Validation Error Messages
- 7.7.2 How to Localize Validation Messages
- 7.7.3 How to Conditionally Raise Error Messages Using Groovy
- 7.7.4 How to Embed a Groovy Expression in an Error Message
- 7.8 Setting the Severity Level for Validation Exceptions
- 7.9 Bulk Validation in SQL
- 7.1 About Declarative Validation
- 8 Implementing Validation and Business Rules Programmatically
- 8.1 About Programmatic Business Rules
- 8.1.1 Programmatic Business Rules Use Cases and Examples
- 8.1.2 Additional Functionality for Programmatic Business Rules
- 8.2 Using Method Validators
- 8.2.1 How to Create an Attribute-Level Method Validator
- 8.2.2 What Happens When You Create an Attribute-Level Method Validator
- 8.2.3 How to Create an Entity-Level Method Validator
- 8.2.4 What Happens When You Create an Entity-Level Method Validator
- 8.2.5 What You May Need to Know About Translating Validation Rule Error Messages
- 8.3 Assigning Programmatically Derived Attribute Values
- 8.3.1 How to Provide Default Values for New Rows at Create Time
- 8.3.1.1 Choosing Between create() and initDefaultExpressionAttributes() Methods
- 8.3.1.2 Eagerly Defaulting an Attribute Value from a Database Sequence
- 8.3.2 How to Assign Derived Values Before Saving
- 8.3.3 How to Assign Derived Values When an Attribute Value Is Set
- 8.3.1 How to Provide Default Values for New Rows at Create Time
- 8.4 Undoing Pending Changes to an Entity Using the Refresh Method
- 8.4.1 How to Control What Happens to New Rows During a Refresh
- 8.4.2 How to Cascade Refresh to Composed Children Entity Rows
- 8.5 Using View Objects for Validation
- 8.5.1 How to Use View Accessors for Validation Against View Objects
- 8.5.2 How to Validate Conditions Related to All Entities of a Given Type
- 8.5.3 What You May Need to Know About Row Set Access with View Accessors
- 8.6 Accessing Related Entity Rows Using Association Accessors
- 8.6.1 How to Access Related Entity Rows
- 8.6.2 How to Access Related Entity Row Sets
- 8.7 Referencing Information About the Authenticated User
- 8.8 Accessing Original Attribute Values
- 8.9 Storing Information About the Current User Session
- 8.9.1 How to Store Information About the Current User Session
- 8.9.2 How to Use Groovy to Access Information About the Current User Session}
- 8.10 Accessing the Current Date and Time
- 8.11 Sending Notifications Upon a Successful Commit
- 8.12 Conditionally Preventing an Entity Row from Being Removed
- 8.13 Determining Conditional Updatability for Attributes
- 8.14 Implementing Custom Validation Rules
- 8.14.1 How to Create a Custom Validation Rule
- 8.14.2 Adding a Design Time Bean Customizer for Your Rule
- 8.14.3 How to Register and Using a Custom Rule in JDeveloper
- 8.14.3.1 Registering a Custom Validator at the Project Level
- 8.14.3.2 Registering a Custom Validator at the IDE Level
- 8.1 About Programmatic Business Rules
- 9 Implementing Business Services with Application Modules
- 9.1 About Application Modules
- 9.1.1 Application Module Use Cases and Examples
- 9.1.2 Additional Functionality for Application Modules
- 9.2 Creating and Modifying an Application Module
- 9.2.1 How to Create an Application Module
- 9.2.2 What Happens When You Create an Application Module
- 9.2.3 How to Add a View Object to an Application Module
- 9.2.3.1 Adding a View Object Instance to an Existing Application Module
- 9.2.3.2 Adding Master-Detail View Object Instances to an Application Module
- 9.2.3.3 Customizing a View Object Instance that You Add to an Application Module
- 9.2.4 What Happens When You Add a View Object to an Application Module
- 9.2.5 How to Edit an Existing Application Module
- 9.2.6 How to Change the Data Control Name Before You Begin Building Pages
- 9.2.7 What You May Need to Know About Application Module Granularity
- 9.2.8 What You May Need to Know About View Object Components and View Object Instances
- 9.3 Configuring Your Application Module Database Connection
- 9.3.1 How to Use a JDBC Data Source Connection Type
- 9.3.2 How to Use a JDBC URL Connection Type
- 9.3.3 What Happens When You Create an Application Module Database Connection
- 9.3.4 How to Change Your Application Module's Runtime Configuration
- 9.3.5 How to Change the Database Connection for Your Project
- 9.4 Defining Nested Application Modules
- 9.4.1 How to Define a Nested Application Module
- 9.4.2 What You May Need to Know About Root Application Modules Versus Nested Application Module Usages
- 9.5 Creating an Application Module Diagram for Your Business Service
- 9.5.1 How to Create an Application Module Diagram
- 9.5.2 What Happens When You Create an Application Module Diagram
- 9.5.3 How to Use the Diagram to Edit the Application Module
- 9.5.4 How to Control Diagram Display Options
- 9.5.5 How to Filtering Method Names Displayed in the Diagram
- 9.5.6 How to Show Related Objects and Implementation Files in the Diagram
- 9.5.7 How to Publish the Application Module Diagram
- 9.5.8 How to Test the Application Module from the Diagram
- 9.6 Supporting Multipage Units of Work
- 9.6.1 How to Simulate State Management in the Oracle ADF Model Tester
- 9.6.2 What Happens at Runtime: How the Application Uses Application Module Pooling and State Management
- 9.7 Customizing an Application Module with Service Methods
- 9.7.1 How to Generate a Custom Class for an Application Module
- 9.7.2 What Happens When You Generate a Custom Class for an Application Module
- 9.7.3 What You May Need to Know About Default Code Generation
- 9.7.4 How to Add a Custom Service Method to an Application Module
- 9.7.5 How to Test the Custom Application Module Using a Static Main Method
- 9.7.6 What You May Need to Know About Programmatic Row Set Iteration
- 9.8 Customizing Application Module Message Strings
- 9.8.1 How to Add a Resource Bundle to an Application Module
- 9.8.2 What Happens When You Add a Resource Bundle to an Application Module
- 9.9 Publishing Custom Service Methods to UI Clients
- 9.9.1 How to Publish a Custom Method on the Application Module's Client Interface
- 9.9.2 What Happens When You Publish Custom Service Methods
- 9.9.3 How to Generate Client Interfaces for View Objects and View Rows
- 9.9.4 How to Test Custom Service Methods Using the Oracle ADF Model Tester
- 9.9.5 What You May Need to Know About Method Signatures on the Client Interface
- 9.9.6 What You May Need to Know About Passing Information from the Data Model
- 9.10 Working Programmatically with an Application Module's Client Interface
- 9.10.1 How to Work Programmatically with an Application Module's Client Interface
- 9.10.2 What Happens at Runtime: How the Application Module's Client Interface is Accessed
- 9.10.3 How to Access an Application Module Client Interface in a Fusion Web Application
- 9.11 Overriding Built-in Framework Methods
- 9.11.1 How to Override a Built-in Framework Method
- 9.11.2 What Happens When You Override a Built-in Framework Method
- 9.11.3 How to Override prepareSession() to Set Up an Application Module for a New User Session
- 9.12 Calling a Web Service from an Application Module
- 9.12.1 How to Call an External Service Programmatically
- 9.12.1.1 Creating a Web Service Proxy Class to Programmatically Access the Service
- 9.12.1.2 Calling the Web Service Proxy Template to Invoke the Service
- 9.12.1.3 Calling a Web Service Method Using the Proxy Class in an Application Module
- 9.12.2 What Happens When You Create the Web Service Proxy
- 9.12.3 What Happens at Runtime: When You Call a Web Service Using a Web Service Proxy Class
- 9.12.4 What You May Need to Know About Web Service Proxies
- 9.12.4.1 Using a Try-Catch Block to Handle Web Service Exceptions
- 9.12.4.2 Separating Application Module and Web Services Transactions
- 9.12.4.3 Setting Browser Proxy Information
- 9.12.4.4 Invoking Application Modules with a Web Service Proxy Class
- 9.12.1 How to Call an External Service Programmatically
- 9.1 About Application Modules
- 10 Sharing Application Module View Instances
- 10.1 About Shared Application Modules
- 10.1.1 Shared Application Module Use Cases and Examples
- 10.1.2 Additional Functionality for Shared Application Modules
- 10.2 Sharing an Application Module Instance
- 10.2.1 How to Create a Shared Application Module Instance
- 10.2.2 What Happens When You Define a Shared Application Module
- 10.2.3 What You May Need to Know About Design Time Scope of the Shared Application Module
- 10.2.4 What You May Need to Know About the Design Time Scope of View Instances of the Shared Application Module
- 10.2.5 What You May Need to Know About Managing the Number of Shared Query Collections
- 10.2.6 What You May Need to Know About Shared Application Modules and Connection Pooling
- 10.3 Defining a Base View Object for Use with Lookup Tables
- 10.3.1 How to Create a Base View Object Definition for a Lookup Table
- 10.3.2 What Happens When You Create a Base View Object
- 10.3.3 How to Define the WHERE Clause of the Lookup View Object Using View Criteria
- 10.3.4 What Happens When You Create a View Criteria with the Editor
- 10.3.5 What Happens at Runtime: How a View Instance Accesses Lookup Data
- 10.4 Accessing View Instances of the Shared Service
- 10.4.1 How to Create a View Accessor for an Entity Object or View Object
- 10.4.2 How to Validate Against the Attribute Values Specified by a View Accessor
- 10.4.3 What Happens When You Define a View Accessor Validator
- 10.4.4 What You May Need to Know About Dynamic Filtering with View Accessors
- 10.4.5 How to Create an LOV Based on a Lookup Table
- 10.4.6 What Happens When You Define an LOV for a View Object Attribute
- 10.4.7 How to Automatically Refresh the View Object of the View Accessor
- 10.4.8 What Happens at Runtime: How the Attribute Displays the List of Values
- 10.4.9 What You May Need to Know About Displaying List of Values From a Lookup Table
- 10.4.10 What You May Need to Know About Programmatically Invoking Database Change Notifications
- 10.4.11 What You May Need to Know About Inheritance of AttributeDef Properties
- 10.4.12 What You May Need to Know About Using Validators
- 10.5 Testing View Object Instances in a Shared Application Module
- 10.5.1 How to Test the Base View Object Using the Oracle ADF Model Tester
- 10.5.2 How to Test LOV-Enabled Attributes Using the Oracle ADF Model Tester
- 10.5.3 What Happens When You Use the Oracle ADF Model Tester
- 10.5.4 What Happens at Runtime: How Another Service Accesses the Shared Application Module Cache
- 10.1 About Shared Application Modules
- 11 Integrating Service-Enabled Application Modules
- 11.1 About Service-Enabled Application Modules
- 11.1.1 Service-Enabled Application Module Use Cases and Examples
- 11.1.2 Additional Functionality for Service-Enabled Application Modules
- 11.2 Publishing Service-Enabled Application Modules
- 11.2.1 How to Enable the Application Module Service Interface
- 11.2.2 What Happens When You Create an Application Module Service Interface
- 11.2.2.1 Remote Common Interface
- 11.2.2.2 Remote Service Schema File
- 11.2.2.3 Remote Service Definition File
- 11.2.2.4 Remote Server Class
- 11.2.2.5 connections.xml
- 11.2.3 What You May Need to Know About Method Signatures on the ADF Web Service Interface
- 11.2.4 How to Service-Enable Individual View Objects
- 11.2.5 How to Customize the SDO Properties of Service-Enabled View Objects
- 11.2.5.1 Excluding Individual SDO Properties in a Generated SDO Component
- 11.2.5.2 Associating Related SDO Properties Using Complex Data Types
- 11.2.6 How to Support Nested Processing in Service-Enabled Master-Detail View Objects
- 11.2.7 What Happens When You Create SDO Classes
- 11.2.7.1 Service Data Object Interface
- 11.2.7.2 Service Data Object Class
- 11.2.7.3 Service Data Object Schema File
- 11.2.7.4 Service Data Object Result Class and Interface
- 11.2.8 How to Expose a Declarative Find Operation Filtered By a Required Bind Variable
- 11.2.9 How to Expose a Custom Find Method Filtered By a Required Bind Variable
- 11.2.10 How to Generate Asynchronous ADF Web Service Methods
- 11.2.11 What Happens When You Generate Asynchronous ADF Web Service Methods
- 11.2.12 What Happens at Runtime: How the Asynchronous Call Is Made
- 11.2.13 How to Set Preferences for Generating the ADF Web Service Interface
- 11.2.14 How to Secure the ADF Web Service for Access By SOAP Clients
- 11.2.15 How to Secure the ADF Web Service for Access By RMI Clients
- 11.2.15.1 Enabling Authentication for RMI Clients
- 11.2.15.2 Enabling Authorization for RMI Clients
- 11.2.16 How to Grant Test Users Access to the Service
- 11.2.17 How to Enable Support for Binary Attachments for SOAP Clients
- 11.2.18 How to Test the Web Service Using Integrated WebLogic Server
- 11.2.19 How to Prevent Custom Service Methods from Timing Out
- 11.2.20 How to Deploy Web Services to Oracle WebLogic Server
- 11.3 Accessing Remote Data Over the Service-Enabled Application Module
- 11.3.1 How to Use Service-Enabled Entity Objects and View Objects
- 11.3.1.1 Creating Entity Objects Backed by SDO Services
- 11.3.1.2 Creating View Objects Backed by SDO Services
- 11.3.2 What Happens When You Create Service-Backed Business Components
- 11.3.3 How to Update the Data Model for Service-Backed Business Components
- 11.3.4 How to Configure the Service-Backed Business Components Runtime
- 11.3.4.1 Adding the SDO Client Library to the Classpath
- 11.3.4.2 Registering the ADF Business Components Service in the Consuming Application's connections.xml for the EJB RMI Protocol
- 11.3.4.3 Registering the ADF Business Components Service in the Consuming Application's connections.xml for the SOAP Protocol
- 11.3.4.4 Registering the ADF Business Components Service in the Consuming Application's connections.xml for Fabric SDO Binding
- 11.3.5 How to Test the Service-Backed Components in the Oracle ADF Model Tester
- 11.3.6 How to Invoke Operations of the Service-Backed Components in the Consuming Application
- 11.3.7 What You May Need to Know About Creating Service Data Objects in the Consuming Application
- 11.3.8 What Happens at Runtime: How the Application Accesses the Published Application Module
- 11.3.9 What You May Need to Know About Service-Backed Entity Objects and View Objects
- 11.3.1 How to Use Service-Enabled Entity Objects and View Objects
- 11.1 About Service-Enabled Application Modules
- 12 Extending Business Components Functionality
- 12.1 About Extending Business Components Functionality
- 12.1.1 Extending Business Components Use Cases and Examples
- 12.1.2 Additional Functionality for Extending Business Components
- 12.2 Globally Extending ADF Business Components Functionality
- 12.2.1 How To Create a Framework Extension Class
- 12.2.2 What Happens When You Create a Framework Extension Class
- 12.2.3 How to Base an ADF Component on a Framework Extension Class
- 12.2.4 How to Define Framework Extension Classes for All New Components
- 12.2.5 How to Define Framework Extension Classes for All New Projects
- 12.2.6 What Happens When You Base a Component on a Framework Extension Class
- 12.2.6.1 XML-Only Components
- 12.2.6.2 Components with Custom Java Classes
- 12.2.7 What You May Need to Know About Updating the Extends Clause in Custom Component Java Files
- 12.3 Creating a Layer of Framework Extensions
- 12.3.1 How to Create Your Layer of Framework Extension Layer Classes
- 12.3.2 How to Package Your Framework Extension Layer in a JAR File
- 12.3.3 How to Create a Library Definition for Your Framework Extension JAR File
- 12.4 Customizing Framework Behavior with Extension Classes
- 12.4.1 How to Access Runtime Metadata For View Objects and Entity Objects
- 12.4.2 How to Implement Generic Functionality Using Runtime Metadata
- 12.4.3 How to Implement Generic Functionality Driven by Custom Properties
- 12.4.4 What You May Need to Know About the Kinds of Attributes
- 12.4.5 What You May Need to Know About Custom Properties
- 12.5 Creating Generic Extension Interfaces
- 12.6 Invoking Stored Procedures and Functions
- 12.6.1 How to Invoke Stored Procedures with No Arguments
- 12.6.2 How to Invoke Stored Procedure with Only IN Arguments
- 12.6.3 How to Invoke Stored Function with Only IN Arguments
- 12.6.4 How to Call Other Types of Stored Procedures
- 12.7 Accessing the Current Database Transaction
- 12.8 Customizing Business Components Error Messages
- 12.8.1 How to Customize Base ADF Business Components Error Messages
- 12.8.2 What Happens When You Customize Base ADF Business Components Error Messages
- 12.8.3 How to Display Customize Error Messages as Nested Exceptions
- 12.8.4 How to Customize Error Messages for Database Constraint Violations
- 12.8.5 How to Implement a Custom Constraint Error Handling Routine
- 12.8.5.1 Creating a Custom Database Transaction Framework Extension Class
- 12.8.5.2 Configuring an Application Module to Use a Custom Database Transaction Class
- 12.9 Creating Extended Components Using Inheritance
- 12.9.1 How To Create a Component That Extends Another
- 12.9.2 How To Extend a Component After Creation
- 12.9.3 What Happens When You Create a Component That Extends Another
- 12.9.3.1 Understanding an Extended Component's XML Descriptor
- 12.9.3.2 Understanding Java Code Generation for an Extended Component
- 12.9.4 What You May Need to Know
- 12.9.4.1 You Can Use Parent Classes and Interfaces to Work with Extended Components
- 12.9.4.2 Class Extends is Disabled for Extended Components
- 12.9.4.3 Interesting Aspects You Can Extend for Key Component Types
- 12.9.4.4 Extended Components Have Attribute Indices Relative to Parent
- 12.10 Substituting Extended Components in a Delivered Application
- 12.10.1 How To Substitute an Extended Component
- 12.10.2 What Happens When You Substitute
- 12.10.3 How to Enable the Substituted Components in the Base Application
- 12.1 About Extending Business Components Functionality
- 13 Using ADF Model in a Fusion Web Application
- 13.1 About ADF Data Binding
- 13.2 Additional Functionality
- 13.3 Exposing Application Modules with Oracle ADF Data Controls
- 13.3.1 How an Application Module Data Control Appears in the Data Controls Panel
- 13.3.1.1 How the Data Model and Service Methods Appear in the Data Controls Panel
- 13.3.1.2 How Transaction Control Operations Appear in the Data Controls Panel
- 13.3.1.3 How View Objects Appear in the Data Controls Panel
- 13.3.1.4 How Nested Application Modules Appear in the Data Controls Panel
- 13.3.2 How to Open the Data Controls Panel
- 13.3.3 How to Refresh the Data Controls Panel
- 13.3.4 Packaging a Data Control for Use in Another Project
- 13.3.1 How an Application Module Data Control Appears in the Data Controls Panel
- 13.4 Using the Data Controls Panel
- 13.4.1 How to Use the Data Controls Panel
- 13.4.2 What Happens When You Use the Data Controls Panel
- 13.4.3 What Happens at Runtime: How the Binding Context Works
- 13.5 Working with the DataBindings.cpx File
- 13.5.1 How JDeveloper Creates a DataBindings.cpx File
- 13.5.2 What Happens When JDeveloper Creates a DataBindings.cpx File
- 13.6 Configuring the ADF Binding Filter
- 13.6.1 How JDeveloper Configures the ADF Binding Filter
- 13.6.2 What Happens When JDeveloper Configures an ADF Binding Filter
- 13.6.3 What Happens at Runtime: How the ADF Binding Filter Works
- 13.7 Working with Page Definition Files
- 13.7.1 How JDeveloper Creates a Page Definition File
- 13.7.2 What Happens When JDeveloper Creates a Page Definition File
- 13.7.2.1 Bindings Binding Objects Defined in the Page Definition File
- 13.7.2.2 Executable Binding Objects Defined in the Page Definition File
- 13.8 Creating ADF Data Binding EL Expressions
- 13.8.1 How to Create an ADF Data Binding EL Expression
- 13.8.1.1 Opening the Expression Builder from the Property Inspector
- 13.8.1.2 Using the Expression Builder
- 13.8.2 What You May Need to Know About ADF Binding Properties
- 13.8.1 How to Create an ADF Data Binding EL Expression
- 13.9 Using Simple UI First Development
- 13.9.1 How to Apply ADF Model Data Binding to Existing UI Components
- 13.9.2 What Happens When You Apply ADF Model Data Binding to UI Components
- 14 Exposing Web Services Using the ADF Model Layer
- 14.1 About Web Services in Fusion Web Applications
- 14.1.1 Web Services Use Cases and Examples
- 14.1.2 Additional Functionality for Web Services in Fusion Applications
- 14.2 Creating Web Service Data Controls
- 14.2.1 How to Create a Web Service Data Control
- 14.2.2 How to Include a Header Parameter for a Web Service Data Control
- 14.2.3 How to Adjust the Endpoint for a Web Service Data Control
- 14.2.4 How to Refresh a Web Service Data Control
- 14.2.5 What You May Need to Know About Primary Keys in Web Service Data Controls
- 14.2.6 What You May Need to Know About Web Service Data Controls
- 14.3 Creating a New Web Service Connection
- 14.3.1 How to Create a New Web Service Connection
- 14.4 Securing Web Service Data Controls
- 14.4.1 WS-Security Specification
- 14.4.2 Using Key Stores
- 14.4.3 How to Define Web Service Data Control Security
- 14.1 About Web Services in Fusion Web Applications
- 15 Exposing URL Services Using the ADF Model Layer
- 15.1 About Using ADF Model with URL Services
- 15.1.1 URL Services Use Cases and Examples
- 15.1.2 Additional Functionality for URL Services
- 15.2 Exposing URL Services with ADF Data Controls
- 15.2.1 How to Create a URL Connection
- 15.2.2 How to Create a URL Service Data Control
- 15.2.3 What Happens When You Create a URL Service Data Control
- 15.2.4 How to Include a Custom Header Parameter for a URL Service Data Control
- 15.2.5 What You May Need to Know About Primary Keys in URL Service Data Controls
- 15.2.6 What You May Need to Know About URL Service Data Controls
- 15.3 Using URL Service Data Controls
- 15.1 About Using ADF Model with URL Services
Online LIVE Training Programming Course offered by INCAPROG ONLINE - www.incaprog.com - contacto@incaprog.com - Phone : (954) 727-3141