Rules for Internal Value Object
This list identifies the rules for internal value objects:
The structure of an internal value object has a flatter hierarchy than the published value object, because the internal value object has few if any compounds or components.
The collections within the internal value object can be created using either ArrayList or Array. An ArrayList is easier to work with because it can be dynamically sized. Arrays are necessary when the internal value object will be serialized. A business service that exposes JD Edwards EnterpriseOne functionality to a third party can use an ArrayList. A business service called from a business function (for example, using web service callout when JD EnterpriseOne is a web service consumer) must use an Array because the ArrayList data type cannot be serialized.
For example, you can use the following code sample to declare the compound for phones:
Private ArrayList internalPhones = null;
ArrayList is populated during business service processing, and in the preceding code sample, the collection contains InternalPhone objects.
Or you can use this code sample to declare the compound for phones:
Private InternalPhone[] internalPhones = null;
The data types for internal value object classes match the types used in the JD Edwards EnterpriseOne data structures, as identified in the following table:
Internal Value Object Data Type
Usage
oracle.e1.bssvfoundation.util.MathNumeric
Use for all fields that are declared as numeric in JD Edwards EnterpriseOne.
java.lang.String
Use for string and char fields.
java.util.Date
Use for all JDEDate fields in JD Edwards EnterpriseOne.
java.util.GregorianCalendar
Use for all UTIME fields in JD Edwards EnterpriseOne.