public class MXNARFileManager extends NARStreamHandler implements DataReceiverIfc, DataProviderIfc
| Modifier and Type | Field and Description |
|---|---|
protected DataProviderIfc |
dataProvider
Reference to the object providing data to this NAR router.
|
protected DataReceiverIfc |
dataReceiver
Reference to the object receiving data from this NAR router.
|
inputShutdown, narsIn, narsOut, np, outputShutdown| Constructor and Description |
|---|
MXNARFileManager(DCNode dcNode)
Constructs a NARFileManager with the given node.
|
MXNARFileManager(DCNode dcNode,
boolean createWriter) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
checkInput()
This method invokes a NarReader method which will check for an
empty input directory.
|
boolean |
cleanup()
Deletes NARs files that have been processed
|
void |
createNewCacheFile() |
void |
dataIsAvailable()
When this method is called by the DataProvider, a return call is made
to the provider's
getData() method. |
void |
fileDataIsAvailable()
Allows a FileDataProvider to indicate that some data is
available for processing
|
DCFieldContainer[] |
getBulkData()
Allows a DataReceiver to obtain the available data in a
known format.
|
java.io.File |
getCurrArchFile()
Allows a DataReceiver to obtain the currently processing .arch file
|
DCFieldContainer |
getData()
Allows a DataReceiver to obtain the available data in a
known format.
|
DCFieldContainer |
getData(java.lang.String batch)
Allows a DataReceiver to obtain the available data in a
known format.
|
DataProviderIfc |
getDataProvider()
Returns the object from which this DataReceiver is receiving data.
|
DataReceiverIfc |
getDataReceiver()
Returns the object to which this DataProvider is sending data.
|
DCFieldContainer[] |
getFileBulkData()
Allows a FileDataReceiver to obtain the available data in a
known format.
|
DCFieldContainer |
getFileData()
Allows a FileDataReceiver to obtain the available data in a
known format.
|
FileDataProviderIfc |
getFileDataProvider()
Gets the object that is holding data for this FileDataReceiver
|
FileDataReceiverIfc |
getFileDataReceiver()
Gets the object that is retrieving data from this FileDataProvider
|
FilenameGenerator |
getFilenameGenerator()
Returns the current filename generator
|
MXNarInputTracker |
getInputTracker()
This is for MXNarInputProcessor to get the input tracker object.
|
java.lang.String |
getNodeID()
This method returns the node ID.
|
java.lang.String |
getProcessedArchFile()
Allows a DataReceiver to obtain the last processed .arch file
|
long |
getRealNarsIn()
This must return a count of how many records this node has read in,
since it started.
|
void |
handleRejectOfFile()
To handle the remaining input files when there is reject of a file
|
boolean |
isDataAvailable()
Allows a DataReceiver to determine whether some data is
available for processing
|
boolean |
isEndOfFile()
Determines if record received is an End of file indication
|
boolean |
isFileDataAvailable()
Allows a FileDataReceiver to determine whether some file is
available for processing
|
boolean |
isStartOfFile()
Determines if the record received is start of file indication
|
void |
moveToReadyToOut(boolean initNew)
Make cache file as ready to moveToOutput()
|
java.lang.String |
openInputFile() |
void |
processData(DCFieldContainer data)
Manipulates the data provided by its DataProvider.
|
void |
processData(DCFieldContainer[] data)
Manipulates the data provided by its DataProvider.
|
boolean |
processEndOfFileData(java.lang.String transactionID)
Allows FileDataProvider to indicate end of file record
|
boolean |
processFileData(DCFieldContainer data)
Manipulates the data provided by its DataProvider
|
boolean |
processFileData(DCFieldContainer[] data)
Manipulates the set of data provided by its DataProvider
|
boolean |
processRejectFile()
Allows FileDataProvider to indicate rejection of the file
|
boolean |
processStartOfFileData(java.lang.String originalFileName)
Allows FileDataProvider to indicate start of file
|
DCFieldContainer[] |
readBulkData()
Returns a set of DCFieldContainer objects from the data stream.
|
DCFieldContainer |
readData()
Return a DCFieldContainer object from the data stream.
|
NAR |
readNAR()
Return a NAR from the data stream.
|
NAR[] |
readNARs()
Return an array of NARs from the data stream.
|
boolean |
rejectFile()
Indicates data provider to stop reading from the input file and reject it
|
void |
removeProcessedFile(java.io.File currArchFile)
Allows a DataReceiver to remove .arch file once processed
currArchFile - processed .arch file
|
void |
setDataProvider(DataProviderIfc provider)
Sets the object from which this DataReceiver will obtain
its data.
|
void |
setDataReceiver(DataReceiverIfc receiver)
Sets the object to which this DataProvider will send
its data.
|
void |
setFileDataProvider(FileDataProviderIfc provider)
Sets the object from which this FileDataReceiver will obtain
its data.
|
void |
setFileDataReceiver(FileDataReceiverIfc receiver)
Sets the object to which this FileDataProvider will send
its data.
|
void |
setFilenameGenerator(FilenameGenerator filenameGen)
Sets a new FilenameGenerator
|
void |
setProcessedArchFile(java.lang.String file)
Sets the processed .arch file absolute path
|
void |
setTransactionID(java.lang.String tID) |
void |
shutdown()
This method invokes the shutdown method of each NarWriter object.
|
void |
shutdownInput()
For this implementation of the StreamHandler, simply set the flag
that will prevent the input methods from allowing any more data into
the node.
|
void |
shutdownOutput()
For this implementation of the StreamHandler, there is no reason to
stop the output stream without first stopping the input stream.
|
void |
signalBatchCompletion(java.lang.String batch)
Allows a DataReceiver to know that the nars under the specified batch are
completed and handed over to the Data receiver
|
boolean |
storeNAR(NAR record)
Writes a single NAR to the appropriate cache file.
|
boolean |
storeNARs(NAR[] records)
Writes multiple NARs to the appropriate cache file
|
boolean |
validOIMinorType()
Allows a DataReceiver to check if Minor Type supported for disaster
recovery
|
getPerformanceMetrics, writeData, writeDataprotected DataProviderIfc dataProvider
protected DataReceiverIfc dataReceiver
public MXNARFileManager(DCNode dcNode)
dcNode - Node to managepublic MXNARFileManager(DCNode dcNode, boolean createWriter)
public void shutdown()
shutdown in interface DCStreamHandlershutdown in class NARStreamHandlerpublic boolean storeNARs(NAR[] records)
storeNARs in class NARStreamHandlertrue, if the write was successful.public boolean storeNAR(NAR record)
storeNAR in class NARStreamHandlertrue, if the write was successful.public NAR readNAR()
readNAR in class NARStreamHandlerpublic NAR[] readNARs()
readNARs in class NARStreamHandlerpublic boolean checkInput()
public java.lang.String getNodeID()
public final FilenameGenerator getFilenameGenerator()
public final void setFilenameGenerator(FilenameGenerator filenameGen)
public DCFieldContainer readData()
readData in interface DCStreamHandlerreadData in class NARStreamHandlerpublic DCFieldContainer[] readBulkData()
readBulkData in interface DCStreamHandlerpublic void shutdownInput()
shutdownInput in interface DCStreamHandlershutdownInput in class NARStreamHandlerpublic boolean cleanup()
NARStreamHandlercleanup in interface DCStreamHandlercleanup in class NARStreamHandlerpublic void shutdownOutput()
shutdownOutput in interface DCStreamHandlershutdownOutput in class NARStreamHandlerpublic boolean isDataAvailable()
isDataAvailable in interface DataProviderIfctrue, if data is availablepublic DCFieldContainer getData()
getData in interface DataProviderIfcpublic DCFieldContainer[] getBulkData()
getBulkData in interface DataProviderIfcpublic void setDataReceiver(DataReceiverIfc receiver)
setDataReceiver in interface DataProviderIfcreceiver - Object which will receive data from this providerpublic DataReceiverIfc getDataReceiver()
getDataReceiver in interface DataProviderIfcpublic void dataIsAvailable()
getData() method. The resulting
DCFieldContainer is then passed to this receiver's
processData() method.dataIsAvailable in interface DataReceiverIfcpublic void processData(DCFieldContainer data) throws NodeProcessingException
processData in interface DataReceiverIfcdata - The DCFieldContainer (actually a NAR) received
from the DataProviderNodeProcessingExceptionpublic void processData(DCFieldContainer[] data) throws NodeProcessingException
processData in interface DataReceiverIfcdata - The DCFieldContainer array (actually a set of NARs)
received from the DataProviderNodeProcessingExceptionpublic void setDataProvider(DataProviderIfc provider)
setDataProvider in interface DataReceiverIfcprovider - DataProvider of this receiverpublic DataProviderIfc getDataProvider()
getDataProvider in interface DataReceiverIfcpublic long getRealNarsIn()
NARStreamHandlergetRealNarsIn in class NARStreamHandlerpublic MXNarInputTracker getInputTracker()
public void moveToReadyToOut(boolean initNew)
DCStreamHandlermoveToReadyToOut in interface DCStreamHandlerpublic void createNewCacheFile()
createNewCacheFile in interface DCStreamHandlerpublic boolean isFileDataAvailable()
FileDataProviderIfcisFileDataAvailable in interface FileDataProviderIfctrue, if data is availablepublic boolean isEndOfFile()
FileDataProviderIfcisEndOfFile in interface FileDataProviderIfctrue, if data is availablepublic boolean isStartOfFile()
FileDataProviderIfcisStartOfFile in interface FileDataProviderIfcpublic DCFieldContainer getFileData()
FileDataProviderIfcgetFileData in interface FileDataProviderIfcpublic DCFieldContainer[] getFileBulkData()
FileDataProviderIfcgetFileBulkData in interface FileDataProviderIfcpublic void setFileDataReceiver(FileDataReceiverIfc receiver)
FileDataProviderIfcsetFileDataReceiver in interface FileDataProviderIfcreceiver - Object which will obtain data from this
FileDataProviderpublic FileDataReceiverIfc getFileDataReceiver()
FileDataProviderIfcgetFileDataReceiver in interface FileDataProviderIfcpublic void fileDataIsAvailable()
FileDataReceiverIfcfileDataIsAvailable in interface FileDataReceiverIfcpublic boolean processStartOfFileData(java.lang.String originalFileName)
throws NodeProcessingException
FileDataReceiverIfcprocessStartOfFileData in interface FileDataReceiverIfctrue, if data is availableNodeProcessingExceptionpublic boolean processFileData(DCFieldContainer data) throws NodeProcessingException
FileDataReceiverIfcprocessFileData in interface FileDataReceiverIfctrue, if data is processed successfullyNodeProcessingExceptionpublic boolean processFileData(DCFieldContainer[] data) throws NodeProcessingException
FileDataReceiverIfcprocessFileData in interface FileDataReceiverIfctrue, if data is processed successfullyNodeProcessingExceptionpublic boolean processEndOfFileData(java.lang.String transactionID)
throws NodeProcessingException
FileDataReceiverIfcprocessEndOfFileData in interface FileDataReceiverIfctrue , if processed successfullyNodeProcessingExceptionpublic boolean processRejectFile()
throws NodeProcessingException
FileDataReceiverIfcprocessRejectFile in interface FileDataReceiverIfctrue , if processed successfullyNodeProcessingExceptionpublic void setFileDataProvider(FileDataProviderIfc provider)
FileDataReceiverIfcsetFileDataProvider in interface FileDataReceiverIfcprovider - Object which has data that needs to be
retrieved by this DataReceiverpublic FileDataProviderIfc getFileDataProvider()
FileDataReceiverIfcgetFileDataProvider in interface FileDataReceiverIfcpublic java.lang.String openInputFile()
throws java.lang.Exception
openInputFile in interface FileDataProviderIfcjava.lang.Exceptionpublic boolean rejectFile()
throws java.lang.Exception
FileDataProviderIfcrejectFile in interface FileDataProviderIfc true for successful rejection of input filejava.lang.Exceptionpublic void handleRejectOfFile()
FileDataProviderIfchandleRejectOfFile in interface FileDataProviderIfcpublic void setTransactionID(java.lang.String tID)
setTransactionID in interface FileDataReceiverIfcpublic DCFieldContainer getData(java.lang.String batch)
DataProviderIfcgetData in interface DataProviderIfcpublic void signalBatchCompletion(java.lang.String batch)
DataProviderIfcsignalBatchCompletion in interface DataProviderIfcpublic void removeProcessedFile(java.io.File currArchFile)
DataProviderIfcremoveProcessedFile in interface DataProviderIfcpublic java.io.File getCurrArchFile()
DataProviderIfcgetCurrArchFile in interface DataProviderIfcpublic java.lang.String getProcessedArchFile()
DataProviderIfcgetProcessedArchFile in interface DataProviderIfcpublic void setProcessedArchFile(java.lang.String file)
DataProviderIfcsetProcessedArchFile in interface DataProviderIfcfile - absolute path of processed .arch filepublic boolean validOIMinorType()
DataProviderIfcvalidOIMinorType in interface DataProviderIfc