/** * Creates a new {@link UnitDefinition} inside this {@link Model} and returns * it. * * @param id * the id of the new element to create * @return the {@link UnitDefinition} object created */ public UnitDefinition createUnitDefinition(String id) { UnitDefinition unitDefinition = new UnitDefinition(id, getLevel(), getVersion()); addUnitDefinition(unitDefinition); return unitDefinition; }
private void addSBaseToModel(Model model, SBase sBase) { if (model != null && sBase != null) { sBase.removeFromParent(); if (sBase.getClass() == Reaction.class) { model.addReaction((Reaction) sBase); } else if (sBase.getClass() == Compartment.class) { model.addCompartment((Compartment) sBase); } else if (sBase.getClass() == Constraint.class) { model.addConstraint((Constraint) sBase); } else if (sBase.getClass() == Event.class) { model.addEvent((Event) sBase); } else if (sBase.getClass() == FunctionDefinition.class) { model.addFunctionDefinition((FunctionDefinition) sBase); } else if (sBase.getClass() == Parameter.class) { model.addParameter((Parameter) sBase); } else if (sBase.getClass() == Rule.class) { model.addRule((Rule) sBase); } else if (sBase.getClass() == Species.class) { model.addSpecies((Species) sBase); } else if (sBase.getClass() == UnitDefinition.class) { model.addUnitDefinition((UnitDefinition) sBase); } } }
/** * Sets the areaUnitsID of this {@link Model} to the id of the * {@link UnitDefinition} 'areaUnits'. * * @param areaUnits */ public void setAreaUnits(UnitDefinition areaUnits) { if (!getListOfUnitDefinitions().contains(areaUnits)) { addUnitDefinition(areaUnits); } setAreaUnits(areaUnits != null ? areaUnits.getId() : null); }
/** * Sets the volumeUnitsID of this {@link Model} to the id of the * {@link UnitDefinition} 'volumeUnits'. * * @param volumeUnits */ public void setVolumeUnits(UnitDefinition volumeUnits) { if (!getListOfUnitDefinitions().contains(volumeUnits)) { addUnitDefinition(volumeUnits); } setVolumeUnits(volumeUnits != null ? volumeUnits.getId() : null); }
/** * Sets the extentUnitsID of this {@link Model} to the id of the * {@link UnitDefinition} 'extentUnits'. * * @param extentUnits */ public void setExtentUnits(UnitDefinition extentUnits) { if (!getListOfUnitDefinitions().contains(extentUnits)) { addUnitDefinition(extentUnits); } setExtentUnits(extentUnits != null ? extentUnits.getId() : null); }
/** * Sets the substanceUnitsID of this {@link Model} to the id of * 'substanceUnits'. * * @param substanceUnits */ public void setSubstanceUnits(UnitDefinition substanceUnits) { if (!getListOfUnitDefinitions().contains(substanceUnits)) { addUnitDefinition(substanceUnits); } setSubstanceUnits(substanceUnits != null ? substanceUnits.getId() : null); }
/** * Sets the lengthUnitsID of this {@link Model} to the id of the * UnitDefinition 'lengthUnits'. * * @param lengthUnits */ public void setLengthUnits(UnitDefinition lengthUnits) { if (!getListOfUnitDefinitions().contains(lengthUnits)) { addUnitDefinition(lengthUnits); } setLengthUnits(lengthUnits != null ? lengthUnits.getId() : null); }
/** * Sets the timeUnitsID of this {@link Model} to the id of the * {@link UnitDefinition} 'timeUnits'. * * @param timeUnits */ public void setTimeUnits(UnitDefinition timeUnits) { if (!getListOfUnitDefinitions().contains(timeUnits)) { addUnitDefinition(timeUnits); } setTimeUnits(timeUnits != null ? timeUnits.getId() : null); }
/** * Checks whether an identical {@link UnitDefinition} like the given * {@link UnitDefinition} is already in this {@link Model}'s * {@link #listOfUnitDefinitions}. If yes, the identifier of the identical * {@link UnitDefinition} will be returned. Otherwise, the given unit is added * to the {@link #listOfUnitDefinitions} and its identifier will be returned. * In any case, this method returns the identifier of a {@link UnitDefinition} * that is part of this {@link Model} at least after calling this method. * * @param units * The unit to be checked and added if no identical * {@link UnitDefinition} can be found. * @return */ public String addUnitDefinitionOrReturnIdenticalUnit(UnitDefinition units) { boolean contains = false; for (UnitDefinition ud : getListOfUnitDefinitions()) { if (UnitDefinition.areIdentical(ud, units)) { units = ud; contains = true; break; } } if (!contains) { addUnitDefinition(units); } return units.getId(); }
@Override @SuppressWarnings("deprecation") public void setUnits(Unit unit) { if ((unit.getExponent() != 1) || (unit.getScale() != 0) || (unit.getMultiplier() != 1d) || (unit.getOffset() != 0d)) { StringBuilder sb = new StringBuilder(); sb.append('_'); sb.append(unit.getMultiplier()); sb.append('_'); sb.append(unit.getScale()); sb.append('_'); sb.append(unit.getKind().toString()); sb.append('_'); sb.append(unit.getExponent()); UnitDefinition ud = new UnitDefinition(sb.toString().replace('.', '_'), getLevel(), getVersion()); ud.addUnit(unit); Model m = getModel(); if (m != null) { m.addUnitDefinition(ud); } setUnits(ud); } else { // must be a base unit setUnits(unit.getKind().toString().toLowerCase()); } }
@Override @Deprecated public void setUnits(Unit unit) { UnitDefinition ud = new UnitDefinition(unit.getKind().toString(), getLevel(), getVersion()); ud.addUnit(unit); if ((unit.getExponent() != 1) || (unit.getScale() != 0) || (unit.getMultiplier() != 1d) || (unit.getOffset() != 0d)) { StringBuilder sb = new StringBuilder(); sb.append(unit.getMultiplier()); sb.append('_'); sb.append(unit.getScale()); sb.append('_'); sb.append(unit.getKind().toString()); sb.append('_'); sb.append(unit.getExponent()); ud.setId(sb.toString()); Model m = getModel(); if (m != null) { m.addUnitDefinition(ud); } } setUnits(ud); }
@Override @Deprecated public void setUnits(Unit unit) { if (!unit.isVariantOfSubstance() && !unit.isVariantOfTime()) { throw new IllegalArgumentException(MessageFormat.format( ILLEGAL_UNIT_KIND_EXCEPTION_MSG, unit.toString())); } if ((unit.getExponent() != 1) || (unit.getScale() != 0) || (unit.getMultiplier() != 1d) || (unit.getOffset() != 0d)) { StringBuilder sb = new StringBuilder(); sb.append(unit.getMultiplier()); sb.append('_'); sb.append(unit.getScale()); sb.append('_'); sb.append(unit.getKind().toString()); sb.append('_'); sb.append(unit.getExponent()); UnitDefinition ud = new UnitDefinition(sb.toString(), getLevel(), getVersion()); ud.addUnit(unit); Model m = getModel(); if (m != null) { m.addUnitDefinition(ud); } setUnits(ud.getId()); } else { setUnits(unit.getKind().toString()); } }
boolean isL3 = model.getLevelAndVersion().compareTo(Integer.valueOf(3), Integer.valueOf(1)) >= 0; if (model.getUnitDefinition(UnitDefinition.SUBSTANCE) == null) { model.addUnitDefinition(SBMLtools.setLevelAndVersion(UnitDefinition.substance(2, 4), model.getLevel(), model.getVersion())); if (isL3) { model.setSubstanceUnits(UnitDefinition.SUBSTANCE); model.addUnitDefinition(SBMLtools.setLevelAndVersion(UnitDefinition.volume(2, 4), model.getLevel(), model.getVersion())); if (isL3) { model.setVolumeUnits(UnitDefinition.VOLUME); model.addUnitDefinition(SBMLtools.setLevelAndVersion(UnitDefinition.area(2, 4), model.getLevel(), model.getVersion())); if (isL3) { model.setAreaUnits(UnitDefinition.AREA); model.addUnitDefinition(SBMLtools.setLevelAndVersion(UnitDefinition.length(2, 4), model.getLevel(), model.getVersion())); if (isL3) { model.setLengthUnits(UnitDefinition.LENGTH); model.addUnitDefinition(SBMLtools.setLevelAndVersion(UnitDefinition.time(2, 4), model.getLevel(), model.getVersion())); if (isL3) { model.setTimeUnits(UnitDefinition.TIME);
ListOf.Type.listOfUnitDefinitions)) { UnitDefinition unitDefinition = (UnitDefinition) newContextObject; model.addUnitDefinition(unitDefinition);
subModel.addUnitDefinition(unitDefinition.clone());
targetModel.addUnitDefinition(unit.clone());