Package com.softwaremining.files
Class AbstractCSVFile
- All Implemented Interfaces:
IPersistence
,AbstractDataObject
,ICBLBeanNGroup
,ICBLContainer
,IFieldContainer
,ISMBean
,ISMDataType
This class is designed to provide a migration path from SequentialFiles to CSV format.
To use :
Change the superclass of a persistence file from SequentialFile (or SQLWrapper) to AbstractCSVFile
To migrate the data between two formats of the persistent class, two different classes would be required for the same data.
For example, lets say there is a "SequentialClientFile" class inheriting from SequentialFile,
Now we can create a new version called "CSVClientFile" (inheriting from AbstractCSVFile)
Next we have to instantiating the two classes, moving data from sequential to CSV version and saving it.
Here is a migration Example:
For example, lets say there is a "SequentialClientFile" class inheriting from SequentialFile,
Now we can create a new version called "CSVClientFile" (inheriting from AbstractCSVFile)
Next we have to instantiating the two classes, moving data from sequential to CSV version and saving it.
Here is a migration Example:
SequentialClientFile sequentialClientFile = new SequentialClientFile(null); CSVClientFile sequentialClientFile = new CSVClientFile(null); // Tell system where to load save/data sequentialClientFile.assignFileName( "C:/temp/SEQ_clientFile.txt" ); csvClientFile.assignFileName( "C:/temp/CSV_clientFile.csv" ); // Open the files for read/write sequentialClientFile.open(IPersistence.OPEN_MODE_INPUT); sequentialClientFile.open(IPersistence.OPEN_MODE_OUTPUT); while (sequentialClientFile.next()) { // copy the data from sequential to CSV Format csvClientFile.setValue( sequentialClientFile.getValue()); // write the data to disk csvClientFile.insert(); } // finally close the files csvClientFile.close(); sequentialClientFile.close();
-
Field Summary
Fields inherited from class com.softwaremining.files.SequentialNIOFile
_recordSize, fileInputStream, fileOutputStream, ONE_ByteBuffer, PAGE_ByteBuffer, SPACE_ByteBuffer, useMultiByteReader
Fields inherited from class com.softwaremining.files.AbstractSequentialFile
ADVANCE_NOT_INITIALIZED, advanceContinuation, advanceSize, advanceType, CRLFcharCount, currentRecordNumber, EJECT, FIRST_LINE_POS, firstLineTerminators, firstRead, fixedLenghtRecordsEndWithNewLine, fixedLengthRecord, justRead, LINE, lineCounter, numberOfInitialRecords, PAGE, rdw_format, RDW_LENGTH, rdw_Null, recordDependingField, targetIsPrinter, TOP_OF_PAGE, totalRuntime, useRDW
Fields inherited from class com.softwaremining.files.AbstractFile
openMode
Fields inherited from class com.softwaremining.wrappers.AbstractBasePersistence
fileName, ownerClassName, status
Fields inherited from class com.softwaremining.wrappers.CBLBean
EBCDIC_JIT_PD_SUPPORT_FOR_SEQ_FILES, INDEX_FOR_NON_ARRAY_VERSION_OF_FIELD, INDEX_ZERO, tmp_lengthofAssignedValue, totalRuntime_allocate, totalRuntime_calcFieldOffsets, totalRuntime_getMemoryPosition, totalRuntime_setFieldFormatted
Fields inherited from interface com.softwaremining.sql.IPersistence
ACCESS_MODE_DYNAMIC, ACCESS_MODE_RANDOM, ACCESS_MODE_SEQUENTIAL, ASCENDING_RECORD_KEY, CONDITION_TYPE_EQUALS, CONDITION_TYPE_GREATER, CONDITION_TYPE_GREATER_OR_EQUALS, CONDITION_TYPE_IGNORE, CONDITION_TYPE_IGNORE_FOR_SQL_LIKE, CONDITION_TYPE_LESS, CONDITION_TYPE_LESS_OR_EQUALS, CONDITION_TYPE_LIKE, CONDITION_TYPE_NO_CONDITION, CONDITION_TYPE_NOT_ASSIGNED, DESCENDING_RECORD_KEY, OPEN_MODE_EXTEND, OPEN_MODE_I_O, OPEN_MODE_INPUT, OPEN_MODE_NOT_OPENED, OPEN_MODE_OUTPUT, STATUS_AT_END, STATUS_DUP_KEY, STATUS_FAILED_CLOSING, STATUS_INCORRECT_READ_OF_UNOPENED_FILE, STATUS_INCORRECT_RECORDSIZE_REWRITE, STATUS_INSERT_ERR_INAPPROPRIATE_FILE, STATUS_INSERT_ERR_INVALID_KEY, STATUS_LOCK, STATUS_NOT_FOUND, STATUS_REWRITE_WITHOUT_READ, STATUS_SM_FAIL_UNKOWN_REASON, STATUS_SM_NOT_ASSIGNED, STATUS_SUCCESS, UNCERTAIN_OF_RETURN_VALUE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
Insert (write) the current data into file.int
read the next record from file.static String
static String
toCsvLine
(List<AbstractCBLField> allFieldList) Methods inherited from class com.softwaremining.files.SequentialNIOFile
_insertRecord, assignUseMultiByteReader, clear, close, getReadSize, insertNewLine, isFileOpened, nextWithException_UseExactRecordLenght, nextWithException_UseExactRecordLenght_UsingFileChannel, nextWithException_UseExactRecordLenght_UsingFileReader, nextWithException_UseLineBreaks, open, open, prevWithException, readLine_FromFileChannel, readLine_FromFileReader, updateRecord
Methods inherited from class com.softwaremining.files.AbstractSequentialFile
advance, advance, advance, assignDependingField, assignEncodedBytes, assignFileName, assignFixedLenghtRecordsEndWithNewLine, assignRecordsAreFixedLength, assignRecordSize, assignTargetIsPrinter, assignUsesRDW, closeReel, deleteRecord, exists, getCRLFcharCount, getRecordSize, insert, insertRecord, isFixedLenghtRecordsEndWithNewLine, isRDW, prevRecord, println, read, readRecord, retrieveCurrentRecordNumber, retrieveEncodedBytesForWrite, retrieveFieldLineCounter, retrieveFieldPageCounter, retrieveLineCounter, retrieveNumberOfInitialRecords, retrievePageCounter, retrieveRecordDependingField, setCRLFcharCount
Methods inherited from class com.softwaremining.files.AbstractFile
resetDataDirectory, retrieveDataDirectory, retrieveFullFileName, retrieveOpenMode
Methods inherited from class com.softwaremining.wrappers.AbstractBasePersistence
assignAccessMode, assignLock, assignStatus, assignStatus, assignStatusAsPrimitive, assignStatusValue, assignStatusValue, assignTableName, delete, insert, next, prev, readRow, retrieveAccessMode, retrieveFileName, retrieveFileName, retrieveFirstLevelEntry, retrieveSessionId, retrieveStatusField, retrieveStatusValue, update
Methods inherited from class com.softwaremining.wrappers.CBLBean
addCorrespondingValue, addCorrespondingValue, allocate, assignAddressTo, assignAddressTo, assignBean, assignBytesEncoded, assignCachedInitializationValue, assignCorrespondingValue, assignCorrespondingValue, assignDefaultValue, assignEbcdicBytes, assignEbcdicJIT_PdSupportForSequentialFiles, assignEncodedValue, assignExemptFromMemRelease, assignExternal, assignHighValues, assignInternalVars, assignLowValues, assignRawEbcdicBytes, assignRedefines, assignRedefines, assignSessionId, assignStringFormatted, assignSubstring, assignSubstring, assignToAddressOf, assignToAddressOf, assignToAddressOf, assignToAddressOf, assignToAllFields, assignValue, assignValue, assignValue, assignValue, assignValue, assignValue, assignValue, calculateStorageSize, containsPointers, equals, equals, equals, equals, equalsRightTrimmed, fieldsCount, fill, fill, fill, fill, fill, getValue, hasPackedDecimalFields, initDefaultValues, initialize, initialize, isExemptFromMemRelease, isFilled, isFilled, isFilled, isFilled, isGreaterThan, isGreaterThan, isGreaterThan, isHighValues, isInvolvedInDependency, isInvolvedInExternalDependency, isLessOrEqualTo, isLessOrEqualTo, isLessOrEqualTo, isLessOrEqualTo, isLessOrEqualTo, isLessThan, isLessThan, isLessThan, isLessThan, isLessThan, isLowValues, isRedefinedByAnotherClass, isResourceAlreadyReleased, lengthOf, printFieldPosition, printFieldValues, printOrderedFieldPosition, PrintOrderedFieldPositionsAndValue, releaseResources, releaseResources, resetCachedValues, resetCompressedFieldList, resetStructure, resize, retrieveActualLength, retrieveAsInt, retrieveAsString, retrieveCachedInitializationValue, retrieveCompressedFields, retrieveDependedFieldsList, retrieveEbcdicBytes, retrieveEbcdicValue, retrieveEncodedValue, retrieveField, retrieveField, retrieveFieldAtMemoryPosition, retrieveFieldFormatted, retrieveFields, retrieveIsTargetOfPointers, retrievePrimitiveFields, retrieveRawEbcdicBytes, retrieveSQLObject, retrieveStorageCellSize, retrieveStorageChars, retrieveSubstring, retrieveSubstring, retrieveTopLevelField, retrieveValue, retrieveValue, setValue, stringValue, subtractCorrespondingValue, subtractCorrespondingValue, toString
-
Field Details
-
log
-
-
Constructor Details
-
AbstractCSVFile
public AbstractCSVFile()constructor -
AbstractCSVFile
default Constructor- Parameters:
owner
-
-
-
Method Details
-
nextRecord
Description copied from class:AbstractSequentialFile
read the next record from file. At end thow an exception- Overrides:
nextRecord
in classAbstractSequentialFile
- Returns:
- Throws:
IOCriticalException
AtEndException
-
insertRecord
Insert (write) the current data into file.- Overrides:
insertRecord
in classAbstractSequentialFile
- Returns:
- when successful it returns IPersistence.STATUS_SUCCESS
- Throws:
IOCriticalException
-
toCsvLine
-
toCsvLine
-