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
FieldsFields inherited from class com.softwaremining.files.SequentialNIOFile
_recordSize, fileInputStream, fileOutputStream, ONE_ByteBuffer, PAGE_ByteBuffer, SPACE_ByteBuffer, useMultiByteReaderFields 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, useRDWFields inherited from class com.softwaremining.files.AbstractFile
openModeFields inherited from class com.softwaremining.wrappers.AbstractBasePersistence
fileName, ownerClassName, statusFields 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_setFieldFormattedFields 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_CLOSE_FILE_FILE_NOT_OPEN, 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_OPEN_FILE_FILE_NOT_FOUND, STATUS_REWRITE_WITHOUT_READ, STATUS_SM_FAIL_UNKOWN_REASON, STATUS_SM_NOT_ASSIGNED, STATUS_SUCCESS, UNCERTAIN_OF_RETURN_VALUE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintInsert (write) the current data into file.intread the next record from file.static Stringstatic StringtoCsvLine(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, updateRecordMethods 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, setCRLFcharCountMethods inherited from class com.softwaremining.files.AbstractFile
assignOptional, resetDataDirectory, retrieveDataDirectory, retrieveFullFileName, retrieveOpenModeMethods 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, updateMethods 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, 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, print, printFieldPosition, printFieldValues, printOrderedFieldPosition, releaseResources, releaseResources, resetCachedValues, resetCompressedFieldList, resetStorageManager, resetStructure, resize, retrieveActualLength, retrieveAsInt, retrieveAsString, retrieveCachedInitializationValue, retrieveCompressedFields, retrieveDependedFieldsList, retrieveEbcdicBytes, retrieveEbcdicValue, retrieveEncodedValue, retrieveField, retrieveField, retrieveFieldAtMemoryPosition, retrieveFieldFormatted, retrieveFields, retrieveIsTargetOfPointers, retrievePrimitiveFields, retrieveRawEbcdicBytes, retrieveRedefinesList, retrieveSQLObject, retrieveStorageBytes, retrieveStorageCellSize, 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:AbstractSequentialFileread the next record from file. At end thow an exception- Overrides:
nextRecordin classAbstractSequentialFile- Returns:
- Throws:
IOCriticalExceptionAtEndException
-
insertRecord
Insert (write) the current data into file.- Overrides:
insertRecordin classAbstractSequentialFile- Returns:
- when successful it returns IPersistence.STATUS_SUCCESS
- Throws:
IOCriticalException
-
toCsvLine
-
toCsvLine
-