Class ConstructorReportItem

  • All Implemented Interfaces:
    Serializable, Cloneable

    public class ConstructorReportItem
    extends org.eclipse.persistence.internal.queries.ReportItem
    Purpose: An item specifying a class constructor method to be used in a ReportQuery's returned results.

    Example:

          ConstructorReportItem item = new ConstructorReportItem("Employee");
          item.setResultType(Employee.class);
          item.addAttribute("firstName", employees.get("firstName"));
          query.addConstructorReportItem(item);
     

    When executed will return a collection of ReportQueryResults that contain Employee objects created using the new Employee(firstname) constructor.

    See Also:
    Serialized Form
    Author:
    Chris Delahunt
    Since:
    TopLink Essentials 1.0
    • Field Detail

      • constructorArgTypes

        protected Class[] constructorArgTypes
      • reportItems

        protected List<org.eclipse.persistence.internal.queries.ReportItem> reportItems
    • Constructor Detail

      • ConstructorReportItem

        public ConstructorReportItem()
        Create a new constructor item.
      • ConstructorReportItem

        public ConstructorReportItem​(String name)
        Create a new constructor item.
        Parameters:
        name - string used to look up this result in the ReportQueryResult.
    • Method Detail

      • addAttribute

        public void addAttribute​(Expression attributeExpression)
        Method to add an expression to be used to return the parameter that is then passed into the constructor method. Similar to ReportQuery's addAttribute method, but name is not needed.
      • addAttribute

        public void addAttribute​(String attributeName,
                                 Expression attributeExpression,
                                 List joinedExpressions)
        Add the attribute with joining.
      • addItem

        public void addItem​(org.eclipse.persistence.internal.queries.ReportItem item)
      • getConstructorArgTypes

        public Class[] getConstructorArgTypes()
      • getConstructorMappings

        public List<DatabaseMapping> getConstructorMappings()
        INTERNAL: Return the mappings for the items.
      • getConstructor

        public Constructor getConstructor()
        INTERNAL: Return the constructor.
      • setConstructor

        public void setConstructor​(Constructor constructor)
        INTERNAL: Set the constructor.
      • getReportItems

        public List<org.eclipse.persistence.internal.queries.ReportItem> getReportItems()
      • initialize

        public void initialize​(ReportQuery query)
                        throws QueryException
        INTERNAL: Looks up mapping for attribute during preExecute of ReportQuery
        Overrides:
        initialize in class org.eclipse.persistence.internal.queries.ReportItem
        Throws:
        QueryException
      • isConstructorItem

        public boolean isConstructorItem()
        Overrides:
        isConstructorItem in class org.eclipse.persistence.internal.queries.ReportItem
      • setConstructorArgTypes

        public void setConstructorArgTypes​(Class[] constructorArgTypes)
      • setConstructorMappings

        public void setConstructorMappings​(List<DatabaseMapping> constructorMappings)
        INTERNAL: Return the mappings for the items.
      • setReportItems

        public void setReportItems​(List<org.eclipse.persistence.internal.queries.ReportItem> reportItems)
      • toString

        public String toString()
        Overrides:
        toString in class org.eclipse.persistence.internal.queries.ReportItem