: quantityUnit; if ((nameUnit != null && !baseQuantity.equals(nameUnit .getBaseQuantity())) || (quantityUnit != null && !id.equals(quantityUnit .getUnitName()))) {
: quantityUnit; if ((nameUnit != null && !baseQuantity.equals(nameUnit .getBaseQuantity())) || (quantityUnit != null && !id.equals(quantityUnit .getUnitName()))) {
/** * Tests this class. */ public static void main(final String[] args) throws Exception { final BaseUnit meter = new BaseUnit(UnitName.newUnitName("meter", null, "m"), BaseQuantity.LENGTH); System.out .println("meter.getBaseQuantity()=" + meter.getBaseQuantity()); System.out .println("meter.toDerivedUnit(1.)=" + meter.toDerivedUnit(1.)); System.out.println("meter.toDerivedUnit(new float[] {2})[0]=" + meter.toDerivedUnit(new float[] { 2 }, new float[1])[0]); System.out.println("meter.fromDerivedUnit(1.)=" + meter.fromDerivedUnit(1.)); System.out.println("meter.fromDerivedUnit(new float[] {3})[0]=" + meter.fromDerivedUnit(new float[] { 3 }, new float[1])[0]); System.out.println("meter.isCompatible(meter)=" + meter.isCompatible(meter)); final BaseUnit radian = new BaseUnit(UnitName.newUnitName("radian", null, "rad"), BaseQuantity.PLANE_ANGLE); System.out.println("meter.isCompatible(radian)=" + meter.isCompatible(radian)); System.out .println("meter.isDimensionless()=" + meter.isDimensionless()); System.out.println("radian.isDimensionless()=" + radian.isDimensionless()); } }
/** * Tests this class. */ public static void main(final String[] args) throws Exception { final BaseUnit meter = new BaseUnit(UnitName.newUnitName("meter", null, "m"), BaseQuantity.LENGTH); System.out .println("meter.getBaseQuantity()=" + meter.getBaseQuantity()); System.out .println("meter.toDerivedUnit(1.)=" + meter.toDerivedUnit(1.)); System.out.println("meter.toDerivedUnit(new float[] {2})[0]=" + meter.toDerivedUnit(new float[] { 2 }, new float[1])[0]); System.out.println("meter.fromDerivedUnit(1.)=" + meter.fromDerivedUnit(1.)); System.out.println("meter.fromDerivedUnit(new float[] {3})[0]=" + meter.fromDerivedUnit(new float[] { 3 }, new float[1])[0]); System.out.println("meter.isCompatible(meter)=" + meter.isCompatible(meter)); final BaseUnit radian = new BaseUnit(UnitName.newUnitName("radian", null, "rad"), BaseQuantity.PLANE_ANGLE); System.out.println("meter.isCompatible(radian)=" + meter.isCompatible(radian)); System.out .println("meter.isDimensionless()=" + meter.isDimensionless()); System.out.println("radian.isDimensionless()=" + radian.isDimensionless()); } }
/** * Constructs from a base unit database and a derived unit database. * * @param baseUnitDB * The base unit database. Shall only contain base units. * @param derivedUnitDB * The derived unit database. Shall not contain any base units. * @throws UnitExistsException * A unit with the same identifier exists in both databases. */ protected UnitSystemImpl(final UnitDBImpl baseUnitDB, final UnitDBImpl derivedUnitDB) throws UnitExistsException { quantityMap = new HashMap<BaseQuantity, BaseUnit>(baseUnitDB .nameCount()); for (final Iterator<?> iter = baseUnitDB.getIterator(); iter.hasNext();) { final Unit unit = (Unit) iter.next(); final BaseUnit baseUnit = (BaseUnit) unit; quantityMap.put(baseUnit.getBaseQuantity(), baseUnit); } this.baseUnitDB = baseUnitDB; acceptableUnitDB = new UnitDBImpl(baseUnitDB.nameCount() + derivedUnitDB.nameCount(), baseUnitDB.symbolCount() + derivedUnitDB.symbolCount()); acceptableUnitDB.add(baseUnitDB); acceptableUnitDB.add(derivedUnitDB); }
/** * Constructs from a base unit database and a derived unit database. * * @param baseUnitDB * The base unit database. Shall only contain base units. * @param derivedUnitDB * The derived unit database. Shall not contain any base units. * @throws UnitExistsException * A unit with the same identifier exists in both databases. */ protected UnitSystemImpl(final UnitDBImpl baseUnitDB, final UnitDBImpl derivedUnitDB) throws UnitExistsException { quantityMap = new HashMap<BaseQuantity, BaseUnit>(baseUnitDB .nameCount()); for (final Iterator<?> iter = baseUnitDB.getIterator(); iter.hasNext();) { final Unit unit = (Unit) iter.next(); final BaseUnit baseUnit = (BaseUnit) unit; quantityMap.put(baseUnit.getBaseQuantity(), baseUnit); } this.baseUnitDB = baseUnitDB; acceptableUnitDB = new UnitDBImpl(baseUnitDB.nameCount() + derivedUnitDB.nameCount(), baseUnitDB.symbolCount() + derivedUnitDB.symbolCount()); acceptableUnitDB.add(baseUnitDB); acceptableUnitDB.add(derivedUnitDB); }
/** * Returns the corresponding quantity dimension. * @return The quantity dimension corresponding to this * unit dimension. */ public QuantityDimension getQuantityDimension() { Factor[] factors = getFactors(); for (int i = factors.length; --i >= 0; ) { Factor factor = factors[i]; factors[i] = new Factor( ((BaseUnit)factor.getBase()).getBaseQuantity(), factor.getExponent()); } return new QuantityDimension(factors); }
/** * Returns the corresponding quantity dimension. * @return The quantity dimension corresponding to this * unit dimension. */ public QuantityDimension getQuantityDimension() { Factor[] factors = getFactors(); for (int i = factors.length; --i >= 0; ) { Factor factor = factors[i]; factors[i] = new Factor( ((BaseUnit)factor.getBase()).getBaseQuantity(), factor.getExponent()); } return new QuantityDimension(factors); }