Changeset 4079


Ignore:
Timestamp:
05/30/08 10:40:39 (12 years ago)
Author:
curtis
Message:

Make metadata converter only call property setters for non-null properties.

Location:
trunk/loci/formats
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/loci/formats/auto/MetadataAutogen.java

    r4048 r4079  
    186186      Vector<String> props = q.props(); 
    187187      for (String prop : props) { 
     188        q.setProperty(prop); 
    188189        String methodName = entity + prop; 
    189190        String iList = q.varsList(); 
    190         out.println(spaces + "  dest.set" + methodName + 
    191           "(src.get" + methodName + "(" + iList + "), " + iList + ");"); 
     191        String type = q.defaultType(); 
     192        String var = q.var(methodName) + "Value"; 
     193        out.println(spaces + "  " + type + " " + var + " = " + 
     194          "src.get" + methodName + "(" + iList + ");"); 
     195        out.println(spaces + "  if (" + var + " != null) " + 
     196          "dest.set" + methodName + "(" + var + ", " + iList + ");"); 
    192197      } 
    193198    } 
  • trunk/loci/formats/auto/MetadataConverter.vm

    r4050 r4079  
    5353 
    5454  // -- MetadataConverter API methods -- 
    55   
     55 
    5656  /** 
    5757   * Copies information from a metadata retrieval object 
  • trunk/loci/formats/meta/MetadataConverter.java

    r4065 r4079  
    2525 * 
    2626 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    27  * Created by curtis via MetadataAutogen on May 23, 2008 4:44:30 PM CDT 
     27 * Created by curtis via MetadataAutogen on May 30, 2008 10:37:42 AM CDT 
    2828 * 
    2929 *----------------------------------------------------------------------------- 
     
    5353 
    5454  // -- MetadataConverter API methods -- 
    55   
     55 
    5656  /** 
    5757   * Copies information from a metadata retrieval object 
     
    6161    int experimenterCount = src.getExperimenterCount(); 
    6262    for (int experimenterIndex=0; experimenterIndex<experimenterCount; experimenterIndex++) { 
    63       dest.setExperimenterEmail(src.getExperimenterEmail(experimenterIndex), experimenterIndex); 
    64       dest.setExperimenterFirstName(src.getExperimenterFirstName(experimenterIndex), experimenterIndex); 
    65       dest.setExperimenterID(src.getExperimenterID(experimenterIndex), experimenterIndex); 
    66       dest.setExperimenterInstitution(src.getExperimenterInstitution(experimenterIndex), experimenterIndex); 
    67       dest.setExperimenterLastName(src.getExperimenterLastName(experimenterIndex), experimenterIndex); 
     63      String experimenterEmailValue = src.getExperimenterEmail(experimenterIndex); 
     64      if (experimenterEmailValue != null) dest.setExperimenterEmail(experimenterEmailValue, experimenterIndex); 
     65      String experimenterFirstNameValue = src.getExperimenterFirstName(experimenterIndex); 
     66      if (experimenterFirstNameValue != null) dest.setExperimenterFirstName(experimenterFirstNameValue, experimenterIndex); 
     67      String experimenterIDValue = src.getExperimenterID(experimenterIndex); 
     68      if (experimenterIDValue != null) dest.setExperimenterID(experimenterIDValue, experimenterIndex); 
     69      String experimenterInstitutionValue = src.getExperimenterInstitution(experimenterIndex); 
     70      if (experimenterInstitutionValue != null) dest.setExperimenterInstitution(experimenterInstitutionValue, experimenterIndex); 
     71      String experimenterLastNameValue = src.getExperimenterLastName(experimenterIndex); 
     72      if (experimenterLastNameValue != null) dest.setExperimenterLastName(experimenterLastNameValue, experimenterIndex); 
    6873    } 
    6974    int imageCount = src.getImageCount(); 
    7075    for (int imageIndex=0; imageIndex<imageCount; imageIndex++) { 
    71       dest.setImageCreationDate(src.getImageCreationDate(imageIndex), imageIndex); 
    72       dest.setImageDescription(src.getImageDescription(imageIndex), imageIndex); 
    73       dest.setImageID(src.getImageID(imageIndex), imageIndex); 
    74       dest.setImageName(src.getImageName(imageIndex), imageIndex); 
    75       dest.setDisplayOptionsID(src.getDisplayOptionsID(imageIndex), imageIndex); 
    76       dest.setDisplayOptionsZoom(src.getDisplayOptionsZoom(imageIndex), imageIndex); 
    77       dest.setDisplayOptionsProjectionZStart(src.getDisplayOptionsProjectionZStart(imageIndex), imageIndex); 
    78       dest.setDisplayOptionsProjectionZStop(src.getDisplayOptionsProjectionZStop(imageIndex), imageIndex); 
     76      String imageCreationDateValue = src.getImageCreationDate(imageIndex); 
     77      if (imageCreationDateValue != null) dest.setImageCreationDate(imageCreationDateValue, imageIndex); 
     78      String imageDescriptionValue = src.getImageDescription(imageIndex); 
     79      if (imageDescriptionValue != null) dest.setImageDescription(imageDescriptionValue, imageIndex); 
     80      String imageIDValue = src.getImageID(imageIndex); 
     81      if (imageIDValue != null) dest.setImageID(imageIDValue, imageIndex); 
     82      String imageNameValue = src.getImageName(imageIndex); 
     83      if (imageNameValue != null) dest.setImageName(imageNameValue, imageIndex); 
     84      String displayOptionsIDValue = src.getDisplayOptionsID(imageIndex); 
     85      if (displayOptionsIDValue != null) dest.setDisplayOptionsID(displayOptionsIDValue, imageIndex); 
     86      Float displayOptionsZoomValue = src.getDisplayOptionsZoom(imageIndex); 
     87      if (displayOptionsZoomValue != null) dest.setDisplayOptionsZoom(displayOptionsZoomValue, imageIndex); 
     88      Integer displayOptionsProjectionZStartValue = src.getDisplayOptionsProjectionZStart(imageIndex); 
     89      if (displayOptionsProjectionZStartValue != null) dest.setDisplayOptionsProjectionZStart(displayOptionsProjectionZStartValue, imageIndex); 
     90      Integer displayOptionsProjectionZStopValue = src.getDisplayOptionsProjectionZStop(imageIndex); 
     91      if (displayOptionsProjectionZStopValue != null) dest.setDisplayOptionsProjectionZStop(displayOptionsProjectionZStopValue, imageIndex); 
    7992      int roiCount = src.getROICount(imageIndex); 
    8093      for (int roiIndex=0; roiIndex<roiCount; roiIndex++) { 
    81         dest.setROIID(src.getROIID(imageIndex, roiIndex), imageIndex, roiIndex); 
    82         dest.setROIT0(src.getROIT0(imageIndex, roiIndex), imageIndex, roiIndex); 
    83         dest.setROIT1(src.getROIT1(imageIndex, roiIndex), imageIndex, roiIndex); 
    84         dest.setROIX0(src.getROIX0(imageIndex, roiIndex), imageIndex, roiIndex); 
    85         dest.setROIX1(src.getROIX1(imageIndex, roiIndex), imageIndex, roiIndex); 
    86         dest.setROIY0(src.getROIY0(imageIndex, roiIndex), imageIndex, roiIndex); 
    87         dest.setROIY1(src.getROIY1(imageIndex, roiIndex), imageIndex, roiIndex); 
    88         dest.setROIZ0(src.getROIZ0(imageIndex, roiIndex), imageIndex, roiIndex); 
    89         dest.setROIZ1(src.getROIZ1(imageIndex, roiIndex), imageIndex, roiIndex); 
    90       } 
    91         dest.setDisplayOptionsTimeTStart(src.getDisplayOptionsTimeTStart(imageIndex), imageIndex); 
    92         dest.setDisplayOptionsTimeTStop(src.getDisplayOptionsTimeTStop(imageIndex), imageIndex); 
    93         dest.setImagingEnvironmentAirPressure(src.getImagingEnvironmentAirPressure(imageIndex), imageIndex); 
    94         dest.setImagingEnvironmentCO2Percent(src.getImagingEnvironmentCO2Percent(imageIndex), imageIndex); 
    95         dest.setImagingEnvironmentHumidity(src.getImagingEnvironmentHumidity(imageIndex), imageIndex); 
    96         dest.setImagingEnvironmentTemperature(src.getImagingEnvironmentTemperature(imageIndex), imageIndex); 
     94        String roiidValue = src.getROIID(imageIndex, roiIndex); 
     95        if (roiidValue != null) dest.setROIID(roiidValue, imageIndex, roiIndex); 
     96        Integer roiT0Value = src.getROIT0(imageIndex, roiIndex); 
     97        if (roiT0Value != null) dest.setROIT0(roiT0Value, imageIndex, roiIndex); 
     98        Integer roiT1Value = src.getROIT1(imageIndex, roiIndex); 
     99        if (roiT1Value != null) dest.setROIT1(roiT1Value, imageIndex, roiIndex); 
     100        Integer roiX0Value = src.getROIX0(imageIndex, roiIndex); 
     101        if (roiX0Value != null) dest.setROIX0(roiX0Value, imageIndex, roiIndex); 
     102        Integer roiX1Value = src.getROIX1(imageIndex, roiIndex); 
     103        if (roiX1Value != null) dest.setROIX1(roiX1Value, imageIndex, roiIndex); 
     104        Integer roiY0Value = src.getROIY0(imageIndex, roiIndex); 
     105        if (roiY0Value != null) dest.setROIY0(roiY0Value, imageIndex, roiIndex); 
     106        Integer roiY1Value = src.getROIY1(imageIndex, roiIndex); 
     107        if (roiY1Value != null) dest.setROIY1(roiY1Value, imageIndex, roiIndex); 
     108        Integer roiZ0Value = src.getROIZ0(imageIndex, roiIndex); 
     109        if (roiZ0Value != null) dest.setROIZ0(roiZ0Value, imageIndex, roiIndex); 
     110        Integer roiZ1Value = src.getROIZ1(imageIndex, roiIndex); 
     111        if (roiZ1Value != null) dest.setROIZ1(roiZ1Value, imageIndex, roiIndex); 
     112      } 
     113        Integer displayOptionsTimeTStartValue = src.getDisplayOptionsTimeTStart(imageIndex); 
     114        if (displayOptionsTimeTStartValue != null) dest.setDisplayOptionsTimeTStart(displayOptionsTimeTStartValue, imageIndex); 
     115        Integer displayOptionsTimeTStopValue = src.getDisplayOptionsTimeTStop(imageIndex); 
     116        if (displayOptionsTimeTStopValue != null) dest.setDisplayOptionsTimeTStop(displayOptionsTimeTStopValue, imageIndex); 
     117        Float imagingEnvironmentAirPressureValue = src.getImagingEnvironmentAirPressure(imageIndex); 
     118        if (imagingEnvironmentAirPressureValue != null) dest.setImagingEnvironmentAirPressure(imagingEnvironmentAirPressureValue, imageIndex); 
     119        Float imagingEnvironmentCO2PercentValue = src.getImagingEnvironmentCO2Percent(imageIndex); 
     120        if (imagingEnvironmentCO2PercentValue != null) dest.setImagingEnvironmentCO2Percent(imagingEnvironmentCO2PercentValue, imageIndex); 
     121        Float imagingEnvironmentHumidityValue = src.getImagingEnvironmentHumidity(imageIndex); 
     122        if (imagingEnvironmentHumidityValue != null) dest.setImagingEnvironmentHumidity(imagingEnvironmentHumidityValue, imageIndex); 
     123        Float imagingEnvironmentTemperatureValue = src.getImagingEnvironmentTemperature(imageIndex); 
     124        if (imagingEnvironmentTemperatureValue != null) dest.setImagingEnvironmentTemperature(imagingEnvironmentTemperatureValue, imageIndex); 
    97125      int logicalChannelCount = src.getLogicalChannelCount(imageIndex); 
    98126      for (int logicalChannelIndex=0; logicalChannelIndex<logicalChannelCount; logicalChannelIndex++) { 
    99         dest.setLogicalChannelContrastMethod(src.getLogicalChannelContrastMethod(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
    100         dest.setLogicalChannelEmWave(src.getLogicalChannelEmWave(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
    101         dest.setLogicalChannelExWave(src.getLogicalChannelExWave(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
    102         dest.setLogicalChannelFluor(src.getLogicalChannelFluor(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
    103         dest.setLogicalChannelID(src.getLogicalChannelID(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
    104         dest.setLogicalChannelIlluminationType(src.getLogicalChannelIlluminationType(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
    105         dest.setLogicalChannelMode(src.getLogicalChannelMode(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
    106         dest.setLogicalChannelName(src.getLogicalChannelName(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
    107         dest.setLogicalChannelNdFilter(src.getLogicalChannelNdFilter(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
    108         dest.setLogicalChannelPhotometricInterpretation(src.getLogicalChannelPhotometricInterpretation(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
    109         dest.setLogicalChannelPinholeSize(src.getLogicalChannelPinholeSize(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
    110         dest.setLogicalChannelPockelCellSetting(src.getLogicalChannelPockelCellSetting(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
    111         dest.setLogicalChannelSamplesPerPixel(src.getLogicalChannelSamplesPerPixel(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
     127        String logicalChannelContrastMethodValue = src.getLogicalChannelContrastMethod(imageIndex, logicalChannelIndex); 
     128        if (logicalChannelContrastMethodValue != null) dest.setLogicalChannelContrastMethod(logicalChannelContrastMethodValue, imageIndex, logicalChannelIndex); 
     129        Integer logicalChannelEmWaveValue = src.getLogicalChannelEmWave(imageIndex, logicalChannelIndex); 
     130        if (logicalChannelEmWaveValue != null) dest.setLogicalChannelEmWave(logicalChannelEmWaveValue, imageIndex, logicalChannelIndex); 
     131        Integer logicalChannelExWaveValue = src.getLogicalChannelExWave(imageIndex, logicalChannelIndex); 
     132        if (logicalChannelExWaveValue != null) dest.setLogicalChannelExWave(logicalChannelExWaveValue, imageIndex, logicalChannelIndex); 
     133        String logicalChannelFluorValue = src.getLogicalChannelFluor(imageIndex, logicalChannelIndex); 
     134        if (logicalChannelFluorValue != null) dest.setLogicalChannelFluor(logicalChannelFluorValue, imageIndex, logicalChannelIndex); 
     135        String logicalChannelIDValue = src.getLogicalChannelID(imageIndex, logicalChannelIndex); 
     136        if (logicalChannelIDValue != null) dest.setLogicalChannelID(logicalChannelIDValue, imageIndex, logicalChannelIndex); 
     137        String logicalChannelIlluminationTypeValue = src.getLogicalChannelIlluminationType(imageIndex, logicalChannelIndex); 
     138        if (logicalChannelIlluminationTypeValue != null) dest.setLogicalChannelIlluminationType(logicalChannelIlluminationTypeValue, imageIndex, logicalChannelIndex); 
     139        String logicalChannelModeValue = src.getLogicalChannelMode(imageIndex, logicalChannelIndex); 
     140        if (logicalChannelModeValue != null) dest.setLogicalChannelMode(logicalChannelModeValue, imageIndex, logicalChannelIndex); 
     141        String logicalChannelNameValue = src.getLogicalChannelName(imageIndex, logicalChannelIndex); 
     142        if (logicalChannelNameValue != null) dest.setLogicalChannelName(logicalChannelNameValue, imageIndex, logicalChannelIndex); 
     143        Float logicalChannelNdFilterValue = src.getLogicalChannelNdFilter(imageIndex, logicalChannelIndex); 
     144        if (logicalChannelNdFilterValue != null) dest.setLogicalChannelNdFilter(logicalChannelNdFilterValue, imageIndex, logicalChannelIndex); 
     145        String logicalChannelPhotometricInterpretationValue = src.getLogicalChannelPhotometricInterpretation(imageIndex, logicalChannelIndex); 
     146        if (logicalChannelPhotometricInterpretationValue != null) dest.setLogicalChannelPhotometricInterpretation(logicalChannelPhotometricInterpretationValue, imageIndex, logicalChannelIndex); 
     147        Integer logicalChannelPinholeSizeValue = src.getLogicalChannelPinholeSize(imageIndex, logicalChannelIndex); 
     148        if (logicalChannelPinholeSizeValue != null) dest.setLogicalChannelPinholeSize(logicalChannelPinholeSizeValue, imageIndex, logicalChannelIndex); 
     149        Integer logicalChannelPockelCellSettingValue = src.getLogicalChannelPockelCellSetting(imageIndex, logicalChannelIndex); 
     150        if (logicalChannelPockelCellSettingValue != null) dest.setLogicalChannelPockelCellSetting(logicalChannelPockelCellSettingValue, imageIndex, logicalChannelIndex); 
     151        Integer logicalChannelSamplesPerPixelValue = src.getLogicalChannelSamplesPerPixel(imageIndex, logicalChannelIndex); 
     152        if (logicalChannelSamplesPerPixelValue != null) dest.setLogicalChannelSamplesPerPixel(logicalChannelSamplesPerPixelValue, imageIndex, logicalChannelIndex); 
    112153        int channelComponentCount = src.getChannelComponentCount(imageIndex, logicalChannelIndex); 
    113154        for (int channelComponentIndex=0; channelComponentIndex<channelComponentCount; channelComponentIndex++) { 
    114           dest.setChannelComponentColorDomain(src.getChannelComponentColorDomain(imageIndex, logicalChannelIndex, channelComponentIndex), imageIndex, logicalChannelIndex, channelComponentIndex); 
    115           dest.setChannelComponentIndex(src.getChannelComponentIndex(imageIndex, logicalChannelIndex, channelComponentIndex), imageIndex, logicalChannelIndex, channelComponentIndex); 
     155          String channelComponentColorDomainValue = src.getChannelComponentColorDomain(imageIndex, logicalChannelIndex, channelComponentIndex); 
     156          if (channelComponentColorDomainValue != null) dest.setChannelComponentColorDomain(channelComponentColorDomainValue, imageIndex, logicalChannelIndex, channelComponentIndex); 
     157          Integer channelComponentIndexValue = src.getChannelComponentIndex(imageIndex, logicalChannelIndex, channelComponentIndex); 
     158          if (channelComponentIndexValue != null) dest.setChannelComponentIndex(channelComponentIndexValue, imageIndex, logicalChannelIndex, channelComponentIndex); 
    116159        } 
    117           dest.setDetectorSettingsDetector(src.getDetectorSettingsDetector(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
    118           dest.setDetectorSettingsGain(src.getDetectorSettingsGain(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
    119           dest.setDetectorSettingsOffset(src.getDetectorSettingsOffset(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
    120           dest.setLightSourceSettingsAttenuation(src.getLightSourceSettingsAttenuation(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
    121           dest.setLightSourceSettingsLightSource(src.getLightSourceSettingsLightSource(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
    122           dest.setLightSourceSettingsWavelength(src.getLightSourceSettingsWavelength(imageIndex, logicalChannelIndex), imageIndex, logicalChannelIndex); 
     160          String detectorSettingsDetectorValue = src.getDetectorSettingsDetector(imageIndex, logicalChannelIndex); 
     161          if (detectorSettingsDetectorValue != null) dest.setDetectorSettingsDetector(detectorSettingsDetectorValue, imageIndex, logicalChannelIndex); 
     162          Float detectorSettingsGainValue = src.getDetectorSettingsGain(imageIndex, logicalChannelIndex); 
     163          if (detectorSettingsGainValue != null) dest.setDetectorSettingsGain(detectorSettingsGainValue, imageIndex, logicalChannelIndex); 
     164          Float detectorSettingsOffsetValue = src.getDetectorSettingsOffset(imageIndex, logicalChannelIndex); 
     165          if (detectorSettingsOffsetValue != null) dest.setDetectorSettingsOffset(detectorSettingsOffsetValue, imageIndex, logicalChannelIndex); 
     166          Float lightSourceSettingsAttenuationValue = src.getLightSourceSettingsAttenuation(imageIndex, logicalChannelIndex); 
     167          if (lightSourceSettingsAttenuationValue != null) dest.setLightSourceSettingsAttenuation(lightSourceSettingsAttenuationValue, imageIndex, logicalChannelIndex); 
     168          String lightSourceSettingsLightSourceValue = src.getLightSourceSettingsLightSource(imageIndex, logicalChannelIndex); 
     169          if (lightSourceSettingsLightSourceValue != null) dest.setLightSourceSettingsLightSource(lightSourceSettingsLightSourceValue, imageIndex, logicalChannelIndex); 
     170          Integer lightSourceSettingsWavelengthValue = src.getLightSourceSettingsWavelength(imageIndex, logicalChannelIndex); 
     171          if (lightSourceSettingsWavelengthValue != null) dest.setLightSourceSettingsWavelength(lightSourceSettingsWavelengthValue, imageIndex, logicalChannelIndex); 
    123172      } 
    124173      int pixelsCount = src.getPixelsCount(imageIndex); 
    125174      for (int pixelsIndex=0; pixelsIndex<pixelsCount; pixelsIndex++) { 
    126         dest.setDimensionsPhysicalSizeX(src.getDimensionsPhysicalSizeX(imageIndex, pixelsIndex), imageIndex, pixelsIndex); 
    127         dest.setDimensionsPhysicalSizeY(src.getDimensionsPhysicalSizeY(imageIndex, pixelsIndex), imageIndex, pixelsIndex); 
    128         dest.setDimensionsPhysicalSizeZ(src.getDimensionsPhysicalSizeZ(imageIndex, pixelsIndex), imageIndex, pixelsIndex); 
    129         dest.setDimensionsTimeIncrement(src.getDimensionsTimeIncrement(imageIndex, pixelsIndex), imageIndex, pixelsIndex); 
    130         dest.setDimensionsWaveIncrement(src.getDimensionsWaveIncrement(imageIndex, pixelsIndex), imageIndex, pixelsIndex); 
    131         dest.setDimensionsWaveStart(src.getDimensionsWaveStart(imageIndex, pixelsIndex), imageIndex, pixelsIndex); 
    132         dest.setPixelsBigEndian(src.getPixelsBigEndian(imageIndex, pixelsIndex), imageIndex, pixelsIndex); 
    133         dest.setPixelsDimensionOrder(src.getPixelsDimensionOrder(imageIndex, pixelsIndex), imageIndex, pixelsIndex); 
    134         dest.setPixelsID(src.getPixelsID(imageIndex, pixelsIndex), imageIndex, pixelsIndex); 
    135         dest.setPixelsPixelType(src.getPixelsPixelType(imageIndex, pixelsIndex), imageIndex, pixelsIndex); 
    136         dest.setPixelsSizeC(src.getPixelsSizeC(imageIndex, pixelsIndex), imageIndex, pixelsIndex); 
    137         dest.setPixelsSizeT(src.getPixelsSizeT(imageIndex, pixelsIndex), imageIndex, pixelsIndex); 
    138         dest.setPixelsSizeX(src.getPixelsSizeX(imageIndex, pixelsIndex), imageIndex, pixelsIndex); 
    139         dest.setPixelsSizeY(src.getPixelsSizeY(imageIndex, pixelsIndex), imageIndex, pixelsIndex); 
    140         dest.setPixelsSizeZ(src.getPixelsSizeZ(imageIndex, pixelsIndex), imageIndex, pixelsIndex); 
     175        Float dimensionsPhysicalSizeXValue = src.getDimensionsPhysicalSizeX(imageIndex, pixelsIndex); 
     176        if (dimensionsPhysicalSizeXValue != null) dest.setDimensionsPhysicalSizeX(dimensionsPhysicalSizeXValue, imageIndex, pixelsIndex); 
     177        Float dimensionsPhysicalSizeYValue = src.getDimensionsPhysicalSizeY(imageIndex, pixelsIndex); 
     178        if (dimensionsPhysicalSizeYValue != null) dest.setDimensionsPhysicalSizeY(dimensionsPhysicalSizeYValue, imageIndex, pixelsIndex); 
     179        Float dimensionsPhysicalSizeZValue = src.getDimensionsPhysicalSizeZ(imageIndex, pixelsIndex); 
     180        if (dimensionsPhysicalSizeZValue != null) dest.setDimensionsPhysicalSizeZ(dimensionsPhysicalSizeZValue, imageIndex, pixelsIndex); 
     181        Float dimensionsTimeIncrementValue = src.getDimensionsTimeIncrement(imageIndex, pixelsIndex); 
     182        if (dimensionsTimeIncrementValue != null) dest.setDimensionsTimeIncrement(dimensionsTimeIncrementValue, imageIndex, pixelsIndex); 
     183        Integer dimensionsWaveIncrementValue = src.getDimensionsWaveIncrement(imageIndex, pixelsIndex); 
     184        if (dimensionsWaveIncrementValue != null) dest.setDimensionsWaveIncrement(dimensionsWaveIncrementValue, imageIndex, pixelsIndex); 
     185        Integer dimensionsWaveStartValue = src.getDimensionsWaveStart(imageIndex, pixelsIndex); 
     186        if (dimensionsWaveStartValue != null) dest.setDimensionsWaveStart(dimensionsWaveStartValue, imageIndex, pixelsIndex); 
     187        Boolean pixelsBigEndianValue = src.getPixelsBigEndian(imageIndex, pixelsIndex); 
     188        if (pixelsBigEndianValue != null) dest.setPixelsBigEndian(pixelsBigEndianValue, imageIndex, pixelsIndex); 
     189        String pixelsDimensionOrderValue = src.getPixelsDimensionOrder(imageIndex, pixelsIndex); 
     190        if (pixelsDimensionOrderValue != null) dest.setPixelsDimensionOrder(pixelsDimensionOrderValue, imageIndex, pixelsIndex); 
     191        String pixelsIDValue = src.getPixelsID(imageIndex, pixelsIndex); 
     192        if (pixelsIDValue != null) dest.setPixelsID(pixelsIDValue, imageIndex, pixelsIndex); 
     193        String pixelsPixelTypeValue = src.getPixelsPixelType(imageIndex, pixelsIndex); 
     194        if (pixelsPixelTypeValue != null) dest.setPixelsPixelType(pixelsPixelTypeValue, imageIndex, pixelsIndex); 
     195        Integer pixelsSizeCValue = src.getPixelsSizeC(imageIndex, pixelsIndex); 
     196        if (pixelsSizeCValue != null) dest.setPixelsSizeC(pixelsSizeCValue, imageIndex, pixelsIndex); 
     197        Integer pixelsSizeTValue = src.getPixelsSizeT(imageIndex, pixelsIndex); 
     198        if (pixelsSizeTValue != null) dest.setPixelsSizeT(pixelsSizeTValue, imageIndex, pixelsIndex); 
     199        Integer pixelsSizeXValue = src.getPixelsSizeX(imageIndex, pixelsIndex); 
     200        if (pixelsSizeXValue != null) dest.setPixelsSizeX(pixelsSizeXValue, imageIndex, pixelsIndex); 
     201        Integer pixelsSizeYValue = src.getPixelsSizeY(imageIndex, pixelsIndex); 
     202        if (pixelsSizeYValue != null) dest.setPixelsSizeY(pixelsSizeYValue, imageIndex, pixelsIndex); 
     203        Integer pixelsSizeZValue = src.getPixelsSizeZ(imageIndex, pixelsIndex); 
     204        if (pixelsSizeZValue != null) dest.setPixelsSizeZ(pixelsSizeZValue, imageIndex, pixelsIndex); 
    141205        int planeCount = src.getPlaneCount(imageIndex, pixelsIndex); 
    142206        for (int planeIndex=0; planeIndex<planeCount; planeIndex++) { 
    143           dest.setPlaneTheC(src.getPlaneTheC(imageIndex, pixelsIndex, planeIndex), imageIndex, pixelsIndex, planeIndex); 
    144           dest.setPlaneTheT(src.getPlaneTheT(imageIndex, pixelsIndex, planeIndex), imageIndex, pixelsIndex, planeIndex); 
    145           dest.setPlaneTheZ(src.getPlaneTheZ(imageIndex, pixelsIndex, planeIndex), imageIndex, pixelsIndex, planeIndex); 
    146           dest.setPlaneTimingDeltaT(src.getPlaneTimingDeltaT(imageIndex, pixelsIndex, planeIndex), imageIndex, pixelsIndex, planeIndex); 
    147           dest.setPlaneTimingExposureTime(src.getPlaneTimingExposureTime(imageIndex, pixelsIndex, planeIndex), imageIndex, pixelsIndex, planeIndex); 
    148           dest.setStagePositionPositionX(src.getStagePositionPositionX(imageIndex, pixelsIndex, planeIndex), imageIndex, pixelsIndex, planeIndex); 
    149           dest.setStagePositionPositionY(src.getStagePositionPositionY(imageIndex, pixelsIndex, planeIndex), imageIndex, pixelsIndex, planeIndex); 
    150           dest.setStagePositionPositionZ(src.getStagePositionPositionZ(imageIndex, pixelsIndex, planeIndex), imageIndex, pixelsIndex, planeIndex); 
     207          Integer planeTheCValue = src.getPlaneTheC(imageIndex, pixelsIndex, planeIndex); 
     208          if (planeTheCValue != null) dest.setPlaneTheC(planeTheCValue, imageIndex, pixelsIndex, planeIndex); 
     209          Integer planeTheTValue = src.getPlaneTheT(imageIndex, pixelsIndex, planeIndex); 
     210          if (planeTheTValue != null) dest.setPlaneTheT(planeTheTValue, imageIndex, pixelsIndex, planeIndex); 
     211          Integer planeTheZValue = src.getPlaneTheZ(imageIndex, pixelsIndex, planeIndex); 
     212          if (planeTheZValue != null) dest.setPlaneTheZ(planeTheZValue, imageIndex, pixelsIndex, planeIndex); 
     213          Float planeTimingDeltaTValue = src.getPlaneTimingDeltaT(imageIndex, pixelsIndex, planeIndex); 
     214          if (planeTimingDeltaTValue != null) dest.setPlaneTimingDeltaT(planeTimingDeltaTValue, imageIndex, pixelsIndex, planeIndex); 
     215          Float planeTimingExposureTimeValue = src.getPlaneTimingExposureTime(imageIndex, pixelsIndex, planeIndex); 
     216          if (planeTimingExposureTimeValue != null) dest.setPlaneTimingExposureTime(planeTimingExposureTimeValue, imageIndex, pixelsIndex, planeIndex); 
     217          Float stagePositionPositionXValue = src.getStagePositionPositionX(imageIndex, pixelsIndex, planeIndex); 
     218          if (stagePositionPositionXValue != null) dest.setStagePositionPositionX(stagePositionPositionXValue, imageIndex, pixelsIndex, planeIndex); 
     219          Float stagePositionPositionYValue = src.getStagePositionPositionY(imageIndex, pixelsIndex, planeIndex); 
     220          if (stagePositionPositionYValue != null) dest.setStagePositionPositionY(stagePositionPositionYValue, imageIndex, pixelsIndex, planeIndex); 
     221          Float stagePositionPositionZValue = src.getStagePositionPositionZ(imageIndex, pixelsIndex, planeIndex); 
     222          if (stagePositionPositionZValue != null) dest.setStagePositionPositionZ(stagePositionPositionZValue, imageIndex, pixelsIndex, planeIndex); 
    151223        } 
    152224        int tiffDataCount = src.getTiffDataCount(imageIndex, pixelsIndex); 
    153225        for (int tiffDataIndex=0; tiffDataIndex<tiffDataCount; tiffDataIndex++) { 
    154           dest.setTiffDataFileName(src.getTiffDataFileName(imageIndex, pixelsIndex, tiffDataIndex), imageIndex, pixelsIndex, tiffDataIndex); 
    155           dest.setTiffDataFirstC(src.getTiffDataFirstC(imageIndex, pixelsIndex, tiffDataIndex), imageIndex, pixelsIndex, tiffDataIndex); 
    156           dest.setTiffDataFirstT(src.getTiffDataFirstT(imageIndex, pixelsIndex, tiffDataIndex), imageIndex, pixelsIndex, tiffDataIndex); 
    157           dest.setTiffDataFirstZ(src.getTiffDataFirstZ(imageIndex, pixelsIndex, tiffDataIndex), imageIndex, pixelsIndex, tiffDataIndex); 
    158           dest.setTiffDataIFD(src.getTiffDataIFD(imageIndex, pixelsIndex, tiffDataIndex), imageIndex, pixelsIndex, tiffDataIndex); 
    159           dest.setTiffDataNumPlanes(src.getTiffDataNumPlanes(imageIndex, pixelsIndex, tiffDataIndex), imageIndex, pixelsIndex, tiffDataIndex); 
    160           dest.setTiffDataUUID(src.getTiffDataUUID(imageIndex, pixelsIndex, tiffDataIndex), imageIndex, pixelsIndex, tiffDataIndex); 
     226          String tiffDataFileNameValue = src.getTiffDataFileName(imageIndex, pixelsIndex, tiffDataIndex); 
     227          if (tiffDataFileNameValue != null) dest.setTiffDataFileName(tiffDataFileNameValue, imageIndex, pixelsIndex, tiffDataIndex); 
     228          Integer tiffDataFirstCValue = src.getTiffDataFirstC(imageIndex, pixelsIndex, tiffDataIndex); 
     229          if (tiffDataFirstCValue != null) dest.setTiffDataFirstC(tiffDataFirstCValue, imageIndex, pixelsIndex, tiffDataIndex); 
     230          Integer tiffDataFirstTValue = src.getTiffDataFirstT(imageIndex, pixelsIndex, tiffDataIndex); 
     231          if (tiffDataFirstTValue != null) dest.setTiffDataFirstT(tiffDataFirstTValue, imageIndex, pixelsIndex, tiffDataIndex); 
     232          Integer tiffDataFirstZValue = src.getTiffDataFirstZ(imageIndex, pixelsIndex, tiffDataIndex); 
     233          if (tiffDataFirstZValue != null) dest.setTiffDataFirstZ(tiffDataFirstZValue, imageIndex, pixelsIndex, tiffDataIndex); 
     234          Integer tiffDataIFDValue = src.getTiffDataIFD(imageIndex, pixelsIndex, tiffDataIndex); 
     235          if (tiffDataIFDValue != null) dest.setTiffDataIFD(tiffDataIFDValue, imageIndex, pixelsIndex, tiffDataIndex); 
     236          Integer tiffDataNumPlanesValue = src.getTiffDataNumPlanes(imageIndex, pixelsIndex, tiffDataIndex); 
     237          if (tiffDataNumPlanesValue != null) dest.setTiffDataNumPlanes(tiffDataNumPlanesValue, imageIndex, pixelsIndex, tiffDataIndex); 
     238          String tiffDataUUIDValue = src.getTiffDataUUID(imageIndex, pixelsIndex, tiffDataIndex); 
     239          if (tiffDataUUIDValue != null) dest.setTiffDataUUID(tiffDataUUIDValue, imageIndex, pixelsIndex, tiffDataIndex); 
    161240        } 
    162241      } 
    163         dest.setStageLabelName(src.getStageLabelName(imageIndex), imageIndex); 
    164         dest.setStageLabelX(src.getStageLabelX(imageIndex), imageIndex); 
    165         dest.setStageLabelY(src.getStageLabelY(imageIndex), imageIndex); 
    166         dest.setStageLabelZ(src.getStageLabelZ(imageIndex), imageIndex); 
     242        String stageLabelNameValue = src.getStageLabelName(imageIndex); 
     243        if (stageLabelNameValue != null) dest.setStageLabelName(stageLabelNameValue, imageIndex); 
     244        Float stageLabelXValue = src.getStageLabelX(imageIndex); 
     245        if (stageLabelXValue != null) dest.setStageLabelX(stageLabelXValue, imageIndex); 
     246        Float stageLabelYValue = src.getStageLabelY(imageIndex); 
     247        if (stageLabelYValue != null) dest.setStageLabelY(stageLabelYValue, imageIndex); 
     248        Float stageLabelZValue = src.getStageLabelZ(imageIndex); 
     249        if (stageLabelZValue != null) dest.setStageLabelZ(stageLabelZValue, imageIndex); 
    167250    } 
    168251    int instrumentCount = src.getInstrumentCount(); 
    169252    for (int instrumentIndex=0; instrumentIndex<instrumentCount; instrumentIndex++) { 
    170       dest.setInstrumentID(src.getInstrumentID(instrumentIndex), instrumentIndex); 
     253      String instrumentIDValue = src.getInstrumentID(instrumentIndex); 
     254      if (instrumentIDValue != null) dest.setInstrumentID(instrumentIDValue, instrumentIndex); 
    171255      int detectorCount = src.getDetectorCount(instrumentIndex); 
    172256      for (int detectorIndex=0; detectorIndex<detectorCount; detectorIndex++) { 
    173         dest.setDetectorGain(src.getDetectorGain(instrumentIndex, detectorIndex), instrumentIndex, detectorIndex); 
    174         dest.setDetectorID(src.getDetectorID(instrumentIndex, detectorIndex), instrumentIndex, detectorIndex); 
    175         dest.setDetectorManufacturer(src.getDetectorManufacturer(instrumentIndex, detectorIndex), instrumentIndex, detectorIndex); 
    176         dest.setDetectorModel(src.getDetectorModel(instrumentIndex, detectorIndex), instrumentIndex, detectorIndex); 
    177         dest.setDetectorOffset(src.getDetectorOffset(instrumentIndex, detectorIndex), instrumentIndex, detectorIndex); 
    178         dest.setDetectorSerialNumber(src.getDetectorSerialNumber(instrumentIndex, detectorIndex), instrumentIndex, detectorIndex); 
    179         dest.setDetectorType(src.getDetectorType(instrumentIndex, detectorIndex), instrumentIndex, detectorIndex); 
    180         dest.setDetectorVoltage(src.getDetectorVoltage(instrumentIndex, detectorIndex), instrumentIndex, detectorIndex); 
     257        Float detectorGainValue = src.getDetectorGain(instrumentIndex, detectorIndex); 
     258        if (detectorGainValue != null) dest.setDetectorGain(detectorGainValue, instrumentIndex, detectorIndex); 
     259        String detectorIDValue = src.getDetectorID(instrumentIndex, detectorIndex); 
     260        if (detectorIDValue != null) dest.setDetectorID(detectorIDValue, instrumentIndex, detectorIndex); 
     261        String detectorManufacturerValue = src.getDetectorManufacturer(instrumentIndex, detectorIndex); 
     262        if (detectorManufacturerValue != null) dest.setDetectorManufacturer(detectorManufacturerValue, instrumentIndex, detectorIndex); 
     263        String detectorModelValue = src.getDetectorModel(instrumentIndex, detectorIndex); 
     264        if (detectorModelValue != null) dest.setDetectorModel(detectorModelValue, instrumentIndex, detectorIndex); 
     265        Float detectorOffsetValue = src.getDetectorOffset(instrumentIndex, detectorIndex); 
     266        if (detectorOffsetValue != null) dest.setDetectorOffset(detectorOffsetValue, instrumentIndex, detectorIndex); 
     267        String detectorSerialNumberValue = src.getDetectorSerialNumber(instrumentIndex, detectorIndex); 
     268        if (detectorSerialNumberValue != null) dest.setDetectorSerialNumber(detectorSerialNumberValue, instrumentIndex, detectorIndex); 
     269        String detectorTypeValue = src.getDetectorType(instrumentIndex, detectorIndex); 
     270        if (detectorTypeValue != null) dest.setDetectorType(detectorTypeValue, instrumentIndex, detectorIndex); 
     271        Float detectorVoltageValue = src.getDetectorVoltage(instrumentIndex, detectorIndex); 
     272        if (detectorVoltageValue != null) dest.setDetectorVoltage(detectorVoltageValue, instrumentIndex, detectorIndex); 
    181273      } 
    182274      int lightSourceCount = src.getLightSourceCount(instrumentIndex); 
    183275      for (int lightSourceIndex=0; lightSourceIndex<lightSourceCount; lightSourceIndex++) { 
    184         dest.setLightSourceID(src.getLightSourceID(instrumentIndex, lightSourceIndex), instrumentIndex, lightSourceIndex); 
    185         dest.setLightSourceManufacturer(src.getLightSourceManufacturer(instrumentIndex, lightSourceIndex), instrumentIndex, lightSourceIndex); 
    186         dest.setLightSourceModel(src.getLightSourceModel(instrumentIndex, lightSourceIndex), instrumentIndex, lightSourceIndex); 
    187         dest.setLightSourcePower(src.getLightSourcePower(instrumentIndex, lightSourceIndex), instrumentIndex, lightSourceIndex); 
    188         dest.setLightSourceSerialNumber(src.getLightSourceSerialNumber(instrumentIndex, lightSourceIndex), instrumentIndex, lightSourceIndex); 
    189         dest.setArcType(src.getArcType(instrumentIndex, lightSourceIndex), instrumentIndex, lightSourceIndex); 
    190         dest.setFilamentType(src.getFilamentType(instrumentIndex, lightSourceIndex), instrumentIndex, lightSourceIndex); 
    191         dest.setLaserFrequencyMultiplication(src.getLaserFrequencyMultiplication(instrumentIndex, lightSourceIndex), instrumentIndex, lightSourceIndex); 
    192         dest.setLaserLaserMedium(src.getLaserLaserMedium(instrumentIndex, lightSourceIndex), instrumentIndex, lightSourceIndex); 
    193         dest.setLaserPulse(src.getLaserPulse(instrumentIndex, lightSourceIndex), instrumentIndex, lightSourceIndex); 
    194         dest.setLaserTuneable(src.getLaserTuneable(instrumentIndex, lightSourceIndex), instrumentIndex, lightSourceIndex); 
    195         dest.setLaserType(src.getLaserType(instrumentIndex, lightSourceIndex), instrumentIndex, lightSourceIndex); 
    196         dest.setLaserWavelength(src.getLaserWavelength(instrumentIndex, lightSourceIndex), instrumentIndex, lightSourceIndex); 
     276        String lightSourceIDValue = src.getLightSourceID(instrumentIndex, lightSourceIndex); 
     277        if (lightSourceIDValue != null) dest.setLightSourceID(lightSourceIDValue, instrumentIndex, lightSourceIndex); 
     278        String lightSourceManufacturerValue = src.getLightSourceManufacturer(instrumentIndex, lightSourceIndex); 
     279        if (lightSourceManufacturerValue != null) dest.setLightSourceManufacturer(lightSourceManufacturerValue, instrumentIndex, lightSourceIndex); 
     280        String lightSourceModelValue = src.getLightSourceModel(instrumentIndex, lightSourceIndex); 
     281        if (lightSourceModelValue != null) dest.setLightSourceModel(lightSourceModelValue, instrumentIndex, lightSourceIndex); 
     282        Float lightSourcePowerValue = src.getLightSourcePower(instrumentIndex, lightSourceIndex); 
     283        if (lightSourcePowerValue != null) dest.setLightSourcePower(lightSourcePowerValue, instrumentIndex, lightSourceIndex); 
     284        String lightSourceSerialNumberValue = src.getLightSourceSerialNumber(instrumentIndex, lightSourceIndex); 
     285        if (lightSourceSerialNumberValue != null) dest.setLightSourceSerialNumber(lightSourceSerialNumberValue, instrumentIndex, lightSourceIndex); 
     286        String arcTypeValue = src.getArcType(instrumentIndex, lightSourceIndex); 
     287        if (arcTypeValue != null) dest.setArcType(arcTypeValue, instrumentIndex, lightSourceIndex); 
     288        String filamentTypeValue = src.getFilamentType(instrumentIndex, lightSourceIndex); 
     289        if (filamentTypeValue != null) dest.setFilamentType(filamentTypeValue, instrumentIndex, lightSourceIndex); 
     290        Integer laserFrequencyMultiplicationValue = src.getLaserFrequencyMultiplication(instrumentIndex, lightSourceIndex); 
     291        if (laserFrequencyMultiplicationValue != null) dest.setLaserFrequencyMultiplication(laserFrequencyMultiplicationValue, instrumentIndex, lightSourceIndex); 
     292        String laserLaserMediumValue = src.getLaserLaserMedium(instrumentIndex, lightSourceIndex); 
     293        if (laserLaserMediumValue != null) dest.setLaserLaserMedium(laserLaserMediumValue, instrumentIndex, lightSourceIndex); 
     294        String laserPulseValue = src.getLaserPulse(instrumentIndex, lightSourceIndex); 
     295        if (laserPulseValue != null) dest.setLaserPulse(laserPulseValue, instrumentIndex, lightSourceIndex); 
     296        Boolean laserTuneableValue = src.getLaserTuneable(instrumentIndex, lightSourceIndex); 
     297        if (laserTuneableValue != null) dest.setLaserTuneable(laserTuneableValue, instrumentIndex, lightSourceIndex); 
     298        String laserTypeValue = src.getLaserType(instrumentIndex, lightSourceIndex); 
     299        if (laserTypeValue != null) dest.setLaserType(laserTypeValue, instrumentIndex, lightSourceIndex); 
     300        Integer laserWavelengthValue = src.getLaserWavelength(instrumentIndex, lightSourceIndex); 
     301        if (laserWavelengthValue != null) dest.setLaserWavelength(laserWavelengthValue, instrumentIndex, lightSourceIndex); 
    197302      } 
    198303      int otfCount = src.getOTFCount(instrumentIndex); 
    199304      for (int otfIndex=0; otfIndex<otfCount; otfIndex++) { 
    200         dest.setOTFID(src.getOTFID(instrumentIndex, otfIndex), instrumentIndex, otfIndex); 
    201         dest.setOTFOpticalAxisAveraged(src.getOTFOpticalAxisAveraged(instrumentIndex, otfIndex), instrumentIndex, otfIndex); 
    202         dest.setOTFPixelType(src.getOTFPixelType(instrumentIndex, otfIndex), instrumentIndex, otfIndex); 
    203         dest.setOTFSizeX(src.getOTFSizeX(instrumentIndex, otfIndex), instrumentIndex, otfIndex); 
    204         dest.setOTFSizeY(src.getOTFSizeY(instrumentIndex, otfIndex), instrumentIndex, otfIndex); 
     305        String otfidValue = src.getOTFID(instrumentIndex, otfIndex); 
     306        if (otfidValue != null) dest.setOTFID(otfidValue, instrumentIndex, otfIndex); 
     307        Boolean otfOpticalAxisAveragedValue = src.getOTFOpticalAxisAveraged(instrumentIndex, otfIndex); 
     308        if (otfOpticalAxisAveragedValue != null) dest.setOTFOpticalAxisAveraged(otfOpticalAxisAveragedValue, instrumentIndex, otfIndex); 
     309        String otfPixelTypeValue = src.getOTFPixelType(instrumentIndex, otfIndex); 
     310        if (otfPixelTypeValue != null) dest.setOTFPixelType(otfPixelTypeValue, instrumentIndex, otfIndex); 
     311        Integer otfSizeXValue = src.getOTFSizeX(instrumentIndex, otfIndex); 
     312        if (otfSizeXValue != null) dest.setOTFSizeX(otfSizeXValue, instrumentIndex, otfIndex); 
     313        Integer otfSizeYValue = src.getOTFSizeY(instrumentIndex, otfIndex); 
     314        if (otfSizeYValue != null) dest.setOTFSizeY(otfSizeYValue, instrumentIndex, otfIndex); 
    205315      } 
    206316      int objectiveCount = src.getObjectiveCount(instrumentIndex); 
    207317      for (int objectiveIndex=0; objectiveIndex<objectiveCount; objectiveIndex++) { 
    208         dest.setObjectiveCalibratedMagnification(src.getObjectiveCalibratedMagnification(instrumentIndex, objectiveIndex), instrumentIndex, objectiveIndex); 
    209         dest.setObjectiveCorrection(src.getObjectiveCorrection(instrumentIndex, objectiveIndex), instrumentIndex, objectiveIndex); 
    210         dest.setObjectiveID(src.getObjectiveID(instrumentIndex, objectiveIndex), instrumentIndex, objectiveIndex); 
    211         dest.setObjectiveImmersion(src.getObjectiveImmersion(instrumentIndex, objectiveIndex), instrumentIndex, objectiveIndex); 
    212         dest.setObjectiveLensNA(src.getObjectiveLensNA(instrumentIndex, objectiveIndex), instrumentIndex, objectiveIndex); 
    213         dest.setObjectiveManufacturer(src.getObjectiveManufacturer(instrumentIndex, objectiveIndex), instrumentIndex, objectiveIndex); 
    214         dest.setObjectiveModel(src.getObjectiveModel(instrumentIndex, objectiveIndex), instrumentIndex, objectiveIndex); 
    215         dest.setObjectiveNominalMagnification(src.getObjectiveNominalMagnification(instrumentIndex, objectiveIndex), instrumentIndex, objectiveIndex); 
    216         dest.setObjectiveSerialNumber(src.getObjectiveSerialNumber(instrumentIndex, objectiveIndex), instrumentIndex, objectiveIndex); 
    217         dest.setObjectiveWorkingDistance(src.getObjectiveWorkingDistance(instrumentIndex, objectiveIndex), instrumentIndex, objectiveIndex); 
     318        Float objectiveCalibratedMagnificationValue = src.getObjectiveCalibratedMagnification(instrumentIndex, objectiveIndex); 
     319        if (objectiveCalibratedMagnificationValue != null) dest.setObjectiveCalibratedMagnification(objectiveCalibratedMagnificationValue, instrumentIndex, objectiveIndex); 
     320        String objectiveCorrectionValue = src.getObjectiveCorrection(instrumentIndex, objectiveIndex); 
     321        if (objectiveCorrectionValue != null) dest.setObjectiveCorrection(objectiveCorrectionValue, instrumentIndex, objectiveIndex); 
     322        String objectiveIDValue = src.getObjectiveID(instrumentIndex, objectiveIndex); 
     323        if (objectiveIDValue != null) dest.setObjectiveID(objectiveIDValue, instrumentIndex, objectiveIndex); 
     324        String objectiveImmersionValue = src.getObjectiveImmersion(instrumentIndex, objectiveIndex); 
     325        if (objectiveImmersionValue != null) dest.setObjectiveImmersion(objectiveImmersionValue, instrumentIndex, objectiveIndex); 
     326        Float objectiveLensNAValue = src.getObjectiveLensNA(instrumentIndex, objectiveIndex); 
     327        if (objectiveLensNAValue != null) dest.setObjectiveLensNA(objectiveLensNAValue, instrumentIndex, objectiveIndex); 
     328        String objectiveManufacturerValue = src.getObjectiveManufacturer(instrumentIndex, objectiveIndex); 
     329        if (objectiveManufacturerValue != null) dest.setObjectiveManufacturer(objectiveManufacturerValue, instrumentIndex, objectiveIndex); 
     330        String objectiveModelValue = src.getObjectiveModel(instrumentIndex, objectiveIndex); 
     331        if (objectiveModelValue != null) dest.setObjectiveModel(objectiveModelValue, instrumentIndex, objectiveIndex); 
     332        Integer objectiveNominalMagnificationValue = src.getObjectiveNominalMagnification(instrumentIndex, objectiveIndex); 
     333        if (objectiveNominalMagnificationValue != null) dest.setObjectiveNominalMagnification(objectiveNominalMagnificationValue, instrumentIndex, objectiveIndex); 
     334        String objectiveSerialNumberValue = src.getObjectiveSerialNumber(instrumentIndex, objectiveIndex); 
     335        if (objectiveSerialNumberValue != null) dest.setObjectiveSerialNumber(objectiveSerialNumberValue, instrumentIndex, objectiveIndex); 
     336        Float objectiveWorkingDistanceValue = src.getObjectiveWorkingDistance(instrumentIndex, objectiveIndex); 
     337        if (objectiveWorkingDistanceValue != null) dest.setObjectiveWorkingDistance(objectiveWorkingDistanceValue, instrumentIndex, objectiveIndex); 
    218338      } 
    219339    } 
    220340    int plateCount = src.getPlateCount(); 
    221341    for (int plateIndex=0; plateIndex<plateCount; plateIndex++) { 
    222       dest.setPlateDescription(src.getPlateDescription(plateIndex), plateIndex); 
    223       dest.setPlateExternalIdentifier(src.getPlateExternalIdentifier(plateIndex), plateIndex); 
    224       dest.setPlateID(src.getPlateID(plateIndex), plateIndex); 
    225       dest.setPlateName(src.getPlateName(plateIndex), plateIndex); 
    226       dest.setPlateStatus(src.getPlateStatus(plateIndex), plateIndex); 
     342      String plateDescriptionValue = src.getPlateDescription(plateIndex); 
     343      if (plateDescriptionValue != null) dest.setPlateDescription(plateDescriptionValue, plateIndex); 
     344      String plateExternalIdentifierValue = src.getPlateExternalIdentifier(plateIndex); 
     345      if (plateExternalIdentifierValue != null) dest.setPlateExternalIdentifier(plateExternalIdentifierValue, plateIndex); 
     346      String plateIDValue = src.getPlateID(plateIndex); 
     347      if (plateIDValue != null) dest.setPlateID(plateIDValue, plateIndex); 
     348      String plateNameValue = src.getPlateName(plateIndex); 
     349      if (plateNameValue != null) dest.setPlateName(plateNameValue, plateIndex); 
     350      String plateStatusValue = src.getPlateStatus(plateIndex); 
     351      if (plateStatusValue != null) dest.setPlateStatus(plateStatusValue, plateIndex); 
    227352    } 
    228353    int screenCount = src.getScreenCount(); 
    229354    for (int screenIndex=0; screenIndex<screenCount; screenIndex++) { 
    230       dest.setScreenID(src.getScreenID(screenIndex), screenIndex); 
    231       dest.setScreenName(src.getScreenName(screenIndex), screenIndex); 
    232       dest.setScreenProtocolDescription(src.getScreenProtocolDescription(screenIndex), screenIndex); 
    233       dest.setScreenProtocolIdentifier(src.getScreenProtocolIdentifier(screenIndex), screenIndex); 
    234       dest.setScreenReagentSetDescription(src.getScreenReagentSetDescription(screenIndex), screenIndex); 
    235       dest.setScreenType(src.getScreenType(screenIndex), screenIndex); 
     355      String screenIDValue = src.getScreenID(screenIndex); 
     356      if (screenIDValue != null) dest.setScreenID(screenIDValue, screenIndex); 
     357      String screenNameValue = src.getScreenName(screenIndex); 
     358      if (screenNameValue != null) dest.setScreenName(screenNameValue, screenIndex); 
     359      String screenProtocolDescriptionValue = src.getScreenProtocolDescription(screenIndex); 
     360      if (screenProtocolDescriptionValue != null) dest.setScreenProtocolDescription(screenProtocolDescriptionValue, screenIndex); 
     361      String screenProtocolIdentifierValue = src.getScreenProtocolIdentifier(screenIndex); 
     362      if (screenProtocolIdentifierValue != null) dest.setScreenProtocolIdentifier(screenProtocolIdentifierValue, screenIndex); 
     363      String screenReagentSetDescriptionValue = src.getScreenReagentSetDescription(screenIndex); 
     364      if (screenReagentSetDescriptionValue != null) dest.setScreenReagentSetDescription(screenReagentSetDescriptionValue, screenIndex); 
     365      String screenTypeValue = src.getScreenType(screenIndex); 
     366      if (screenTypeValue != null) dest.setScreenType(screenTypeValue, screenIndex); 
    236367      int plateRefCount = src.getPlateRefCount(screenIndex); 
    237368      for (int plateRefIndex=0; plateRefIndex<plateRefCount; plateRefIndex++) { 
    238         dest.setPlateRefID(src.getPlateRefID(screenIndex, plateRefIndex), screenIndex, plateRefIndex); 
     369        String plateRefIDValue = src.getPlateRefID(screenIndex, plateRefIndex); 
     370        if (plateRefIDValue != null) dest.setPlateRefID(plateRefIDValue, screenIndex, plateRefIndex); 
    239371      } 
    240372      int reagentCount = src.getReagentCount(screenIndex); 
    241373      for (int reagentIndex=0; reagentIndex<reagentCount; reagentIndex++) { 
    242         dest.setReagentDescription(src.getReagentDescription(screenIndex, reagentIndex), screenIndex, reagentIndex); 
    243         dest.setReagentID(src.getReagentID(screenIndex, reagentIndex), screenIndex, reagentIndex); 
    244         dest.setReagentName(src.getReagentName(screenIndex, reagentIndex), screenIndex, reagentIndex); 
    245         dest.setReagentReagentIdentifier(src.getReagentReagentIdentifier(screenIndex, reagentIndex), screenIndex, reagentIndex); 
     374        String reagentDescriptionValue = src.getReagentDescription(screenIndex, reagentIndex); 
     375        if (reagentDescriptionValue != null) dest.setReagentDescription(reagentDescriptionValue, screenIndex, reagentIndex); 
     376        String reagentIDValue = src.getReagentID(screenIndex, reagentIndex); 
     377        if (reagentIDValue != null) dest.setReagentID(reagentIDValue, screenIndex, reagentIndex); 
     378        String reagentNameValue = src.getReagentName(screenIndex, reagentIndex); 
     379        if (reagentNameValue != null) dest.setReagentName(reagentNameValue, screenIndex, reagentIndex); 
     380        String reagentReagentIdentifierValue = src.getReagentReagentIdentifier(screenIndex, reagentIndex); 
     381        if (reagentReagentIdentifierValue != null) dest.setReagentReagentIdentifier(reagentReagentIdentifierValue, screenIndex, reagentIndex); 
    246382      } 
    247383      int screenAcquisitionCount = src.getScreenAcquisitionCount(screenIndex); 
    248384      for (int screenAcquisitionIndex=0; screenAcquisitionIndex<screenAcquisitionCount; screenAcquisitionIndex++) { 
    249         dest.setScreenAcquisitionEndTime(src.getScreenAcquisitionEndTime(screenIndex, screenAcquisitionIndex), screenIndex, screenAcquisitionIndex); 
    250         dest.setScreenAcquisitionID(src.getScreenAcquisitionID(screenIndex, screenAcquisitionIndex), screenIndex, screenAcquisitionIndex); 
    251         dest.setScreenAcquisitionStartTime(src.getScreenAcquisitionStartTime(screenIndex, screenAcquisitionIndex), screenIndex, screenAcquisitionIndex); 
     385        String screenAcquisitionEndTimeValue = src.getScreenAcquisitionEndTime(screenIndex, screenAcquisitionIndex); 
     386        if (screenAcquisitionEndTimeValue != null) dest.setScreenAcquisitionEndTime(screenAcquisitionEndTimeValue, screenIndex, screenAcquisitionIndex); 
     387        String screenAcquisitionIDValue = src.getScreenAcquisitionID(screenIndex, screenAcquisitionIndex); 
     388        if (screenAcquisitionIDValue != null) dest.setScreenAcquisitionID(screenAcquisitionIDValue, screenIndex, screenAcquisitionIndex); 
     389        String screenAcquisitionStartTimeValue = src.getScreenAcquisitionStartTime(screenIndex, screenAcquisitionIndex); 
     390        if (screenAcquisitionStartTimeValue != null) dest.setScreenAcquisitionStartTime(screenAcquisitionStartTimeValue, screenIndex, screenAcquisitionIndex); 
    252391      } 
    253392    } 
    254393    int wellCount = src.getWellCount(); 
    255394    for (int wellIndex=0; wellIndex<wellCount; wellIndex++) { 
    256       dest.setWellColumn(src.getWellColumn(wellIndex), wellIndex); 
    257       dest.setWellExternalDescription(src.getWellExternalDescription(wellIndex), wellIndex); 
    258       dest.setWellExternalIdentifier(src.getWellExternalIdentifier(wellIndex), wellIndex); 
    259       dest.setWellID(src.getWellID(wellIndex), wellIndex); 
    260       dest.setWellRow(src.getWellRow(wellIndex), wellIndex); 
    261       dest.setWellType(src.getWellType(wellIndex), wellIndex); 
     395      Integer wellColumnValue = src.getWellColumn(wellIndex); 
     396      if (wellColumnValue != null) dest.setWellColumn(wellColumnValue, wellIndex); 
     397      String wellExternalDescriptionValue = src.getWellExternalDescription(wellIndex); 
     398      if (wellExternalDescriptionValue != null) dest.setWellExternalDescription(wellExternalDescriptionValue, wellIndex); 
     399      String wellExternalIdentifierValue = src.getWellExternalIdentifier(wellIndex); 
     400      if (wellExternalIdentifierValue != null) dest.setWellExternalIdentifier(wellExternalIdentifierValue, wellIndex); 
     401      String wellIDValue = src.getWellID(wellIndex); 
     402      if (wellIDValue != null) dest.setWellID(wellIDValue, wellIndex); 
     403      Integer wellRowValue = src.getWellRow(wellIndex); 
     404      if (wellRowValue != null) dest.setWellRow(wellRowValue, wellIndex); 
     405      String wellTypeValue = src.getWellType(wellIndex); 
     406      if (wellTypeValue != null) dest.setWellType(wellTypeValue, wellIndex); 
    262407      int wellSampleCount = src.getWellSampleCount(wellIndex); 
    263408      for (int wellSampleIndex=0; wellSampleIndex<wellSampleCount; wellSampleIndex++) { 
    264         dest.setWellSampleID(src.getWellSampleID(wellIndex, wellSampleIndex), wellIndex, wellSampleIndex); 
    265         dest.setWellSampleIndex(src.getWellSampleIndex(wellIndex, wellSampleIndex), wellIndex, wellSampleIndex); 
    266         dest.setWellSamplePosX(src.getWellSamplePosX(wellIndex, wellSampleIndex), wellIndex, wellSampleIndex); 
    267         dest.setWellSamplePosY(src.getWellSamplePosY(wellIndex, wellSampleIndex), wellIndex, wellSampleIndex); 
    268         dest.setWellSampleTimepoint(src.getWellSampleTimepoint(wellIndex, wellSampleIndex), wellIndex, wellSampleIndex); 
     409        String wellSampleIDValue = src.getWellSampleID(wellIndex, wellSampleIndex); 
     410        if (wellSampleIDValue != null) dest.setWellSampleID(wellSampleIDValue, wellIndex, wellSampleIndex); 
     411        Integer wellSampleIndexValue = src.getWellSampleIndex(wellIndex, wellSampleIndex); 
     412        if (wellSampleIndexValue != null) dest.setWellSampleIndex(wellSampleIndexValue, wellIndex, wellSampleIndex); 
     413        Float wellSamplePosXValue = src.getWellSamplePosX(wellIndex, wellSampleIndex); 
     414        if (wellSamplePosXValue != null) dest.setWellSamplePosX(wellSamplePosXValue, wellIndex, wellSampleIndex); 
     415        Float wellSamplePosYValue = src.getWellSamplePosY(wellIndex, wellSampleIndex); 
     416        if (wellSamplePosYValue != null) dest.setWellSamplePosY(wellSamplePosYValue, wellIndex, wellSampleIndex); 
     417        Integer wellSampleTimepointValue = src.getWellSampleTimepoint(wellIndex, wellSampleIndex); 
     418        if (wellSampleTimepointValue != null) dest.setWellSampleTimepoint(wellSampleTimepointValue, wellIndex, wellSampleIndex); 
    269419      } 
    270420    } 
Note: See TracChangeset for help on using the changeset viewer.