|
Rational Developer for Power Systems Software V7.6 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.ibm.etools.iseries.comm.ISeriesAbstractHostAPIProcessor com.ibm.etools.iseries.comm.ISeriesListRecords
public class ISeriesListRecords
A class for listing records in a *FILE object on an iSeries. This is done by calling the system API QUSLRCD.
You must first decide how much information you want returned for each
record found in the given file(s) and then call the appropriate method for that list type.
LIST_NAMES
-> return only the record names. Use getListNameOnly(ISeriesAbstractFilterString)
LIST_BASIC
-> return information common to records in database and device files getList(ISeriesAbstractFilterString)
LIST_DEVICE
-> returns information unique to record in device files getRecordListForDeviceFiles(ISeriesRecordFilterString)
LIST_NAMES
-> returns objects that implement IISeriesHostRecordNameOnly
LIST_BASIC
-> returns objects that implement IISeriesHostRecordBasic
LIST_DEVICE
-> returns objects that implement IISeriesHostRecordDevice
For some callers, it is important for performance to get a list of their own objects, versus a list of objects of a hard-coded class that
just needs to be subsequently traversed and the data copied. To enable this, use the method
getList(ISeriesAbstractFilterString, IISeriesHostListBaseFactory, IISeriesHostListStatusCallback)
. This requires an object implementing
IISeriesHostListRecordFactory
which is
used to create each object returned in the list. Depending on the list type (LIST_NAME, LIST_BASIC or LIST_DEVICE) specified
in the third parameter, either the createNameOnlyObject, createRecordObject or createDeviceRecordObject method will be
called to create each object returned. These must return objects that implement IISeriesHostRecordNameOnly, IISeriesHostRecordBasic or
IISeriesHostRecordDevice respectively.
Finally, it is possible to list records in not just one file, but multiple files if a generic file name is specified. In this case, GUI callers
can specify an object to call back to as the list processing starts for each file. This is handy for updating status dialogs. The
method to use in this case is: getList(ISeriesAbstractFilterString, IISeriesHostListBaseFactory, IISeriesHostListStatusCallback)
.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class com.ibm.etools.iseries.comm.ISeriesAbstractHostAPIProcessor |
---|
ISeriesAbstractHostAPIProcessor.HostAPIErrorCodeStructure |
Field Summary | |
---|---|
static String |
Copyright
|
protected static IISeriesHostListRecordFactory |
DEFAULT_LISTRECORD_FACTORY_NAMEARRAY
For listing names only returning a string array. |
static int |
LIST_BASIC
Return list with basic information per record ( IISeriesHostRecordBasic ) |
static int |
LIST_DEVICE
Return list with device-file-specific information per record ( IISeriesHostRecordDevice ) |
static int |
LIST_NAMES
Return list of names only. |
Constructor Summary | |
---|---|
ISeriesListRecords()
Constructor used when you do not have an AS400 object already. |
|
ISeriesListRecords(AS400 system)
Constructor when there is an existing AS400 object. |
Method Summary | |
---|---|
protected void |
buildList(int nbrRows,
int listStartingPosition,
int sizePerRow)
Build the list. |
boolean |
getFileOverride()
Query whether this list processor honors file override information |
protected String |
getFilterString()
Return the filter string used for this list request. |
protected ISeriesRecordFilterString |
getFilterStringObject()
Return the filter string object used for this list request. |
List |
getList(ISeriesAbstractFilterString fsObj)
As per the IISeriesListProcessor interface requirements. |
List |
getList(ISeriesAbstractFilterString fsObj,
IISeriesHostListBaseFactory listRecordFactory)
Retrieve a list of records, returning objects created by a supplied object factory. |
List |
getList(ISeriesAbstractFilterString fsObj,
IISeriesHostListBaseFactory listRecordFactory,
IISeriesHostListStatusCallback callback)
Retrieve a list of records, informing the caller when processing starts for each part of a multi-generic list. |
List |
getListBrief(ISeriesAbstractFilterString fsObj)
As per the IISeriesListProcessor interface requirements. |
protected void |
getListFromAS400(String filterString)
Call QUSLRCD on AS/400 to get the list. |
ISeriesListRecordsHeader |
getListHeader()
This method returns the Record list header information. |
String[] |
getListNameArray(ISeriesAbstractFilterString fsObj)
Retrieve list of names-only as an array of strings. |
List |
getListNameOnly(ISeriesAbstractFilterString fsObj)
As per the IISeriesListProcessor interface requirements. |
protected IISeriesHostListRecordFactory |
getListRecordFactory()
Get object factory used to create new objects. |
int |
getListType()
Retrieve file override value. |
List |
getRecordList(ISeriesRecordFilterString fsObj)
Retrieve a list of records, returning information common to records of both database and device files. |
List |
getRecordList(ISeriesRecordFilterString fsObj,
IISeriesHostListRecordFactory listRecordFactory)
Retrieve a list of records, returning objects created by a supplied object factory. |
List |
getRecordList(ISeriesRecordFilterString fsObj,
IISeriesHostListRecordFactory listRecordFactory,
IISeriesHostListStatusCallback callback)
Retrieve a list of records, informing the caller when processing starts for each part of a multi-generic list. |
List |
getRecordListForDeviceFiles(ISeriesRecordFilterString fsObj)
Retrieve a list of records for a device file. |
List |
getRecordListNameOnly(ISeriesRecordFilterString fsObj)
Retrieve a list of records, returning only the name per record. |
protected void |
populateObj()
Build a return object with information for one record object. |
void |
setFileOverride(boolean override)
Specify whether file overrides are honored or not during list processing. |
protected void |
setFilterStringObj(ISeriesRecordFilterString fsObj)
Set the filter string used for this list request. |
protected void |
setListRecordFactory(IISeriesHostListRecordFactory factory)
Set list record factory used to create new objects. |
void |
setListType(int listType)
Set the list type. |
void |
setSystem(AS400 system)
Set the AS/400 object used for this list processor. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.ibm.etools.iseries.comm.interfaces.IISeriesAPIProcessor |
---|
getWarnings |
Field Detail |
---|
public static final String Copyright
public static final int LIST_NAMES
public static final int LIST_BASIC
IISeriesHostRecordBasic
)
public static final int LIST_DEVICE
IISeriesHostRecordDevice
)
protected static final IISeriesHostListRecordFactory DEFAULT_LISTRECORD_FACTORY_NAMEARRAY
Constructor Detail |
---|
public ISeriesListRecords()
public ISeriesListRecords(AS400 system)
AS400
- system to use for the connection.Method Detail |
---|
public void setFileOverride(boolean override)
true=>honor
- overrides, false=>do not honor overridespublic boolean getFileOverride()
public List getListNameOnly(ISeriesAbstractFilterString fsObj) throws Exception
Same as getListNameOnly(ISeriesAbstractFilterString)
getListNameOnly
in interface IISeriesListProcessor
ISeriesHostRecordNameOnly
objects.
Exception
public String[] getListNameArray(ISeriesAbstractFilterString fsObj) throws Exception
Exception
public List getListBrief(ISeriesAbstractFilterString fsObj) throws Exception
getList(ISeriesAbstractFilterString)
!
getListBrief
in interface IISeriesListProcessor
Exception
public List getList(ISeriesAbstractFilterString fsObj) throws Exception
getList
in interface IISeriesListProcessor
ISeriesHostRecordBasic
objects.
Exception
public List getList(ISeriesAbstractFilterString fsObj, IISeriesHostListBaseFactory listRecordFactory) throws Exception
As per the IISeriesListProcessor interface requirements. Not typesafe.
getList
in interface IISeriesListProcessor
Exception
getRecordList(ISeriesRecordFilterString, IISeriesHostListRecordFactory)
public List getList(ISeriesAbstractFilterString fsObj, IISeriesHostListBaseFactory listRecordFactory, IISeriesHostListStatusCallback callback) throws Exception
As per the IISeriesListProcessor interface requirements. Not typesafe.
getList
in interface IISeriesListProcessor
Exception
getRecordList(ISeriesRecordFilterString, IISeriesHostListRecordFactory, IISeriesHostListStatusCallback)
public List getRecordListNameOnly(ISeriesRecordFilterString fsObj) throws Exception
ISeriesHostRecordNameOnly
objects.
Exception
public List getRecordList(ISeriesRecordFilterString fsObj) throws Exception
ISeriesHostRecordBasic
objects.
Exception
public List getRecordListForDeviceFiles(ISeriesRecordFilterString fsObj) throws Exception
ISeriesHostRecordDevice
objects.
Exception
public List getRecordList(ISeriesRecordFilterString fsObj, IISeriesHostListRecordFactory listRecordFactory) throws Exception
A type-safe overload.
This is the API callers use when they want to create each object in the returned list, perhaps optimized for their environment. If you are ok with the default returned objects, then just use one of the other getList variations. All others internally call this method with a default factory object.
Note this supports multi-generic lists, where the library and/or file are generic. In this case, the list of libraries will be retrieved first, then for each library the list of files. Finally, for every resulting file, the record list as requested is retrieved. The entire list of all records is concatenated together and returned as a single list.
fsObj
- ISeriesRecordFilterString
filter string
object identify what list to get. To construct one of these, pass a string of the form
library/file RCDNAME(record)
to its constructor. The record name can simple, * or generic as in A*.listRecordFactory
- An object implementing the
IISeriesHostListRecordFactory
interface. This interface prescribes three methods, and the one called depends on the type of list requested:
LIST_NAMES
calls createNameOnlyObject
.
LIST_BASIC
calls createRecordObject
.
LIST_DEVICE
calls createDeviceRecordObject
.
Exception
public int getListType()
public void setListType(int listType)
listType
- One of LIST_NAMES
, LIST_BASIC
, LIST_DEVICE
depending if you want:
public List getRecordList(ISeriesRecordFilterString fsObj, IISeriesHostListRecordFactory listRecordFactory, IISeriesHostListStatusCallback callback) throws Exception
A type-safe overload.
This is the same as the getList(ISeriesAbstractFilterString, IISeriesHostListBaseFactory, IISeriesHostListStatusCallback)
method,
but includes a callback object that is called when processing starts for each part of a multi-generic
list request. A multi-generic record list is a request where either the library or the file name are themselves
generic, requiring multiple calls to the host record list API.
This version of getList is usually used by GUI code that wishes to update a status dialog.
Exception
public ISeriesListRecordsHeader getListHeader()
ISeriesListRecordsHeader
objectprotected void getListFromAS400(String filterString) throws Exception
Exception
protected void buildList(int nbrRows, int listStartingPosition, int sizePerRow) throws Exception
Exception
protected void populateObj()
lib
- obj to populateint
- index into the String where item starts.param
- intprotected void setListRecordFactory(IISeriesHostListRecordFactory factory)
protected IISeriesHostListRecordFactory getListRecordFactory()
protected void setFilterStringObj(ISeriesRecordFilterString fsObj)
protected ISeriesRecordFilterString getFilterStringObject()
protected String getFilterString()
public void setSystem(AS400 system)
ISeriesAbstractHostAPIProcessor
setSystem
in class ISeriesAbstractHostAPIProcessor
|
Rational Developer for Power Systems Software V7.6 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |