/** * Validates a given c_domain_type constraint * <p> * TODO: does not report a problem on values that have a higher precision than specified * * @param cdtobj * @param archetype * @param errors */ private void validateCDomainType(CDomainType cdtobj, Archetype archetype, List<ValidationError> errors) { if (cdtobj.hasAssumedValue()) { log.debug("validating assumed value: " + cdtobj.getAssumedValue()); if (!cdtobj.validValue(cdtobj.getAssumedValue())) { ValidationError error = new ValidationError(ErrorType.VOBAV, null, cdtobj.getAssumedValue(), cdtobj.getRmTypeName(), cdtobj.path()); errors.add(error); } } else { log.debug("No assumed value found for : " + cdtobj.getRmTypeName() + " at " + cdtobj.path()); } if (cdtobj instanceof CCodePhrase) { validateCCodePhrase((CCodePhrase) cdtobj, errors); } else if (cdtobj instanceof CDvQuantity) { log.debug("validating CDVQuantity object at " + cdtobj.path()); checkArchetypeUnitsValidity((CDvQuantity) cdtobj, errors); } }