@Override public void addValue(Field field,boolean mayMatch,Object actualValue,short valueType,ShortList itemValueType){
  int i;
  for (i=fFieldCount - 1; i > -1; i--) {
    if (fFields[i] == field) {
      break;
    }
  }
  if (i == -1) {
    String code="UnknownField";
    String eName=fIdentityConstraint.getElementName();
    String cName=fIdentityConstraint.getIdentityConstraintName();
    reportSchemaError(code,new Object[]{field.toString(),eName,cName});
    return;
  }
  if (!mayMatch) {
    String code="FieldMultipleMatch";
    String cName=fIdentityConstraint.getIdentityConstraintName();
    reportSchemaError(code,new Object[]{field.toString(),cName});
  }
 else {
    fValuesCount++;
  }
  fLocalValues[i]=actualValue;
  fLocalValueTypes[i]=valueType;
  fLocalItemValueTypes[i]=itemValueType;
  if (fValuesCount == fFieldCount) {
    checkDuplicateValues();
    for (i=0; i < fFieldCount; i++) {
      fValues.addElement(fLocalValues[i]);
      addValueType(fLocalValueTypes[i]);
      addItemValueType(fLocalItemValueTypes[i]);
    }
  }
}

@ Override public void addValue ( Field field , boolean mayMatch , Object actualValue , short valueType , ShortList itemValueType ) { int i ; for ( i = fFieldCount - 1 ; i > - 1 ; i -- ) { if ( fFields [ i ] == field ) { break ; } } if ( i == - 1 ) { String code = "UnknownField" ; String eName = fIdentityConstraint . getElementName ( ) ; String cName = fIdentityConstraint . getIdentityConstraintName ( ) ; reportSchemaError ( code , new Object [ ] { field . toString ( ) , eName , cName } ) ; return ; } if ( ! mayMatch ) { String code = "FieldMultipleMatch" ; String cName = fIdentityConstraint . getIdentityConstraintName ( ) ; reportSchemaError ( code , new Object [ ] { field . toString ( ) , cName } ) ; } else { fValuesCount ++ ; } fLocalValues [ i ] = actualValue ; fLocalValueTypes [ i ] = valueType ; fLocalItemValueTypes [ i ] = itemValueType ; if ( fValuesCount == fFieldCount ) { checkDuplicateValues ( ) ; for ( i = 0 ; i < fFieldCount ; i ++ ) { fValues . addElement ( fLocalValues [ i ] ) ; addValueType ( fLocalValueTypes [ i ] ) ; addItemValueType ( fLocalItemValueTypes [ i ] ) ; } } }
adds the specified value to the value store .
