Presentation is loading. Please wait.

Presentation is loading. Please wait.

6 Copyright © 2004, Oracle. All rights reserved. Adding Custom Validation.

Similar presentations


Presentation on theme: "6 Copyright © 2004, Oracle. All rights reserved. Adding Custom Validation."— Presentation transcript:

1 6 Copyright © 2004, Oracle. All rights reserved. Adding Custom Validation

2 6-2 Copyright © 2004, Oracle. All rights reserved. Objectives After completing this lesson, you should be able to do the following: Add custom methods to validate business data Use the typesafe data access methods Use entity associations in business logic Traverse entity associations

3 6-3 Copyright © 2004, Oracle. All rights reserved. Customers Id Name Status Email Business Rule Overview Entity Object Orders Id CustomerId OrderMode OrderTotal Validation Type Attribute Method Validator Name must not be longer than 50 characters Customer e-mail must exist If the OrderMode is "ONLINE" Domain E-mail must contain an "@" and "." Entity Method Validator

4 6-4 Copyright © 2004, Oracle. All rights reserved. Adding Validation to an Entity There are a number of places you can put validation: Predefined validators: For simple XML-based rules Custom method validators: For more complex attribute and entity rules Attribute setter method: For complex attribute rules Override EntityImpl.java methods: For more complex entity rules and custom behaviors Domains: Can be used for multiple attributes across multiple entity objects

5 6-5 Copyright © 2004, Oracle. All rights reserved. Validating Attributes To create custom validation for attributes, you can either: Create a MethodValidator in the EntityImpl.java file or Modify the setter() method of the attribute in the EntityImpl.java file

6 6-6 Copyright © 2004, Oracle. All rights reserved. Creating a MethodValidator for an Attribute To create a custom validator, create a new method in the EntityImpl.java file. Select the EntityImpl.java file in the Structure pane or select Go to Entity Object Class from the context menu.

7 6-7 Copyright © 2004, Oracle. All rights reserved. Creating a MethodValidator for an Attribute To create the custom validation as a MethodValidator, the method must: Be defined as public Accept a single argument of the same type as the attribute Return a Boolean value Start with validate public boolean validateEmail(String value) { return (value.indexOf('@') != -1 ); }

