Class EclipseLinkActualJPQLQueryFormatter

  • All Implemented Interfaces:
    IJPQLQueryFormatter, EclipseLinkStateObjectVisitor, StateObjectVisitor

    public class EclipseLinkActualJPQLQueryFormatter
    extends AbstractActualJPQLQueryFormatter
    implements EclipseLinkStateObjectVisitor
    This IJPQLQueryFormatter is used to generate a string representation of a StateObject based on how it was parsed, which means this formatter can only be used when the StateObject was created by parsing a JPQL query because it needs to retrieve parsing information from the corresponding Expression.

    This version adds support for EclipseLink extension.

    It is possible to partially match the JPQL query that was parsed, the value of the exactMatch will determine whether the string representation of any given StateObject should reflect the exact string that was parsed. true will use every bit of information contained in the corresponding Expression to perfectly match what was parsed; false will only match the case sensitivity of the JPQL identifiers.

    Version:
    2.4
    Author:
    Pascal Filion
    Since:
    2.4
    • Constructor Detail

      • EclipseLinkActualJPQLQueryFormatter

        public EclipseLinkActualJPQLQueryFormatter​(boolean exactMatch)
        Creates a new EclipseLinkActualJPQLQueryFormatter.
        Parameters:
        exactMatch - Determines whether the string representation of any given StateObject should reflect the exact string that was parsed: true will use every bit of information contained in the corresponding Expression to perfectly match what was parsed; false will only match the case sensitivity of the JPQL identifiers
      • EclipseLinkActualJPQLQueryFormatter

        public EclipseLinkActualJPQLQueryFormatter​(boolean exactMatch,
                                                   IJPQLQueryFormatter.IdentifierStyle style)
        Creates a new EclipseLinkActualJPQLQueryFormatter.
        Parameters:
        exactMatch - Determines whether the string representation of any given StateObject should reflect the exact string that was parsed: true will use every bit of information contained in the corresponding Expression to perfectly match what was parsed (case of JPQL identifiers and the presence of whitespace); false will only match the case sensitivity of the JPQL identifiers
        style - Determines how the JPQL identifiers are written out, which is used if the StateObject was modified after its creation
        Throws:
        java.lang.NullPointerException - The IdentifierStyle cannot be null