/**
* A component of a library for
* MoSeS.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
package uk.ac.leeds.ccg.andyt.projects.moses.io;
import java.io.IOException;
import java.io.RandomAccessFile;
import uk.ac.leeds.ccg.andyt.projects.moses.utilities.ErrorAndExceptionHandler;
/**
* A class
collection of the following
* AbstractCASDataRecords
:
*
* - CAS001DataRecord
* - CAS002DataRecord
* - CAS003DataRecord
* - CASKS002DataRecord
* - CASKS008DataRecord
* - CASKS010DataRecord
* - CASKS017DataRecord
* - CASKS020DataRecord
* - CASKS09bDataRecord
* - CASKS09cDataRecord
* - CASKS12bDataRecord
* - CASKS12cDataRecord
* - CASKS14bDataRecord
* - CASKS14cDataRecord
*
*
*
* @author Andy
* Turner
* @version 1.0.0, 2006-08-10
* @see CASDataHandler
*/
public class CASDataRecord extends AbstractCASDataRecord {
/**
* CAS001DataRecord
*/
protected CAS001DataRecord tCAS001DataRecord;
/**
* CAS002DataRecord
*/
protected CAS002DataRecord tCAS002DataRecord;
/**
* CAS003DataRecord
*/
protected CAS003DataRecord tCAS003DataRecord;
/**
* CASKS002DataRecord
*/
protected CASKS002DataRecord tCASKS002DataRecord;
/**
* CASKS006DataRecord
*/
protected CASKS006DataRecord tCASKS006DataRecord;
/**
* CASKS008DataRecord
*/
protected CASKS008DataRecord tCASKS008DataRecord;
/**
* CASKS010DataRecord
*/
protected CASKS010DataRecord tCASKS010DataRecord;
/**
* CASKS017DataRecord
*/
protected CASKS017DataRecord tCASKS017DataRecord;
/**
* CASKS020DataRecord
*/
protected CASKS020DataRecord tCASKS020DataRecord;
/**
* CASKS09bDataRecord
*/
protected CASKS09bDataRecord tCASKS09bDataRecord;
/**
* CASKS09cDataRecord
*/
protected CASKS09cDataRecord tCASKS09cDataRecord;
/**
* CASKS12bDataRecord
*/
protected CASKS12bDataRecord tCASKS12bDataRecord;
/**
* CASKS12cDataRecord
*/
protected CASKS12cDataRecord tCASKS12cDataRecord;
/**
* CASKS14bDataRecord
*/
protected CASKS14bDataRecord tCASKS14bDataRecord;
/**
* CASKS14cDataRecord
*/
protected CASKS14cDataRecord tCASKS14cDataRecord;
/** Creates a new CASKSSelection1Record */
public CASDataRecord() {
_Init();
}
/** Creates a new CASKSSelection1Record */
public CASDataRecord(
CASDataHandler tCASDataHandler,
long tRecordID) {
init(tCASDataHandler,
tRecordID);
}
/**
* Initialises all fields.
*/
protected void _Init() {
this.tCAS001DataRecord = new CAS001DataRecord();
this.tCAS002DataRecord = new CAS002DataRecord();
this.tCAS003DataRecord = new CAS003DataRecord();
this.tCASKS002DataRecord = new CASKS002DataRecord();
this.tCASKS008DataRecord = new CASKS008DataRecord();
this.tCASKS010DataRecord = new CASKS010DataRecord();
this.tCASKS017DataRecord = new CASKS017DataRecord();
this.tCASKS020DataRecord = new CASKS020DataRecord();
this.tCASKS09bDataRecord = new CASKS09bDataRecord();
this.tCASKS09cDataRecord = new CASKS09cDataRecord();
this.tCASKS12bDataRecord = new CASKS12bDataRecord();
this.tCASKS12cDataRecord = new CASKS12cDataRecord();
this.tCASKS14bDataRecord = new CASKS14bDataRecord();
this.tCASKS14cDataRecord = new CASKS14cDataRecord();
}
/**
* Initialises all fields.
*/
protected void init(
CASDataHandler tCASDataHandler,
long tRecordID) {
this.tCAS001DataRecord = (CAS001DataRecord) tCASDataHandler
.getCAS001DataHandler().getDataRecord(tRecordID);
this.tCAS002DataRecord = (CAS002DataRecord) tCASDataHandler
.getCAS002DataHandler().getDataRecord(tRecordID);
this.tCAS003DataRecord = (CAS003DataRecord) tCASDataHandler
.getCAS003DataHandler().getDataRecord(tRecordID);
this.tCASKS002DataRecord = (CASKS002DataRecord) tCASDataHandler
.getCASKS002DataHandler().getDataRecord(tRecordID);
this.tCASKS008DataRecord = (CASKS008DataRecord) tCASDataHandler
.getCASKS008DataHandler().getDataRecord(tRecordID);
this.tCASKS010DataRecord = (CASKS010DataRecord) tCASDataHandler
.getCASKS010DataHandler().getDataRecord(tRecordID);
this.tCASKS017DataRecord = (CASKS017DataRecord) tCASDataHandler
.getCASKS017DataHandler().getDataRecord(tRecordID);
this.tCASKS020DataRecord = (CASKS020DataRecord) tCASDataHandler
.getCASKS020DataHandler().getDataRecord(tRecordID);
this.tCASKS09bDataRecord = (CASKS09bDataRecord) tCASDataHandler
.getCASKS09bDataHandler().getDataRecord(tRecordID);
this.tCASKS09cDataRecord = (CASKS09cDataRecord) tCASDataHandler
.getCASKS09cDataHandler().getDataRecord(tRecordID);
this.tCASKS12bDataRecord = (CASKS12bDataRecord) tCASDataHandler
.getCASKS12bDataHandler().getDataRecord(tRecordID);
this.tCASKS12cDataRecord = (CASKS12cDataRecord) tCASDataHandler
.getCASKS12cDataHandler().getDataRecord(tRecordID);
this.tCASKS14bDataRecord = (CASKS14bDataRecord) tCASDataHandler
.getCASKS14bDataHandler().getDataRecord(tRecordID);
this.tCASKS14cDataRecord = (CASKS14cDataRecord) tCASDataHandler
.getCASKS14cDataHandler().getDataRecord(tRecordID);
}
/**
* Returns a string description of this;
*/
public String toString() {
return "CAS001DataRecord " + tCAS001DataRecord.toString() + ", "
+ "CAS002DataRecord " + tCAS002DataRecord.toString() + ", "
+ "CAS003DataRecord " + tCAS003DataRecord.toString() + ", "
+ "CASKS002DataRecord " + tCASKS002DataRecord.toString() + ", "
+ "CASKS008DataRecord " + tCASKS008DataRecord.toString() + ", "
+ "CASKS010DataRecord " + tCASKS010DataRecord.toString() + ", "
+ "CASKS017DataRecord " + tCASKS017DataRecord.toString() + ", "
+ "CASKS020DataRecord " + tCASKS020DataRecord.toString() + ", "
+ "CASKS09bDataRecord " + tCASKS09bDataRecord.toString() + ", "
+ "CASKS09cDataRecord " + tCASKS09cDataRecord.toString() + ", "
+ "CASKS12bDataRecord " + tCASKS12bDataRecord.toString() + ", "
+ "CASKS12cDataRecord " + tCASKS12cDataRecord.toString() + ", "
+ "CASKS14bDataRecord " + tCASKS14bDataRecord.toString() + ", "
+ "CASKS14cDataRecord " + tCASKS14cDataRecord.toString();
}
/**
* Returns the size of this CASDataRecord in bytes as a long. This does not
* account for serialVersionUID. A boolean is assumed to be the same size as
* an int in bytes.
*/
public long getSizeInBytes() {
return tCAS001DataRecord.getSizeInBytes()
+ tCAS002DataRecord.getSizeInBytes()
+ tCAS003DataRecord.getSizeInBytes()
+ tCASKS002DataRecord.getSizeInBytes()
+ tCASKS008DataRecord.getSizeInBytes()
+ tCASKS010DataRecord.getSizeInBytes()
+ tCASKS017DataRecord.getSizeInBytes()
+ tCASKS020DataRecord.getSizeInBytes()
+ tCASKS09bDataRecord.getSizeInBytes()
+ tCASKS09cDataRecord.getSizeInBytes()
+ tCASKS12bDataRecord.getSizeInBytes()
+ tCASKS12cDataRecord.getSizeInBytes()
+ tCASKS14bDataRecord.getSizeInBytes()
+ tCASKS14cDataRecord.getSizeInBytes();
}
/**
* Returns this.tCAS001DataRecord
*/
public CAS001DataRecord getCAS001DataRecord() {
return this.tCAS001DataRecord;
}
/**
* Returns this.tCAS002DataRecord
*/
public CAS002DataRecord getCAS002DataRecord() {
return this.tCAS002DataRecord;
}
/**
* Returns this.tCAS003DataRecord
*/
public CAS003DataRecord getCAS003DataRecord() {
return this.tCAS003DataRecord;
}
/**
* Returns this.tCASKS002DataRecord
*/
public CASKS002DataRecord getCASKS002DataRecord() {
return this.tCASKS002DataRecord;
}
/**
* Returns this.tCASKS006DataRecord
*/
public CASKS006DataRecord getCASKS006DataRecord() {
return this.tCASKS006DataRecord;
}
/**
* Returns this.tCASKS008DataRecord
*/
public CASKS008DataRecord getCASKS008DataRecord() {
return this.tCASKS008DataRecord;
}
/**
* Returns this.tCASKS010DataRecord
*/
public CASKS010DataRecord getCASKS010DataRecord() {
return this.tCASKS010DataRecord;
}
/**
* Returns this.tCASKS017DataRecord
*/
public CASKS017DataRecord getCASKS017DataRecord() {
return this.tCASKS017DataRecord;
}
/**
* Returns this.tCASKS020DataRecord
*/
public CASKS020DataRecord getCASKS020DataRecord() {
return this.tCASKS020DataRecord;
}
/**
* Returns this.tCASKS09bDataRecord
*/
public CASKS09bDataRecord getCASKS09bDataRecord() {
return this.tCASKS09bDataRecord;
}
/**
* Returns this.tCASKS09cDataRecord
*/
public CASKS09cDataRecord getCASKS09cDataRecord() {
return this.tCASKS09cDataRecord;
}
/**
* Returns this.tCASKS12bDataRecord
*/
public CASKS12bDataRecord getCASKS12bDataRecord() {
return this.tCASKS12bDataRecord;
}
/**
* Returns this.tCASKS12cDataRecord
*/
public CASKS12cDataRecord getCASKS12cDataRecord() {
return this.tCASKS12cDataRecord;
}
/**
* Returns this.tCASKS14bDataRecord
*/
public CASKS14bDataRecord getCASKS14bDataRecord() {
return this.tCASKS14bDataRecord;
}
/**
* Returns this.tCASKS14cDataRecord
*/
public CASKS14cDataRecord getCASKS14cDataRecord() {
return this.tCASKS14cDataRecord;
}
/**
* Returns a copy of this.Zone_Code
*/
public @Override
char[] getZone_Code() {
return getCASKS002DataRecord().getZone_Code();
}
/**
* Writes this
to aRandomAccessFile
at the current
* position.
*
* @param aRandomAccessFile
* The RandomAccessFile
this is written to.
*/
@Override
public void write(
RandomAccessFile aRandomAccessFile) {
super.write(aRandomAccessFile);
write(aRandomAccessFile, false);
}
/**
* Writes this
to aRandomAccessFile
at the current
* position.
*
* @param aRandomAccessFile
* The RandomAccessFile
this is written to.
* @param avoidCallToSuper
* If true super.write() is not called
*/
public void write(
RandomAccessFile aRandomAccessFile,
boolean avoidCallToSuper) {
if (avoidCallToSuper) {
} else {
write(aRandomAccessFile);
}
}
}