8 6-8 Copyright © 2004, Oracle. All rights reserved. Utilizing Typesafe Methods EntityImpl.java contains typesafe methods to get and set each of the entity’s attributes. To override the setter method in the EntityImpl.java file: Add custom validation code in the methods. Call setAttributeInternal() to set the attribute value after your validation code. public void setCreditLimit(Number value) { // add your custom code here setAttributeInternal(CREDITLIMIT, value); }

9 6-9 Copyright © 2004, Oracle. All rights reserved. Validating Entity Objects MethodValidators can also be created in the EntityImpl.java file to validate entity objects. Custom entity validation methods must: Be defined as public Return a Boolean value public boolean validateOrder() { String date = new java.util.Date().toString(); if( (getOrderStatus().equals("2")) && (getOrderDate().toString() == date )) {return true; } else {return false;}}

10 6-10 Copyright © 2004, Oracle. All rights reserved. public boolean checkOrderMode(){ if ( ("ONLINE".equals(getOrderMode())) || !(getCustomerEmail() == null)) { //success } else { // Error - online order must have email address }} Validating Entity Objects If entity MethodValidators are too limiting, create a custom method in the EntityImpl.java file:

11 6-11 Copyright © 2004, Oracle. All rights reserved. Call EntityImpl Methods You can also override other methods in EntityImpl.java. For example: doDML() —Log changes in another entity beforeCommit() —Validate multiple instances of the same entity remove() —Record a deletion in another entity

12 6-12 Copyright © 2004, Oracle. All rights reserved. Validation Order Attribute validation occurs in the following order: Domain validation: On instantiation of an entity object Setter method: On creation or modification of an attribute Predefined validators: On a call to setAttributeInternal() Attribute MethodValidators validateEntity() method Entity MethodValidators doDML() method beforeCommit() method

13 6-13 Copyright © 2004, Oracle. All rights reserved. Associations Associations define a relationship between entity objects. Associations: Facilitate access to data in related entity objects May be based on database constraints May be independent of database constraints Consist of a source (master) and a destination (detail) entity

14 6-14 Copyright © 2004, Oracle. All rights reserved. Associations Associations define a relationship between entity objects. Associations: Facilitate access to data in related entity objects May be based on database constraints May be independent of database constraints Consist of a source (master) and a destination (detail) entity

15 6-15 Copyright © 2004, Oracle. All rights reserved. SourceDestination Association CustomersOrders Association Example A customer can place one or many orders. An order is placed by just one customer. OrderPlacedBy

16 6-16 Copyright © 2004, Oracle. All rights reserved. Accessor Methods Are optional methods created by the Association Wizard Provide access to data from the associated entity Are bidirectional For example: –Get all orders for a customer –Get customer information from an order

17 6-17 Copyright © 2004, Oracle. All rights reserved. Association Types Association –Entities are related but not completely dependent. –Either end of the association can exist without the other. –It is usually a categorization. Composition –Destination entity is completely dependent on the source entity. –The source entity owns the destination entity. –No destination entity can be created without the owning entity existing first.

18 6-18 Copyright © 2004, Oracle. All rights reserved. Determining the Association Type Two questions to ask: Can a destination entity object exist without the source? –If yes, the source is associated to the destination. –If no, the source is composed of the destination. When I delete the source, do I delete the destination? –If yes, the relationship is a composition. –If no, the relationship is an association.

19 6-19 Copyright © 2004, Oracle. All rights reserved. The “one” side of the association The “many” side of the association Creating Entity Associations

20 6-20 Copyright © 2004, Oracle. All rights reserved. The “One” side of the association The “Many” side of the association Creating Entity Associations

21 6-21 Copyright © 2004, Oracle. All rights reserved. Creating Entity Associations

22 6-22 Copyright © 2004, Oracle. All rights reserved. Creating Entity Associations

23 6-23 Copyright © 2004, Oracle. All rights reserved. public String getTrackingNo() { return getOrd().getTrackingNo(); } Traversing Associations: Destination to Source The destination entity’s EntityImpl.java file contains methods to get and set the source entity. For example, LineItemImpl.java contains getOrd() and setOrd(). You can add a method to LineItemImpl.java to get the tracking number of the order containing this item: getLineItem() Order ItemOrderedOnAssoc LineItem getTrackingNo()

24 6-24 Copyright © 2004, Oracle. All rights reserved. Traversing Associations: Source to Destination The source entity’s EntityImpl.java file contains a method to get the destination entity. For example, OrdImpl.java contains the method: Use the methods of RowIterator to step from row to row and get individual attribute values. public oracle.jbo.RowIterator getLineItem() getLineItem() Order ItemOrderedOnAssoc LineItem

25 6-25 Copyright © 2004, Oracle. All rights reserved. Summary In this lesson, you should have learned how to: Add business rules to ADF Business Components Validate entities, attributes, and domains Test the validation rules

26 6-26 Copyright © 2004, Oracle. All rights reserved. Practice 6-1: Overview This practice covers the following topics: Enforcing ListValidator rules Creating domain validation code Testing the validation rules

27 6-27 Copyright © 2004, Oracle. All rights reserved. Practice 6-1

28 6-28 Copyright © 2004, Oracle. All rights reserved. Practice 6-1

29 6-29 Copyright © 2004, Oracle. All rights reserved. Practice 6-1

30 6-30 Copyright © 2004, Oracle. All rights reserved.


Download ppt "6 Copyright © 2004, Oracle. All rights reserved. Adding Custom Validation."

Similar presentations


Ads by Google