com.rubecula.jquantity
Class QuantityPresentation

java.lang.Object
  extended bycom.rubecula.util.Presentation
      extended bycom.rubecula.jquantity.MutablePresentation
          extended bycom.rubecula.jquantity.QuantityPresentation
All Implemented Interfaces:
Auditable, java.lang.Cloneable, Identifiable, Mutable

public class QuantityPresentation
extends MutablePresentation

Presentation class to deal with quantity objects.

Version:
$Revision: 1.16 $
Author:
Robin Hillyard

Field Summary
(package private)  Presentation _Number
          A Presentation representing the number part of this quantity.
(package private) static java.lang.String _PresentableClass
          This string defines the class which will be used to parse JQuantityPresentations.
(package private)  java.lang.String _Units
          A String representing the units of this quantity.
static char $At
          The character value "@".
 
Fields inherited from class com.rubecula.jquantity.MutablePresentation
 
Fields inherited from class com.rubecula.util.Presentation
_Appearance, $empty, $Stars
 
Constructor Summary
QuantityPresentation(Presentation number, java.lang.String units)
           
 
Method Summary
 java.lang.String audit(java.lang.String label)
          Method to return a detailed string from an object for debugging purposes.
 AttrMap getAttributes()
          Return the attributes with which this presentation was created, or at least the best guess.
 java.lang.String getIdentifier()
          Method to get the specific identifier for an object.
 java.lang.String getPresentableClass()
          Method to get the name of the corresponding Presentable class for this Presentation.
 boolean isMutable()
          This method indicates whether this particular instance is mutable.
static void main(java.lang.String[] args)
          Main method for testing this class.
 Presentable parse()
          Convert this Presentation into a Presentable object.
 java.lang.String toString(int width)
          Render this Presentation as a String with the given width limitation.
static QuantityPresentation valueOf(java.lang.String quantity)
          Factory method to create a new instance of QuantityPresentation from a string quantity.
 
Methods inherited from class com.rubecula.jquantity.MutablePresentation
audit, audit, setConstant
 
Methods inherited from class com.rubecula.util.Presentation
toString, updateAppearance
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

$At

public static final char $At
The character value "@".

See Also:
Constant Field Values

_Number

Presentation _Number
A Presentation representing the number part of this quantity.


_Units

java.lang.String _Units
A String representing the units of this quantity.


_PresentableClass

static java.lang.String _PresentableClass
This string defines the class which will be used to parse JQuantityPresentations. Note: Currently the value is "com.rubecula.jquantity.Quantity". // TODO Change value to "com.rubecula.jquantity.JQuantity".

Constructor Detail

QuantityPresentation

public QuantityPresentation(Presentation number,
                            java.lang.String units)
                     throws PresentationException
Method Detail

main

public static void main(java.lang.String[] args)
Main method for testing this class.

Parameters:
args - String[] : the command line options.

valueOf

public static QuantityPresentation valueOf(java.lang.String quantity)
                                    throws PresentationException
Factory method to create a new instance of QuantityPresentation from a string quantity.

Parameters:
quantity - the string in the form: number@units where number can be formed into a NumberPresentation and where units is a recognized units name.
Returns:
a new QuantityPresentation as appropriate.
Throws:
PresentationException

getAttributes

public AttrMap getAttributes()
                      throws PresentationException
Return the attributes with which this presentation was created, or at least the best guess.

Specified by:
getAttributes in class Presentation
Returns:
a map of attributes used to render this Presentation. Currently returns an empty map.
Throws:
PresentationException

toString

public java.lang.String toString(int width)
                          throws PresentationException
Render this Presentation as a String with the given width limitation.

Specified by:
toString in class Presentation
Parameters:
width - the maximum number of characters allowed for depiction of this presentation.
Returns:
a representation (rendering) of this Presentation.
Throws:
PresentationException - when width is insufficient.

parse

public Presentable parse()
                  throws PresentationException
Convert this Presentation into a Presentable object.

Overrides:
parse in class Presentation
Returns:
an appropriate instance of WholeNumber.
Throws:
PresentationException

getPresentableClass

public java.lang.String getPresentableClass()
Method to get the name of the corresponding Presentable class for this Presentation.

Specified by:
getPresentableClass in class Presentation
Returns:
_PresentableClass.

audit

public java.lang.String audit(java.lang.String label)
Description copied from interface: Auditable
Method to return a detailed string from an object for debugging purposes.

Parameters:
label - the label to associate with the data. If label is non-null, a more detailed audit will be returned (this normally occurs only at the top level).
Returns:
the detailed string.

getIdentifier

public java.lang.String getIdentifier()
Description copied from interface: Identifiable
Method to get the specific identifier for an object.

Returns:
the identifier.

isMutable

public boolean isMutable()
This method indicates whether this particular instance is mutable.

Specified by:
isMutable in interface Mutable
Overrides:
isMutable in class MutablePresentation
Returns:
true.