View Javadoc

1   /*
2    * CreateObjectRule.java
3    * Created on 26 Сентябрь 2006 г., 23:26
4    */
5   
6   package org.weda.common.impl;
7   
8   import org.apache.hivemind.Element;
9   import org.apache.hivemind.schema.SchemaProcessor;
10  import org.apache.hivemind.schema.rules.BaseRule;
11  import org.apache.hivemind.util.InstanceCreationUtils;
12  
13  /**
14   *
15   * @author Mikhail Titov
16   */
17  public class CreateObjectRule extends BaseRule {
18      public void begin(SchemaProcessor processor, Element element) {
19          Object elem = processor.pop();
20          String className = null;
21          if (elem instanceof Class)
22              className = ((Class)elem).getName();
23          else
24              className = elem.toString();
25          Object obj = 
26                  InstanceCreationUtils.createInstance(
27                      processor.getDefiningModule()
28                      , className, element.getLocation());
29          processor.push(obj);
30      }
31  
32      public void end(SchemaProcessor processor, Element element) {
33          processor.pop();
34      }
35      
36      
37      
38  }