Class Unit

All Implemented Interfaces:
Serializable, Comparable
Direct Known Subclasses:
MyTestUnit, MyUnit

public class Unit extends GeneratedUnit
The base class which represents a Unit.
See Also:
  • Constructor Details

    • Unit

      public Unit()
  • Method Details

    • createItem

      protected Item createItem(SessionContext ctx, ComposedType type, Item.ItemAttributeMap allAttributes) throws JaloBusinessException
      Description copied from class: Item
      Has to be implemented for each concrete subtype of item. This method is responsible for creating a new item instance ( by calling managers, ejb homes, etc. ) during ComposedType.newInstance(Map).

      In case this method uses any of the attribute values during creation it is required to override Item.getNonInitialAttributes(SessionContext, ItemAttributeMap) too.
      Sn example:

      
       public static final String MY_ATTRIBUTE = "someAttribute"; ... protected Item createItem(SessionContext
       ctx, ComposedType type, Map allAttributes ) throws JaloBusinessException { MyManager man = ... return
       man.createMyItem( (String)allAttributes.get(MY_ATTRIBUTE) );
       // here MY_ATTRIBUTE is used for creation, so it must not be set again } protected Map getNonInitialAttributes(
       SessionContext ctx, Map allAttributes ) { // let superclass remove its own initial attributes Map ret =
       super.getNonInitialAttributes( ctx, allAttributes );
       // remove MY_ATTRIBUTE from all attributes since if has already been set ret.remove(MY_ATTRIBUTE); return ret; }
      
       
      Overrides:
      createItem in class GenericItem
      Parameters:
      ctx - the current session context which this item is created within
      type - the actual item type ( since subtypes may not provide a own jalo class this may be different from the type which this method was implemented for )
      Returns:
      the new item instance
      Throws:
      JaloBusinessException - indicates an error during creation - any changes will be rollbacked
    • getAllNames

      @Deprecated(since="ages", forRemoval=false) public Map getAllNames(SessionContext ctx)
      Deprecated.
      Gets all names (in all languages).
      Parameters:
      ctx - A SessionContext object
      Returns:
      map with following combination key:language, value:name
    • setAllNames

      @Deprecated(since="ages", forRemoval=false) public void setAllNames(SessionContext ctx, Map names)
      Sets names (in all languages).
      Parameters:
      ctx - A SessionContext object
      names - map with following combination key:language, value:name
    • getConversionFactor

      public double getConversionFactor()
      Gets the conversion factor used by this unit.
    • getConversionFactor

      @Deprecated(since="ages", forRemoval=false) public double getConversionFactor(SessionContext ctx)
      Deprecated.
      Gets the conversion factor used by this unit.
    • setConversionFactor

      @Deprecated(since="ages", forRemoval=false) public void setConversionFactor(double factor)
      Deprecated.
      since ages - useGeneratedUnit.setConversion(double) instead
      Sets the conversion factor used by this unit.
      Parameters:
      factor - new conversion factor
    • setConversionFactor

      @Deprecated(since="ages", forRemoval=false) public void setConversionFactor(SessionContext ctx, double factor)
      Deprecated.
      Sets the conversion factor used by this unit.
      Parameters:
      factor - new conversion factor
    • convert

      public long convert(Unit targetUnit, long value) throws JaloInvalidParameterException
      Converts a quantity of this unit into another quantity of a specified target unit.
      Parameters:
      targetUnit - target unit for conversion
      value - value to convert
      Throws:
      JaloInvalidParameterException - if this unit type not equals target unit type
    • convertExact

      public double convertExact(Unit targetUnit, double value) throws JaloInvalidParameterException
      Converts a quantity of this unit into another quantity of a specified target unit. Does no rounding to get an exact results.
      Parameters:
      targetUnit - target unit for conversion
      value - value to convert
      Throws:
      JaloInvalidParameterException - if this unit type not equals target unit type
    • toString

      public String toString()
      Description copied from class: Item
      Returns the String representation of this item. This is by default the representation of the primary key of this item.
      Overrides:
      toString in class Item
      Returns:
      the String representation of this item.
    • isConvertibleTo

      public boolean isConvertibleTo(Unit unit)
      Checks if values of this unit can be converted to given unit.
      Parameters:
      unit - target unit for which conversion will be checked
      Returns:
      true if this unit is convertible to given unit
    • compareQuantity

      public int compareQuantity(double value, Unit toUnit, double otherValue)
      Compares the quantity of first argument (related to this unit) and third argument (related to second argument unit).
    • getConvertibleUnits

      public Set<Unit> getConvertibleUnits()
      Gets all units with the same unit type.
      Returns:
      all units with the same unit type. these units are considered to be convertible using the conversion factor attribute.