Class BusinessObjectUtilsImpl

java.lang.Object
com.softslate.commerce.businessobjects.core.BusinessObjectUtilsImpl
All Implemented Interfaces:
BusinessObjectUtils

public class BusinessObjectUtilsImpl extends Object implements BusinessObjectUtils
A utility object containing various methods used by BusinessProcessors in performing business logic.

Each BusinessProcessors is able to retrieve an instance of BusinessObjectUtils by calling its utils method.

Author:
David Tobey
  • Field Details

    • log

      static org.apache.commons.logging.Log log
  • Constructor Details

    • BusinessObjectUtilsImpl

      public BusinessObjectUtilsImpl()
  • Method Details

    • formatDateTime

      public String formatDateTime(Date dateTime)
      Description copied from interface: BusinessObjectUtils
      Formats a Date object into a string suitable for storage in the database.
      Specified by:
      formatDateTime in interface BusinessObjectUtils
      Returns:
      a String in the form of "yyyy-MM-dd HH:mm:ss:SSS" suitable for storage in the database.
    • parseDateTime

      public Date parseDateTime(String dateTime)
      Description copied from interface: BusinessObjectUtils
      Parses a string (typically taken from a database query) into a Date object.
      Specified by:
      parseDateTime in interface BusinessObjectUtils
      Returns:
      a String in the form of "yyyy-MM-dd HH:mm:ss:SSS" suitable for storage in the database.
    • formatPrice

      public String formatPrice(Double rawPrice, String currencyCode, Locale locale)
      Description copied from interface: BusinessObjectUtils
      Formats a Double into a string suitable for displaying the double as a price, or a price representing 0 if the Double is null.
      Specified by:
      formatPrice in interface BusinessObjectUtils
      Returns:
      a String suitable for displaying the double as a price.
    • formatPrice

      public String formatPrice(double rawPrice, String currencyCode, Locale locale)
      Description copied from interface: BusinessObjectUtils
      Formats a double into a string suitable for displaying the double as a price.
      Specified by:
      formatPrice in interface BusinessObjectUtils
      Returns:
      a String suitable for displaying the double as a price.
    • prepareRequestData

      public String prepareRequestData(Map params, boolean urlEncode) throws Exception
      Description copied from interface: BusinessObjectUtils
      Prepares a string, which may optionally be url-encoded, for use with an HTTP request, given a map of the request's parameters.
      Specified by:
      prepareRequestData in interface BusinessObjectUtils
      Parameters:
      params - A Map of key-value String pairs representing the parameters of the request.
      urlEncode - If true, the keys and values in the string will be url-encoded.
      Returns:
      A String representing a valid URL-encoded query string.
      Throws:
      Exception
    • sendHTTPPost

      public String sendHTTPPost(String urlString, String postData, boolean followRedirect, Map requestProperties, String inputCharSet, Integer timeoutInSeconds) throws Exception
      Description copied from interface: BusinessObjectUtils
      Sends an HTTP request using the POST method to a given URL.
      Specified by:
      sendHTTPPost in interface BusinessObjectUtils
      Parameters:
      urlString - The URL to send the request to.
      postData - A String representing a valid URL-encoded query string.
      followRedirect - A boolean indicating whether redirects should be followed.
      requestProperties - Map that holds request properties to be sent in connection.
      inputCharSet - Character set of the response data
      timeoutInSeconds - The timeout in seconds before an exception is thrown. If null there is no timeout.
      Returns:
      A String representing the server's response, or the Location header if redirects are not to be followed.
      Throws:
      Exception
    • sendHTTPGet

      public String sendHTTPGet(String urlString, String postData, boolean followRedirect, Map requestProperties, String inputCharSet, Integer timeoutInSeconds) throws Exception
      Specified by:
      sendHTTPGet in interface BusinessObjectUtils
      Throws:
      Exception
    • sendHTTPRequest

      protected String sendHTTPRequest(String urlString, String postData, boolean followRedirect, Map requestProperties, String inputCharSet, Integer timeoutInSeconds, String method) throws Exception
      Throws:
      Exception
    • getMapsFromBeans

      public Collection getMapsFromBeans(Collection beans)
      Description copied from interface: BusinessObjectUtils
      Given a collection of bean objects returns a collection of Maps describing each bean's properties.
      Specified by:
      getMapsFromBeans in interface BusinessObjectUtils
      Returns:
      A Collection of Maps describing the beans.
    • parse

      public Document parse(InputStream xmlStream, boolean ignoreWhitespace) throws ParserConfigurationException, SAXException, IOException
      Returns a DOM Level2 document that represents the given document.
      Specified by:
      parse in interface BusinessObjectUtils
      Parameters:
      xmlStream - An InputStream that is the source of the XML data
      ignoreWhitespace - This is passed through to the DocumentBuilder.
      Throws:
      ParserConfigurationException
      SAXException
      IOException
    • parsePartialDocument

      public Node parsePartialDocument(String xml) throws ParserConfigurationException, SAXException, IOException
      Parses a section of XML and returns the first Element node found
      Specified by:
      parsePartialDocument in interface BusinessObjectUtils
      Parameters:
      xml - The XML to be parsed in String form
      Throws:
      ParserConfigurationException
      SAXException
      IOException
    • parseResponseData

      public Map parseResponseData(String response) throws Exception
      Description copied from interface: BusinessObjectUtils
      Parses a query string of name value pairs into a Map.
      Specified by:
      parseResponseData in interface BusinessObjectUtils
      Parameters:
      response - A String key-value pairs in the form of a URL query string
      Returns:
      A Map representing the query string.
      Throws:
      Exception
    • stringArrayValuesGreaterThan

      public boolean stringArrayValuesGreaterThan(String[] paramValues, int value)
      Description copied from interface: BusinessObjectUtils
      Determines if at least one element in a string array is greater than a given value.
      Specified by:
      stringArrayValuesGreaterThan in interface BusinessObjectUtils
      Parameters:
      paramValues - The string array being tested.
      value - The value for the string array's elements to be tested against.
      Returns:
      true if at least one element in a string array is greater than a given value. false if not.
    • roundForMoney

      public Double roundForMoney(double value)
      Description copied from interface: BusinessObjectUtils
      Rounds money values in general
      Specified by:
      roundForMoney in interface BusinessObjectUtils
      Parameters:
      value - The value to be rounded.
      Returns:
      The value after rounding
    • roundForMoney

      public Double roundForMoney(Double value)
      Description copied from interface: BusinessObjectUtils
      Rounds money values in general
      Specified by:
      roundForMoney in interface BusinessObjectUtils
      Parameters:
      value - The value to be rounded.
      Returns:
      The value after rounding
    • buildOrderItemAttributeMap

      public Map buildOrderItemAttributeMap(OrderItem oi)
      Description copied from interface: BusinessObjectUtils
      From a given OrderItem, returns a Map of each of the OrderItemAttributes under it, keyed by the attributeCode.
      Specified by:
      buildOrderItemAttributeMap in interface BusinessObjectUtils
      Returns:
      A Map of OrderItemAttributes and their values.
    • doesOrderItemHaveAttributeCode

      public boolean doesOrderItemHaveAttributeCode(OrderItem oi, String attributeCode)
      Description copied from interface: BusinessObjectUtils
      Tests to see if a given order item has an OrderItemAttribute under it with the given attributeCode.
      Specified by:
      doesOrderItemHaveAttributeCode in interface BusinessObjectUtils
      Parameters:
      oi - The order item
      attributeCode - The attribute code
      Returns:
      true, if the OrderItem has an OrderItemAttribute under it with the attributeCode.