Need better CPA005 validation tools? Our products offer more value than the competition, and are trusted by more than 75% of the top-20 financial institutions in North America. Connect with us at sales@x9ware.com and start a free evaluation today.

SDK Fundamentals

X9Ware SDK Fundamentals (below) describes various core Java classes which are available within the X9Ware SDK.

ClassDescription
X9SdkRootX9SdkRoot is a static class that hosts system wide information within the SDK. Most functions within X9SdkRoot are used during your application initialization process and before your first X9SdkBase instance is created.
X9SdkBaseA new X9SdkBase instance is created for each SDK thread that is being processed within your application. Most applications will run with a single X9SdkBase instance. X9SdkRoot assignments must be made before your first X9SdkBase instance is allocated.
X9SdkA new X9Sdk instance is created for each independent processing function within your application. X9SdkBase can own one or more X9Sdk instances. Most applications will use a single X9Sdk instance but that is not an absolute requirement. For example, if you application needs to read two separate x9 files at the same time, you would want to allocate a single X9SdkBase and then two X9Sdk instances, where each of these would be used to read a single x9 file.
X9SdkIOX9SdkIO contains IO related fields for the current X9Sdk instance. Each X9Sdk instance has a single X9SdkIO instance which is allocated in the X9Sdk constructor. Each X9SdkIO instance can accommodate one logical input file and one logical output file. For example, a single X9SdkIO insttance can support x9 input and x9 output, CSV input and x9 output, or x9 input and CSV output. However, if have multiple inputs or outputs of the same logical format, then you will need multiple X9Sdk instances which will then allocate a new X9SdkIO instance for each X9Sdk that is created.
X9SdkObjectX9SdkObjects are used by X9SdkIO to represent a single x9 record. This object is created for every possible x9 record type (not just checks). In additional to x9 record and field data, there are also fields with more limited usage that apply only to checks. This includes the check amount and image based attributes such as the image itself (in one of several forms) and an indicator as to whether the image represents the front or back of the check. x9 data can be initially presented to X9SdkObject in one of several forms. The first option is to provide the data from an external source which can be either an x9 or csv file. The second option is to provide the x9 data from an internally created csv array, which represents the individual fields that are to be ultimately used to create an x9 record. The final option is to build the x9 data on a record by record and field by field basis.
X9ObjectX9Object is the internal representation of each x9 record type and is core functionality within the SDK and our X9Assist application. X9Objects can be stored into an array list using methods provided by X9ObjectManager. Note that x9 data is stored into X9Objects but the tiff images are only optionally stored, which can dramatically reduce the amount of memory required by the x9objects for an entire x9 file. Random access to tiff images is provided using X9ImageReader to obtain images when not stored. X9Object provides a large number of fields that provide record level information such as record number, record type, and the raw data data for this x9 record. There are a large number of methods that provide access to data at the field level and also allow you to walk all x9objects in a forward or backward direction.
Scroll to Top