public class OpenListHandler
extends java.lang.Object
Example: Get a list of journal objects (*JRN) on the system
// Start by getting a connection.
CommandConnection conn = CommandConnection.getConnection("system", "user", "password");
// The formatter converts the raw output bytes from the program call into more useful things.
OpenListOfObjectsFormat format = new OpenListOfObjectsFormat();
// The format listener gets notified when those useful things are ready.
OpenListOfObjectsFormatListener listener = new ObjectListOfObjectsListener()
{
public void newObjectEntry(String objectNameUsed, String objectLibraryUsed,
String objectTypeUsed, String informationStatus, int numberOfFieldsReturned)
{
System.out.println("Journal "+objectNameUsed+" in library "+objectLibraryUser+".");
}
public void newObjectFieldData(int lengthOfFieldInformation, int keyField, String typeOfData,
int lengthOfData, int offsetToData, byte[] tempDataBuffer)
{
if (keyField == 203)
{
// Text description.
System.out.println("Description: "+Conv.ebcdicByteArrayToString(tempDataBuffer, offsetToData, lengthOfData));
}
else if (keyField == 605)
{
// ASP device name.
System.out.println("ASP device: "+Conv.ebcdicByteArrayToString(tempDataBuffer, offsetToData, lengthOfData));
}
}
// We want all of the entries in the list, so don't stop processing at any time.
public boolean stopProcessing()
{
return false;
}
public void totalRecordsInList(int total)
{
System.out.println("Total objects found: "+total);
}
public void openComplete()
{
}
};
// The selection listener tells the OpenListOfJobs about other criteria we want to use to filter
// out objects from the list.
OpenListOfObjectsSelectionListener selectionListener = new OpenListOfObjectsSelectionListener()
{
public boolean isSelected()
{
return false;
}
public int getNumberOfStatuses()
{
return 1;
}
public String getStatus(int index)
{
return "A"; // Omit objects we do not have authority to.
}
};
// These keys retrieve the text description (203) and the ASP device name (605).
int[] keys = new int[] { 203, 605 };
// Construct the open list program call.
OpenListOfObjects list = new OpenListOfObjects(format, 1024, 0, null, "*ALL", "*ALL", "*JRN", null, selectionListener, keys);
// Use an OpenListHandler to help us get all of the entries.
OpenListHandler handler = new OpenListHandler(list, format, listener);
// Kick it off. The handler will call GetListEntries, which in turn will call our formatter with
// the output data for each entry in the list, which in turn will call our format listener to
// notify us via newObjectEntry() and newObjectFieldData().
handler.process(conn, 1000);
// All done.
conn.close();
| Constructor and Description |
|---|
OpenListHandler(OpenListProgram program,
ListEntryFormat format,
ListFormatListener listener) |
| Modifier and Type | Method and Description |
|---|---|
ListFormatListener |
getFormatListener() |
void |
process(CommandConnection conn,
int numRecordsToReturn)
Calls the OpenListProgram, then loops calling GetListEntries, then finally calls CloseList.
|
void |
setFormatListener(ListFormatListener listener) |
public OpenListHandler(OpenListProgram program, ListEntryFormat format, ListFormatListener listener)
public ListFormatListener getFormatListener()
public void setFormatListener(ListFormatListener listener)
public void process(CommandConnection conn, int numRecordsToReturn) throws java.io.IOException
conn - The connection to use.numRecordsToReturn - The number of records the GetListEntries call should return each time.java.io.IOException