/**
* 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;
import uk.ac.leeds.ccg.andyt.projects.moses.utilities.StaticConverter;
/**
* For representing CAS KS015 Records and providing safe access to the data. NB.
* In aggregating it has been noticed that
* averageDistanceInKMTravelledToFixedPlaceOfWork is perculiar.
*/
public class CASKS015DataRecord extends AbstractCASDataRecord {
/*
* This table is different for Scotland and Northern and Ireland. The cell
* numbers shown are for England and Wales Table KS015 Travel to Work: All
* people aged 16-74 in employment Footnotes and Comments for Table KS015 1.
* The distance travelled is a calculation of the straight line between the
* postcode of place of residence and postcode of workplace. 2. Excludes
* working at home, no fixed place of work, working at offshore
* installation, working outside UK. 3. For the purposes of this table,
* public transport is defined as Underground, metro, light rail or tram;
* train; bus, minibus or coach. 4. The number of people who travel to work
* by public transport who live in a household with/without a car or van is
* expressed as a percentage of the number of people who travel to work by
* public transport. These figures may not sum to 100% as residents of
* communal establishments who travel to work by public transport are not
* included in these counts.
*/
/**
* KS0150001 = peopleAged16to74InEmployment
*/
protected int peopleAged16to74InEmployment;
/**
* KS0150002 = peopleAged16to74InEmploymentWhoWorkMainlyAtOrFromHome
*/
protected int peopleAged16to74InEmploymentWhoWorkMainlyAtOrFromHome;
/**
* KS0150003 =peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByUndergroundMetroLightRailTram
*/
protected int peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByUndergroundMetroLightRailTram;
/**
* KS0150004 = peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTrain
*/
protected int peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTrain;
/**
* KS0150005 =
* peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBusMinibusOrCoach
*/
protected int peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBusMinibusOrCoach;
/**
* KS0150006 =
* peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByMotorcycleScooterOrMoped
*/
protected int peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByMotorcycleScooterOrMoped;
/**
* KS0150007 =
* peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByDrivingACarOrVan
*/
protected int peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByDrivingACarOrVan;
/**
* KS0150008 =
* peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByPassengerInACarOrVan
*/
protected int peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByPassengerInACarOrVan;
/**
* KS0150009 =
* peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTaxiOrMinicab
*/
protected int peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTaxiOrMinicab;
/**
* KS0150010 = peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBicycle
*/
protected int peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBicycle;
/**
* KS0150011 = peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOnFoot
*/
protected int peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOnFoot;
/**
* KS0150012 = peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOther
*/
protected int peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOther;
/**
* KS0150013 = averageDistanceInKMTravelledToFixedPlaceOfWork
*/
protected int averageDistanceInKMTravelledToFixedPlaceOfWork;
/**
* KS0150014 = publicTransportUsersInHouseholdsWithACarOrVan
*/
protected int publicTransportUsersInHouseholdsWithACarOrVan;
/**
* KS0150015 = publicTransportUsersInHouseholdsWithoutACarOrVan
*/
protected int publicTransportUsersInHouseholdsWithoutACarOrVan;
/** Creates a new CASKS015Record */
public CASKS015DataRecord() {
_Init();
}
/**
* Creates a new CASKS015Record cloned from aCASKS015Record
*
* @param aCASKS015Record
* The CASKS015Record from which this is cloned.
*/
public CASKS015DataRecord(CASKS015DataRecord aCASKS015Record) {
init(aCASKS015Record);
}
/**
* Creates a new CASKS015DataRecord
*
* @param initZero
* To ensure initZero() is used instead of _Init()
*/
public CASKS015DataRecord(boolean initZero) {
initZero();
}
/**
* Creates a new CASKS015DataRecord
*
* @param RecordID
* The RecordID to be assigned to this
* @param line
* The Comma Seperated Value String
* @param country
* Identifies type of table
*
String
of the values
* of the Fields
of this
.
*/
@Override
public String toCSVString() {
return super.toCSVString() + "," + peopleAged16to74InEmployment + "," + peopleAged16to74InEmploymentWhoWorkMainlyAtOrFromHome + "," + peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByUndergroundMetroLightRailTram + "," + peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTrain + "," + peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBusMinibusOrCoach + "," + peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByMotorcycleScooterOrMoped + "," + peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByDrivingACarOrVan + "," + peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByPassengerInACarOrVan + "," + peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTaxiOrMinicab + "," + peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBicycle + "," + peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOnFoot + "," + peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOther + "," + averageDistanceInKMTravelledToFixedPlaceOfWork + "," + publicTransportUsersInHouseholdsWithACarOrVan + "," + publicTransportUsersInHouseholdsWithoutACarOrVan;
}
/**
* @return A Comma Seperated Version (CSV) String
of the names
* of the Fields
of this
*/
@Override
public String toCSVStringFields() {
return super.toCSVStringFields() + ",peopleAged16to74InEmployment" + ",peopleAged16to74InEmploymentWhoWorkMainlyAtOrFromHome" + ",peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByUndergroundMetroLightRailTram" + ",peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTrain" + ",peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBusMinibusOrCoach" + ",peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByMotorcycleScooterOrMoped" + ",peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByDrivingACarOrVan" + ",peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByPassengerInACarOrVan" + ",peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTaxiOrMinicab" + ",peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBicycle" + ",peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOnFoot" + ",peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOther" + ",averageDistanceInKMTravelledToFixedPlaceOfWork" + ",publicTransportUsersInHouseholdsWithACarOrVan" + ",publicTransportUsersInHouseholdsWithoutACarOrVan";
}
/**
* Returns a copy of this.peopleAged16to74InEmployment
*/
public int getPeopleAged16to74InEmployment() {
return this.peopleAged16to74InEmployment;
}
/**
* Returns a copy of
* this.peopleAged16to74InEmploymentWhoWorkMainlyAtOrFromHome
*/
public int getPeopleAged16to74InEmploymentWhoWorkMainlyAtOrFromHome() {
return this.peopleAged16to74InEmploymentWhoWorkMainlyAtOrFromHome;
}
/**
* Returns a copy of this.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByUndergroundMetroLightRailTram
*/
public int getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByUndergroundMetroLightRailTram() {
return this.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByUndergroundMetroLightRailTram;
}
/**
* Returns a copy of
* this.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTrain
*/
public int getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTrain() {
return this.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTrain;
}
/**
* Returns a copy of this.
* peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBusMinibusOrCoach
*/
public int getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBusMinibusOrCoach() {
return this.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBusMinibusOrCoach;
}
/**
* Returns a copy of this.
* peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByMotorcycleScooterOrMoped
*/
public int getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByMotorcycleScooterOrMoped() {
return this.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByMotorcycleScooterOrMoped;
}
/**
* Returns a copy of this.
* peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByDrivingACarOrVan
*/
public int getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByDrivingACarOrVan() {
return this.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByDrivingACarOrVan;
}
/**
* Returns a copy of this.
* peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByPassengerInACarOrVan
*/
public int getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByPassengerInACarOrVan() {
return this.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByPassengerInACarOrVan;
}
/**
* Returns a copy of
* this.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTaxiOrMinicab
*/
public int getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTaxiOrMinicab() {
return this.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTaxiOrMinicab;
}
/**
* Returns a copy of
* this.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBicycle
*/
public int getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBicycle() {
return this.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBicycle;
}
/**
* Returns a copy of
* this.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOnFoot
*/
public int getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOnFoot() {
return this.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOnFoot;
}
/**
* Returns a copy of
* this.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOther
*/
public int getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOther() {
return this.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOther;
}
/**
* Returns a copy of this.averageDistanceInKMTravelledToFixedPlaceOfWork
*/
public int getAverageDistanceInKMTravelledToFixedPlaceOfWork() {
return this.averageDistanceInKMTravelledToFixedPlaceOfWork;
}
/**
* Returns a copy of this.publicTransportUsersInHouseholdsWithACarOrVan
*/
public int getPublicTransportUsersInHouseholdsWithACarOrVan() {
return this.publicTransportUsersInHouseholdsWithACarOrVan;
}
/**
* Returns a copy of this.publicTransportUsersInHouseholdsWithoutACarOrVan
*/
public int getPublicTransportUsersInHouseholdsWithoutACarOrVan() {
return this.publicTransportUsersInHouseholdsWithoutACarOrVan;
}
/**
* 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, true);
}
/**
* 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) {
try {
aRandomAccessFile.writeInt(peopleAged16to74InEmployment);
aRandomAccessFile.writeInt(peopleAged16to74InEmploymentWhoWorkMainlyAtOrFromHome);
aRandomAccessFile.writeInt(peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByUndergroundMetroLightRailTram);
aRandomAccessFile.writeInt(peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTrain);
aRandomAccessFile.writeInt(peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBusMinibusOrCoach);
aRandomAccessFile.writeInt(peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByMotorcycleScooterOrMoped);
aRandomAccessFile.writeInt(peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByDrivingACarOrVan);
aRandomAccessFile.writeInt(peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByPassengerInACarOrVan);
aRandomAccessFile.writeInt(peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTaxiOrMinicab);
aRandomAccessFile.writeInt(peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBicycle);
aRandomAccessFile.writeInt(peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOnFoot);
aRandomAccessFile.writeInt(peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOther);
aRandomAccessFile.writeInt(averageDistanceInKMTravelledToFixedPlaceOfWork);
aRandomAccessFile.writeInt(publicTransportUsersInHouseholdsWithACarOrVan);
aRandomAccessFile.writeInt(publicTransportUsersInHouseholdsWithoutACarOrVan);
} catch (IOException aIOException) {
System.err.println(aIOException.getLocalizedMessage());
System.exit(ErrorAndExceptionHandler.IOException);
}
} else {
write(aRandomAccessFile);
}
}
/**
* @return An aggregated CASKS015DataRecord
where:
* RecordID = this.RecordID
* Zone_Code = this.Zone_Code
For aggregating
* CASKS015DataRecords
. User needs to take care in
* aggregating to ensure aggregation does not compromise (introduce
* error) based on the numbers used (i.e. numbers may not be precise
* or have sufficient magnitude).
* @param aCASKS015DataRecord
* The CASKS015DataRecord
to be aggregated with
* this
.
*/
public CASKS015DataRecord aggregate(CASKS015DataRecord aCASKS015DataRecord) {
CASKS015DataRecord newCASKS015DataRecord = new CASKS015DataRecord(
aCASKS015DataRecord);
newCASKS015DataRecord.peopleAged16to74InEmployment += getPeopleAged16to74InEmployment();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoWorkMainlyAtOrFromHome += getPeopleAged16to74InEmploymentWhoWorkMainlyAtOrFromHome();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByUndergroundMetroLightRailTram += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByUndergroundMetroLightRailTram();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTrain += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTrain();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBusMinibusOrCoach += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBusMinibusOrCoach();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByMotorcycleScooterOrMoped += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByMotorcycleScooterOrMoped();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByDrivingACarOrVan += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByDrivingACarOrVan();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByPassengerInACarOrVan += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByPassengerInACarOrVan();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTaxiOrMinicab += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTaxiOrMinicab();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBicycle += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBicycle();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOnFoot += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOnFoot();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOther += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOther();
newCASKS015DataRecord.averageDistanceInKMTravelledToFixedPlaceOfWork += getAverageDistanceInKMTravelledToFixedPlaceOfWork();
newCASKS015DataRecord.publicTransportUsersInHouseholdsWithACarOrVan += getPublicTransportUsersInHouseholdsWithACarOrVan();
newCASKS015DataRecord.publicTransportUsersInHouseholdsWithoutACarOrVan += getPublicTransportUsersInHouseholdsWithoutACarOrVan();
return newCASKS015DataRecord;
}
/**
* @return An aggregated CASKS015DataRecord
where:
* RecordID = newRecordID
* Zone_Code = newZone_Code
For aggregating
* CASKS015DataRecords
. User needs to take care in
* aggregating to ensure aggregation does not compromise (introduce
* error) based on the numbers used (i.e. numbers may not be precise
* or have sufficient magnitude).
* @param aCASKS015DataRecord
* The CASKS015DataRecord
to be aggregated with
* this
.
* @param newRecordID
* The RecordID
assigned to result.
* @param newZone_Code
* The Zone_Code
assigned to result.
*/
public CASKS015DataRecord aggregate(CASKS015DataRecord aCASKS015DataRecord,
long newRecordID, char[] newZone_Code) {
CASKS015DataRecord newCASKS015DataRecord = new CASKS015DataRecord(this);
newCASKS015DataRecord._RecordID = newRecordID;
// newCASKS015DataRecord.Zone_Code = aCASKS015DataRecord.Zone_Code;
int aZone_CodeID = 0;
for (int Zone_CodeID = 0; Zone_CodeID < newZone_Code.length; Zone_CodeID++) {
newCASKS015DataRecord.Zone_Code[Zone_CodeID] = newZone_Code[Zone_CodeID];
aZone_CodeID = Zone_CodeID;
}
for (int Zone_CodeID = aZone_CodeID; Zone_CodeID < Zone_Code.length; Zone_CodeID++) {
newCASKS015DataRecord.Zone_Code[Zone_CodeID] = ' ';
}
newCASKS015DataRecord.peopleAged16to74InEmployment += getPeopleAged16to74InEmployment();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoWorkMainlyAtOrFromHome += getPeopleAged16to74InEmploymentWhoWorkMainlyAtOrFromHome();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByUndergroundMetroLightRailTram += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByUndergroundMetroLightRailTram();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTrain += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTrain();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBusMinibusOrCoach += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBusMinibusOrCoach();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByMotorcycleScooterOrMoped += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByMotorcycleScooterOrMoped();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByDrivingACarOrVan += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByDrivingACarOrVan();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByPassengerInACarOrVan += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByPassengerInACarOrVan();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTaxiOrMinicab += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByTaxiOrMinicab();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBicycle += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByBicycle();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOnFoot += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOnFoot();
newCASKS015DataRecord.peopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOther += getPeopleAged16to74InEmploymentWhoUsuallyTravelToWorkByOther();
newCASKS015DataRecord.averageDistanceInKMTravelledToFixedPlaceOfWork += getAverageDistanceInKMTravelledToFixedPlaceOfWork();
newCASKS015DataRecord.publicTransportUsersInHouseholdsWithACarOrVan += getPublicTransportUsersInHouseholdsWithACarOrVan();
newCASKS015DataRecord.publicTransportUsersInHouseholdsWithoutACarOrVan += getPublicTransportUsersInHouseholdsWithoutACarOrVan();
return newCASKS015DataRecord;
}
/**
* Returns the size of this Record 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.
*/
@Override
public long getSizeInBytes() {
long result = super.getSizeInBytes();
result += (15L * (long) Integer.SIZE) / getNumberOfBitsInByte();
return result;
}
}