Class Unit

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable
    Direct Known Subclasses:
    MyTestUnit, MyUnit

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

      • Unit

        public Unit()
    • Method Detail

      • 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
        public java.util.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
        public void setAllNames​(SessionContext ctx,
                                java.util.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.
      • setConversionFactor

        @Deprecated
        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
      • 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 java.lang.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 java.util.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.