Interface ICoercionManager

All Superinterfaces:
IPluginHost, IService
All Known Implementing Classes:
GWCoercionManager, StandardCoercionManager

public interface ICoercionManager extends IService
  • Method Details

    • canCoerce

      boolean canCoerce(IType lhsType, IType rhsType)
      Parameters:
      lhsType - type to be coerced to
      rhsType - type to be coerced from
      Returns:
      true if a coercion exists from rhsType to lhsType, false otherwise
    • convertValue

      Object convertValue(Object value, IType intrType)
      Parameters:
      intrType - type to coerce to
      value - the value to coerce (may not be null)
      Returns:
      the converted value
    • notCoercibleOrRequiresExplicitCoercion

      boolean notCoercibleOrRequiresExplicitCoercion(IType lhsType, IType rhsType)
    • verifyTypesComparable

      IType verifyTypesComparable(IType lhsType, IType rhsType, boolean bBiDirectional) throws ParseIssue
      Verifies that the right hand type can be converted or coerced to the left hand type. If bBiDirectional is true, it will verify that either converts to another
      Throws:
      ParseIssue
    • verifyTypesComparable

      IType verifyTypesComparable(IType lhsType, IType rhsType, boolean bBiDirectional, IFullParserState parserState) throws ParseIssue
      Verifies that the right hand type can be converted or coerced to the left hand type. If bBiDirectional is true, it will verify that either converts to another. The parser state will be used to report parse errors with.
      Throws:
      ParseIssue
    • convertNullAsPrimitive

      Object convertNullAsPrimitive(IType intrType, boolean isForBoxing)
      Converts a null value to a value compatible with the specified primitive type.
      Parameters:
      intrType - The primitive type to convert to.
      Returns:
      A wrapped primitive value corresponding to null.
    • findCoercer

      ICoercer findCoercer(IType lhsType, IType rhsType, boolean runtime)
    • resolveCoercerStatically

      ICoercer resolveCoercerStatically(IType lhsType, IType rhsType)
      Determine and return a statically valid coercer from the rhsType to the lhsType. Returns null if no coercion is necessary.
      Parameters:
      lhsType - the type to coerce to
      rhsType - the type to coerce from
    • isPrimitiveOrBoxed

      boolean isPrimitiveOrBoxed(IType type)
      Determine whether the specified type is either a primitive or a boxed primitive.
      Parameters:
      type - the type to examine
      Returns:
      true if the specified type is a primitive or a boxed primitive
    • makePrimitiveBooleanFrom

      boolean makePrimitiveBooleanFrom(Object obj)
      Returns:
      A Boolean for an arbitrary object.
    • makeBooleanFrom

      Boolean makeBooleanFrom(Object obj)
    • makePrimitiveIntegerFrom

      int makePrimitiveIntegerFrom(Object obj)
    • makeIntegerFrom

      Integer makeIntegerFrom(Object obj)
    • makePrimitiveLongFrom

      long makePrimitiveLongFrom(Object obj)
    • makeLongFrom

      Long makeLongFrom(Object obj)
    • makePrimitiveFloatFrom

      float makePrimitiveFloatFrom(Object obj)
    • makeFloatFrom

      Float makeFloatFrom(Object obj)
    • makePrimitiveDoubleFrom

      double makePrimitiveDoubleFrom(Object obj)
    • makeDoubleFrom

      Double makeDoubleFrom(Object obj)
      Returns a Double for an arbitrary object. Uses a semi-intelligent algorithm to create an appropriate Double instance. If the Object argument is a:
       null value - an appropriate value respecting this parsed element's nullAsZero
         setting e.g., either null or an 'empty' value.
       Double - returns the argument as is.
       Number - the Number's doubleValue().
       String - Double.parseDouble( String )
       Boolean - a pooled instance of either Double( 0 ) or Double( 1 )
       Date - A Double for Date.getTime().
       default - A parsed Double for the Object argument's toString() method.
       
      Returns:
      A Double for an arbitrary object (may return a pooled instance).
    • makeBigDecimalFrom

      BigDecimal makeBigDecimalFrom(Object obj)
    • makeBigIntegerFrom

      BigInteger makeBigIntegerFrom(Object obj)
    • makeRationalFrom

      Rational makeRationalFrom(Object obj)
    • makeStringFrom

      String makeStringFrom(Object obj)
    • makeDateFrom

      Date makeDateFrom(Object obj)
      Returns a new Date instance representing the object.
    • parseDateTime

      Date parseDateTime(String str) throws ParseException
      Produce a date from a string using standard DateFormat parsing.
      Throws:
      ParseException
    • isDateTime

      boolean isDateTime(String str) throws ParseException
      Throws:
      ParseException
    • formatDate

      String formatDate(Date value, String strFormat)
    • formatTime

      String formatTime(Date value, String strFormat)
    • formatNumber

      String formatNumber(Double value, String strFormat)
    • parseNumber

      Number parseNumber(String strValue)