01: /*
02: * Created on Jun 2, 2004
03: *
04: * TODO To change the template for this generated file go to
05: * Window - Preferences - Java - Code Style - Code Templates
06: */
07: package org.xdev.base.core.compiler.instruction;
08:
09: import java.util.HashMap;
10:
11: import org.apache.log4j.Level;
12: import org.jdom.Element;
13: import org.xdev.base.core.BASE;
14: import org.xdev.base.core.compiler.AXCompiler;
15: import org.xdev.base.core.compiler.type.AbstractType;
16: import org.xdev.base.log.LoggerWriter;
17:
18: /**
19: * @author AYegorov
20: *
21: * TODO To change the template for this generated type comment go to
22: * Window - Preferences - Java - Code Style - Code Templates
23: */
24: public abstract class AbstractElementInstruction extends
25: AbstractInstruction {
26:
27: /**
28: * @param id
29: * @param properties
30: */
31: public AbstractElementInstruction(String id, HashMap properties) {
32: super (id, properties);
33: // TODO Auto-generated constructor stub
34: }
35:
36: /* (non-Javadoc)
37: * @see org.xdev.base.core.compiler.instruction.AbstractInstruction#getComponentPrefix(java.lang.Object)
38: */
39: public String getComponentPrefix(Object elm) {
40: // TODO Auto-generated method stub
41: return ((Element) elm).getNamespace().getPrefix();
42: }
43:
44: public String getComponentSuffix(Object elm) {
45: return ((Element) elm).getName();
46: }
47:
48: /* (non-Javadoc)
49: * @see org.xdev.base.core.compiler.instruction.AbstractInstruction#getComponentName(java.lang.Object)
50: */
51: public String getComponentName(Object elm) {
52: String name = this .getComponentSuffix(elm);
53: String prefix = this .getComponentPrefix(elm);
54:
55: return !"".equals(prefix) && prefix != null ? prefix : name;
56: }
57:
58: /* (non-Javadoc)
59: * @see org.xdev.base.core.compiler.instruction.AbstractInstruction#getComponentId(java.lang.Object)
60: */
61: public String getComponentId(Object elm) {
62: // TODO Auto-generated method stub
63: return ((Element) elm).getAttributeValue("id");
64: }
65:
66: /* (non-Javadoc)
67: * @see org.xdev.base.core.compiler.instruction.AbstractInstruction#getComponentProperties(java.lang.Object)
68: */
69: public HashMap getComponentProperties(Object elm) {
70:
71: HashMap map = null;
72:
73: try {
74: map = AXCompiler.getInstance().compileProperties(
75: (Element) elm, null);
76: } catch (Exception ex) {
77: LoggerWriter.log(BASE.getValueFromObject(ex),
78: Level.ERROR_INT, this.getClass());
79: }
80:
81: return map;
82: }
83:
84: }
|