Class ReporterPropertyExpression

java.lang.Object
net.sf.basedb.core.ReporterPropertyExpression
All Implemented Interfaces:
Expression, QueryElement

public class ReporterPropertyExpression extends Object implements Expression
An expression representing the property of a reporter.

Throws an UnsupportedOperationException if Query.getQueryType() isn't QueryType.SQL.

Version:
2.0
Author:
Nicklas
See Also:
Last modified
$Date: 2015-04-20 11:08:18 +0200 (må, 20 apr 2015) $
  • Field Details

    • propertyToColumn

      private static volatile Map<String,String> propertyToColumn
    • property

      private final String property
    • column

      private final String column
    • useCloned

      private final Boolean useCloned
  • Constructor Details

    • ReporterPropertyExpression

      public ReporterPropertyExpression(String property) throws InvalidDataException
      Create a new reporter property expression. The expression automatically selects if cloned reporter information should be used or not.
      Parameters:
      property - The name of the property
      Throws:
      InvalidDataException
    • ReporterPropertyExpression

      public ReporterPropertyExpression(String property, Boolean useCloned)
      Create a new reporter property expression. The expression may be forced to use either the cloned or master reporter information.
      Parameters:
      property - The name of the property
      useCloned - TRUE to use cloned reporter information (if available), FALSE to not use cloned information, null to automatically decide
      Since:
      3.1
  • Method Details

    • toQl

      public String toQl(Query query, DbControl dc) throws BaseException
      Description copied from interface: QueryElement
      Create a query language string of the query element. Use the Query.getQueryType() method to find out which query language is wanted in case the element requires different syntax for different languages.
      Specified by:
      toQl in interface QueryElement
      Parameters:
      query - The query that is about to be executed
      dc - The DbControl object used to execute the query
      Throws:
      BaseException - If there is any other error
    • getChildren

      public Collection<? extends QueryElement> getChildren()
      Description copied from interface: QueryElement
      Get the children of this query element or null if it has no children. For example the AddExpression has two children, the expression beeing added.
      Specified by:
      getChildren in interface QueryElement
      Returns:
      Always null
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object other)
      This expression is equal to another ReporterPropertyExpression if they represent the same reporter property.
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • useCloned

      public boolean useCloned(ClonableReporterQuery query)
      Check if this reporter property should use the cloned reporter for the given query or not. If the query is using a virtual database that doesn't have cloned reporters, FALSE is returned. Othersise, if an explicit request has been made to use/not use cloned reporters, that value is returned. If no explicit request has been made, the outcome depends on the DynamicQuery.useClonedReporters().
      Parameters:
      query - The query to check with
      Returns:
      TRUE if the cloned reporter table should be used, FALSE if not
      Since:
      3.1
    • getColumn

      private static String getColumn(String property)