if(types!=null)return types;
types = new HashMap<RName, IRType>();
Iterator<RName> entities = ef.getEntityRNameIterator();
while(entities.hasNext()){
RName name = entities.next();
IREntity entity = ef.findRefEntity(name);
Iterator<RName> attribs = entity.getAttributeIterator();
addType(entity,entity.getName(),IRObject.iEntity);
while(attribs.hasNext()){
RName attribname = attribs.next();
REntityEntry entry = entity.getEntry(attribname);
addType(entity,attribname,entry.type.getId());
}
}
Iterator<RName> tables = ef.getDecisionTableRNameIterator();
while(tables.hasNext()){
RName tablename = tables.next();
ELType type = new ELType(tablename,IRObject.iDecisiontable,(REntity) ef.getDecisiontables());
if(types.containsKey(tablename)){
System.out.println("Multiple Decision Tables found with the name '"+types.get(tablename)+"'");
}
types.put(tablename, type);