Rule Execution Server API

Package ilog.rules.bom

Contains the interfaces that are used for representing BOMs and XOMs.

See:
          Description

Interface Summary
IlrAbstractValue A value.
IlrActualValue A real value, that is not a reference.
IlrAttribute This interface is used to represent attributes in an object model.
IlrBoundedDomain Bounded domain, also known as an interval.
IlrClass This interface is used to represent classes and interfaces in an object model.
IlrClass.IlrGenericClassInfo This interface provides the information for generic classes and instantiations of those generic classes
IlrCollectionDomain A collection domain.
IlrComponentProperty A component property is like an attribute with a better encapsulation.
IlrConstructor This interface represents constructors in an object model.
IlrDomain This interface represents domains in an object model.
IlrDomainIntersection Domain composed of an intersection of domains.
IlrEnum This interface is used to represent enumerated types in an object model.
IlrEnumeratedDomain An enumerated domain is a domain defined by a list of possible values.
IlrGenericInfo This interface provides the information for generic elements such as classes or methods and instantiations of those generic elements.
IlrIndexedComponentProperty An indexed component property is like a property that has an indexed value.
IlrMember This interface is used to represent class members in an object model.
IlrMemberWithParameter This interface represents a member with parameters.
IlrMethod This interface is used to represent class methods in an object model.
IlrMethod.IlrGenericMethodInfo This interface provides the information for generic methods and instantiations of these generic methods.
IlrModelElement This interface represents an object model element.
IlrNamespace A namespace.
IlrObjectModel This interface represents an object model.
IlrObjectModel.Selector Deprecated. Use IlrSelector instead.
IlrObjectModel.Visitor Deprecated. Use IlrVisitor instead
IlrPackage This interface is used to represent class packages in an object model.
IlrParameter This interface is used to represent parameters in an object model.
IlrPatternDomain A pattern domain.
IlrPrimitiveType This interface is used to represent primitive types in an object model.
IlrProperties An interface which manages a set of properties where each property has a name and a value.
IlrStaticReference This interface is used to represent static references in an object model.
IlrTransientProperties This interface manages a set of transient properties where each property has a name and a value.
IlrType This interface is used to represent types in an object model.
IlrTypeVariable This interface represents a type variable of a generic type.
IlrWildcardType This interface represents a wild card type.
 

Class Summary
IlrObjectModel.Kind A kind of object model.
IlrObjectModel.SelectorWrapper Compatibility wrapper for selectors.
 

Enum Summary
IlrObjectModel.Platform  
 

Package ilog.rules.bom Description

Contains the interfaces that are used for representing BOMs and XOMs. The main interface in this package is the IlrObjectModel interface.

This package provides a set of interfaces to access model information. The ilog.rules.bom.mutable package provides interfaces to create and change an object model. An implementation is in the ilog.rules.bom.dynamic package. The ilog.rules.bom.serializer package contains the classes to support the object model serialization.

The entry point is the IlrObjectModel interface, the instances of which contain packages (see interface IlrPackage), classes (see interface IlrClass), enumerations (see interface IlrEnum) and primitive types (see interface IlrPrimitiveType).

Here is a sketch of the different ways by which an object model may be defined:

Once an object model has been defined it may be saved to an output stream as shown in the following code extract:

   IlrObjectModel bom = ...;
   Writer writer = new OutputStreamWriter(System.out);
   (new IlrJavaSerializer()).writeObjectModel(bom, reader);

Note that if the object model may contain classes bound to actual Java classes (see method mapJavaClass) then it is recommended to limit the extent of the serialization to dynamic classes as in the following code fragment:


   IlrObjectModel bom = ...;
   Writer writer = new OutputStreamWriter(System.out);
   (new IlrJavaSerializer()).writeObjectModel(bom,
                                              writer,
                                              null,
                                              IlrSelectors.dynamicTypes(bom));


Rule Execution Server API

© Copyright IBM Corp. 1987, 2013