1 28 29 package com.caucho.amber.expr; 30 31 import com.caucho.amber.query.FromItem; 32 import com.caucho.amber.query.QueryParseException; 33 import com.caucho.amber.query.QueryParser; 34 import com.caucho.amber.type.EntityType; 35 import com.caucho.util.L10N; 36 37 40 public class TableIdExpr extends SchemaExpr { 41 private static final L10N L = new L10N(TableIdExpr.class); 42 43 private EntityType _type; 44 private String _name; 45 46 49 public TableIdExpr(EntityType type, String name) 50 { 51 _type = type; 52 _name = name; 53 } 54 55 58 public EntityType getEntityType() 59 { 60 return _type; 61 } 62 63 66 public String getTailName() 67 { 68 return _name; 69 } 70 71 74 public SchemaExpr createField(QueryParser parser, String name) 75 throws QueryParseException 76 { 77 throw parser.error(L.l("'{0}.{1}' is not allowed.", 78 _name, name)); 79 } 80 81 84 public FromItem addFromItem(QueryParser parser, String id) 85 throws QueryParseException 86 { 87 FromItem fromItem = parser.addFromItem(getEntityType().getTable(), id); 88 89 return fromItem; 90 } 91 } 92 | Popular Tags |