/** * Returns the substance units ID of this model. * * @return the substance units ID of this model. Returns the empty * {@link String} if it is not set. */ public String getSubstanceUnits() { if (isSetSubstanceUnits()) { return substanceUnitsID; } else if (getLevel() < 3) { return UnitDefinition.SUBSTANCE; } return ""; }
model.getElementName(), SBMLtools.getIdOrName(model))); if (model.isSetSubstanceUnits() && !model.isSetSubstanceUnitsInstance()) { logger.warn(MessageFormat.format(
@Override public boolean check(ValidationContext ctx, Species s) { return s.isSetSubstanceUnits() || s.getModel().isSetSubstanceUnits(); } };
@Override public boolean check(ValidationContext ctx, Model m) { if (m.isSetSubstanceUnits()) { UnitDefinition def = m.getSubstanceUnitsInstance(); return def != null && (def.isVariantOfSubstance() || def.isVariantOfDimensionless()); } return true; } };
@Override public boolean check(ValidationContext ctx, Model m) { // check the substanceUnits value if (m.isSetSubstanceUnits()) { UnitDefinition ud = m.getSubstanceUnitsInstance(); if (ud != null) { return ud.isVariantOfSubstance() || ud.isVariantOfDimensionless(); } } return true; } };
@Override public boolean containsUndeclaredUnits() { boolean undeclared = super.containsUndeclaredUnits(); if (undeclared && (getLevel() > 2)) { Model model = getModel(); if ((model != null) && model.isSetSubstanceUnits()) { // In Level 3 a species inherits substance units from its model. // If the model declares the default substance units, the units of each // species are also declared. return false; } } return undeclared; }
/** * Returns the substanceUnits of this Species. * * @return the substanceUnits of this Species. */ public String getSubstanceUnits() { String units = getUnits(); if ((units == null) && (getLevel() > 2)) { Model model = getModel(); if ((model != null) && model.isSetSubstanceUnits()) { units = model.getSubstanceUnits(); } } return units; }
/** * Returns the substanceUnits of this Species as a {@link UnitDefinition} instance. * * @return The UnitsDefinition instance which has the substanceUnist of * this Species as id. */ public UnitDefinition getSubstanceUnitsInstance() { UnitDefinition ud = getUnitsInstance(); if ((ud == null) && (getLevel() > 2)) { Model model = getModel(); if ((model != null) && model.isSetSubstanceUnits()) { ud = model.getSubstanceUnitsInstance(); } } return ud; }
@Override public int hashCode() { final int prime = 887; int hashCode = super.hashCode(); if (isSetTimeUnits()) { hashCode += prime * getTimeUnits().hashCode(); } if (isSetAreaUnits()) { hashCode += prime * getAreaUnits().hashCode(); } if (isSetConversionFactor()) { hashCode += prime * getConversionFactor().hashCode(); } if (isSetExtentUnits()) { hashCode += prime * getExtentUnits().hashCode(); } if (isSetLengthUnits()) { hashCode += prime * getLengthUnits().hashCode(); } if (isSetSubstanceUnits()) { hashCode += prime * getSubstanceUnits().hashCode(); } if (isSetVolumeUnits()) { hashCode += prime * getVolumeUnits().hashCode(); } return hashCode; }
@Override public Map<String, String> writeXMLAttributes() { Map<String, String> attributes = super.writeXMLAttributes(); if (getLevel() > 2) { if (isSetSubstanceUnits()) { attributes.put("substanceUnits", getSubstanceUnits()); } if (isSetTimeUnits()) { attributes.put("timeUnits", getTimeUnits()); } if (isSetVolumeUnits()) { attributes.put("volumeUnits", getVolumeUnits()); } if (isSetAreaUnits()) { attributes.put("areaUnits", getAreaUnits()); } if (isSetLengthUnits()) { attributes.put("lengthUnits", getLengthUnits()); } if (isSetExtentUnits()) { attributes.put("extentUnits", getExtentUnits()); } if (isSetConversionFactor()) { attributes.put("conversionFactor", getConversionFactor()); } } return attributes; }
/** * Returns the derived species substance units, never dividing by the compartment units. * * @return the derived species substance units, never dividing by the compartment units. * @see org.sbml.jsbml.AbstractNamedSBaseWithUnit#getDerivedUnitDefinition() */ public UnitDefinition getDerivedSubstanceUnitDefinition() { // We cannot use 'super.getDerivedUnitDefinition()' because the method Species.getDerivedUnits() cannot be used in this case // as it return null if hasOnlySubstanceUnits is 'false' and we just want to have the species units for this method UnitDefinition specUnit = null; Model model = getModel(); if (isSetUnitsInstance()) { specUnit = getUnitsInstance(); } else { String derivedUnits = super.getDerivedUnits(); // System.out.println("Species - getDerivedUnits " + getElementName() + " = " + derivedUnits + " (unitsID = " + unitsID + ", isSetUnits = " + isSetUnits() + ")"); if ((model != null) && (derivedUnits != null) && !derivedUnits.isEmpty()) { specUnit = model.getUnitDefinition(derivedUnits); } } if ((specUnit == null) && (getLevel() > 2) && (model != null) && (model.isSetSubstanceUnits())) { // According to SBML specification of Level 3 Version 1, page 44, lines 20-22: specUnit = model.getSubstanceUnitsInstance(); } return specUnit; }
equals &= getLengthUnits().equals(m.getLengthUnits()); equals &= m.isSetSubstanceUnits() == isSetSubstanceUnits(); if (equals && m.isSetSubstanceUnits()) { equals &= getSubstanceUnits().equals(m.getSubstanceUnits());
setLengthUnits(model.getLengthUnits()); if (model.isSetSubstanceUnits()) { setSubstanceUnits(model.getSubstanceUnits());