Objects and collections           

This is probably the point of largest difference between using the Oracle Determinations Engine in Java and using the Oracle Determinations Engine in .NET.  Both platforms include numbers, collections, and maps in the standard class library. Each of the Oracle Determinations Engine APIs emulates the behavior of the Java platform..

Oracle Determinations Engine API for Java

Enumerating over all the entity instances of a given entity in Java, setting a new value for each instance, would be done with the following code:

Attribute attr = entity.getAttribute(“a1”);
Object value = new Double(2.0d);

List <EntityInstance> entityInstances= entity.getEntityInstances(session);

for (EntityInstance ei : entityInstances) {
     attr.setValue(ei, value);
}

Oracle Determinations Engine API for .NET

The Oracle.Determinations.masquerade.util.List interface provided in the .NET engine provides the equivalent interface.  The language C# provides an equivalent foreach statement to simplify use of lists.  The Oracle Determinations Engine API for .NET supports this feature, which allows the above code to be written as:

RBAttr attr = entity.getAttribute(“a1”);
List entityInstances = entity.GetEntityInstances(session);
Object value = new Oracle.Determinations.Masquerade.Lang.Double(2.0d);

foreach (EntityInstance ei in entityInstances) {
        attr.setValue(ei, value);
}