@Override
  public void setPropertyValue(Object id, Object value) {
    JRDesignComponentElement jrElement = (JRDesignComponentElement) getValue();
    UPCAComponent jrList = (UPCAComponent) jrElement.getComponent();

    if (id.equals(UPCAComponent.PROPERTY_CHECKSUM_MODE))
      jrList.setChecksumMode(ChecksumMode.getChecksumMode4Pos((Integer) value));
    else super.setPropertyValue(id, value);
  }
  @Override
  public void trasnferProperties(JRElement target) {
    super.trasnferProperties(target);

    JRDesignComponentElement jrSourceElement = (JRDesignComponentElement) getValue();
    UPCAComponent jrSourceBarcode = (UPCAComponent) jrSourceElement.getComponent();

    JRDesignComponentElement jrTargetElement = (JRDesignComponentElement) target;
    UPCAComponent jrTargetBarcode = (UPCAComponent) jrTargetElement.getComponent();

    jrTargetBarcode.setChecksumMode(jrSourceBarcode.getChecksumMode());
  }
  /**
   * Creates the property descriptors.
   *
   * @param desc the desc
   */
  @Override
  public void createPropertyDescriptors(
      List<IPropertyDescriptor> desc, Map<String, Object> defaultsMap) {
    super.createPropertyDescriptors(desc, defaultsMap);

    JSSComboPropertyDescriptor checksumModeD =
        new JSSComboPropertyDescriptor(
            UPCAComponent.PROPERTY_CHECKSUM_MODE,
            Messages.common_checksum_mode,
            ChecksumMode.getItems());
    checksumModeD.setDescription(Messages.MUPCA_checksum_mode_description);
    desc.add(checksumModeD);

    checksumModeD.setCategory(Messages.MUPCA_properties_category);
  }