00001 package ; 00002 00003 00011 // import configuration classes 00012 00013 import config.*; 00014 00015 00016 // import used generated classes 00017 00018 import .SCT_Module; 00019 import .SCT_Module_Helper; 00020 00021 00022 class RodRModule_Impl implements RodRModule { 00023 00024 // base attributes 00025 00026 private config.Configuration p_db; 00027 private config.ConfigObject p_obj; 00028 private boolean p_was_read; 00029 private boolean p_is_valid; 00030 private String p_uid; 00031 private String p_class_name; 00032 00033 00034 // database class attributes 00035 00036 private short m_position; 00037 00038 00039 // database class relationships 00040 00041 private SCT_Module m_module; 00042 00043 00044 00045 // constructor 00046 00047 public RodRModule_Impl() { 00048 p_is_valid = false; 00049 } 00050 00051 public RodRModule_Impl(config.Configuration db, config.ConfigObject obj) { 00052 init_config_params(db, obj); 00053 } 00054 00055 public void init_config_params(config.Configuration db, config.ConfigObject obj) { 00056 p_db = db; 00057 p_obj = obj; 00058 p_was_read = false; 00059 p_is_valid = true; 00060 p_uid = p_obj.UID(); 00061 p_class_name = p_obj.class_name(); 00062 } 00063 00064 public String UID() { 00065 return p_uid; 00066 } 00067 00068 public String class_name() { 00069 return p_class_name; 00070 } 00071 00072 public void update(boolean set_non_valid) { 00073 if(set_non_valid == true) { 00074 p_is_valid = false; 00075 } 00076 else { 00077 p_was_read = false; 00078 p_obj.clean(); 00079 init(); 00080 } 00081 } 00082 00083 public void unread() { 00084 p_was_read = false; 00085 } 00086 00087 public boolean is_valid() { 00088 return p_is_valid; 00089 } 00090 00091 00092 00093 private void init() throws config.NotFoundException, config.NotValidException, config.SystemException { 00094 if(p_was_read == true) {return;} 00095 00096 if(p_is_valid == false) { 00097 String text = "ERROR [.RodRModule_Impl.init()]: object " + p_uid + "@" + p_class_name + " is not valid"; 00098 System.err.println(text); 00099 throw new config.NotValidException(text); 00100 } 00101 00102 m_position = p_obj.get_short("position"); 00103 00104 m_module = SCT_Module_Helper.get(p_db, p_obj.get_object("module")); 00105 00106 00107 p_was_read = true; 00108 00109 } 00110 00111 public short get_position() { 00112 if(p_was_read == false) {init();} 00113 return m_position; 00114 } 00115 00116 public void set_position(short value) { 00117 p_obj.clean(); 00118 p_obj.set_short("position", value); 00119 } 00120 00121 public SCT_Module get_module() { 00122 if(p_was_read == false) {init();} 00123 return m_module; 00124 } 00125 00126 public void set_module(SCT_Module value) { 00127 p_obj.clean(); 00128 p_obj.set_object("module", value.config_object()); 00129 } 00130 00131 public config.ConfigObject config_object() { 00132 return p_obj; 00133 } 00134 00135 public void print(String dx) { 00136 System.out.println(dx + "RodRModule object:" ); 00137 System.out.println(dx + " id: \'" + UID() + "\', class name: \'" + class_name() + "\'"); 00138 00139 00140 // print attributes 00141 00142 System.out.println(dx + " position: " + get_position()); 00143 00144 00145 // print relationships 00146 00147 System.out.print(dx + " module : "); 00148 if(get_module() == null) { 00149 System.out.println("(null)"); 00150 } 00151 else { 00152 System.out.println("\"" + get_module().UID() + "@" + get_module().class_name()+ "\""); 00153 } 00154 } 00155 00161 public void destroy(config.Configuration db) { 00162 db.destroy(config_object()); 00163 } 00164 }