} // selectAll()

        public Query selectAll(FromItem fromItem)
        {
            if (fromItem.getTable() != null)
            {
                Column[] columns = fromItem.getTable().getColumns();
                foreach (Column column in columns)
                {
                    select(column, fromItem);
                }
            }
            else if (fromItem.getJoin() != JoinType.None)
            {
                selectAll(fromItem.getLeftSide());
                selectAll(fromItem.getRightSide());
            }
            else if (fromItem.getSubQuery() != null)
            {
                List <SelectItem> items = fromItem.getSubQuery().getSelectClause().getItems();
                foreach (SelectItem subQuerySelectItem in items)
                {
                    select(new SelectItem(subQuerySelectItem, fromItem));
                }
            }
            else
            {
                throw new MetaModelException("All select items ('*') not determinable with from item: " + fromItem);
            }
            return(this);
        } // selectAll()
Exemple #2
0
        } // constructor

        /**
         * Creates a SelectItem that references a column from a particular
         * {@link FromItem}, for example a.price or p.age
         *
         * @param column
         * @param fromItem
         */
        public SelectItem(Column column, FromItem fromItem) :
            this(null, column, fromItem)
        {
            if (fromItem != null)
            {
                Table fromItemTable = fromItem.getTable();
                if (fromItemTable != null)
                {
                    Table columnTable = column.getTable();
                    if (columnTable != null && !columnTable.Equals(fromItemTable))
                    {
                        throw new InvalidOperationException("Column's table '" + columnTable.getName()
                                                            + "' is not equal to referenced table: " + fromItemTable);
                    }
                }
            }
        } // constructor