RodMUR_Impl.java

00001 package ;
00002 
00003 
00011   // import configuration classes
00012 
00013 import config.*;
00014 
00015 
00016   // import used generated classes
00017 
00018 import .Channel;
00019 import .Channel_Helper;
00020 import .RodModule;
00021 import .RodModule_Helper;
00022 import .RodRModule;
00023 import .RodRModule_Helper;
00024 
00025 
00026 class RodMUR_Impl implements RodMUR {
00027 
00028     // base attributes
00029 
00030   private config.Configuration p_db;
00031   private config.ConfigObject p_obj;
00032   private boolean p_was_read;
00033   private boolean p_is_valid;
00034   private String p_uid;
00035   private String p_class_name;
00036 
00037 
00038     // database class attributes
00039 
00040   private short m_order;
00041   private short m_id;
00042 
00043 
00044     // database class relationships
00045 
00046   private Channel[] m_channels;
00047   private RodModule[] m_rodModules;
00048   private RodRModule[] m_rodRModules;
00049 
00050 
00051 
00052     // constructor
00053 
00054   public RodMUR_Impl() {
00055     p_is_valid = false;
00056   }
00057 
00058   public RodMUR_Impl(config.Configuration db, config.ConfigObject obj) {
00059     init_config_params(db, obj);
00060   }
00061 
00062   public void init_config_params(config.Configuration db, config.ConfigObject obj) {
00063     p_db = db;
00064     p_obj = obj;
00065     p_was_read = false;
00066     p_is_valid = true;
00067     p_uid = p_obj.UID();
00068     p_class_name = p_obj.class_name();
00069   }
00070 
00071   public String UID() {
00072     return p_uid;
00073   }
00074 
00075   public String class_name() {
00076     return p_class_name;
00077   }
00078 
00079   public void update(boolean set_non_valid) {
00080     if(set_non_valid == true) {
00081       p_is_valid = false;
00082     }
00083     else {
00084       p_was_read = false;
00085       p_obj.clean();
00086       init();
00087     }
00088   }
00089 
00090   public void unread() {
00091     p_was_read = false;
00092   }
00093 
00094   public boolean is_valid() {
00095     return p_is_valid;
00096   }
00097 
00098 
00099 
00100   private void init() throws config.NotFoundException, config.NotValidException, config.SystemException {
00101     if(p_was_read == true) {return;}
00102 
00103     if(p_is_valid == false) {
00104       String text = "ERROR [.RodMUR_Impl.init()]: object " + p_uid + "@" + p_class_name + " is not valid";
00105       System.err.println(text);
00106       throw new config.NotValidException(text);
00107     }
00108 
00109     m_order = p_obj.get_short("order");
00110 
00111     m_id = p_obj.get_short("id");
00112 
00113     {
00114       ConfigObject[] objs = p_obj.get_objects("channels");
00115       m_channels = new Channel[objs.length];
00116       for( int i = 0; i < objs.length; i++ ) {
00117         m_channels[i] = Channel_Helper.get(p_db, objs[i]);
00118       }
00119     }
00120     
00121     {
00122       ConfigObject[] objs = p_obj.get_objects("rodModules");
00123       m_rodModules = new RodModule[objs.length];
00124       for( int i = 0; i < objs.length; i++ ) {
00125         m_rodModules[i] = RodModule_Helper.get(p_db, objs[i]);
00126       }
00127     }
00128     
00129     {
00130       ConfigObject[] objs = p_obj.get_objects("rodRModules");
00131       m_rodRModules = new RodRModule[objs.length];
00132       for( int i = 0; i < objs.length; i++ ) {
00133         m_rodRModules[i] = RodRModule_Helper.get(p_db, objs[i]);
00134       }
00135     }
00136     
00137 
00138     p_was_read = true;
00139 
00140   }
00141 
00142   public short get_order() {
00143     if(p_was_read == false) {init();}
00144     return m_order;
00145   }
00146 
00147   public void set_order(short value) {
00148     p_obj.clean();
00149     p_obj.set_short("order", value);
00150   }
00151 
00152   public short get_id() {
00153     if(p_was_read == false) {init();}
00154     return m_id;
00155   }
00156 
00157   public void set_id(short value) {
00158     p_obj.clean();
00159     p_obj.set_short("id", value);
00160   }
00161 
00162   public Channel[] get_channels() {
00163     if(p_was_read == false) {init();}
00164     return m_channels;
00165   }
00166 
00167   public void set_channels(Channel[] value) {
00168     p_obj.clean();
00169     config.ConfigObject[] objs = new config.ConfigObject[value.length];
00170     for(int i = 0; i < value.length; i++) {
00171       objs[i] = value[i].config_object();
00172     }
00173     p_obj.set_objects("channels", objs);
00174   }
00175 
00176   public RodModule[] get_rodModules() {
00177     if(p_was_read == false) {init();}
00178     return m_rodModules;
00179   }
00180 
00181   public void set_rodModules(RodModule[] value) {
00182     p_obj.clean();
00183     config.ConfigObject[] objs = new config.ConfigObject[value.length];
00184     for(int i = 0; i < value.length; i++) {
00185       objs[i] = value[i].config_object();
00186     }
00187     p_obj.set_objects("rodModules", objs);
00188   }
00189 
00190   public RodRModule[] get_rodRModules() {
00191     if(p_was_read == false) {init();}
00192     return m_rodRModules;
00193   }
00194 
00195   public void set_rodRModules(RodRModule[] value) {
00196     p_obj.clean();
00197     config.ConfigObject[] objs = new config.ConfigObject[value.length];
00198     for(int i = 0; i < value.length; i++) {
00199       objs[i] = value[i].config_object();
00200     }
00201     p_obj.set_objects("rodRModules", objs);
00202   }
00203 
00204   public config.ConfigObject config_object() {
00205     return p_obj;
00206   }
00207 
00208   public void print(String dx) {
00209     System.out.println(dx + "RodMUR object:" );
00210     System.out.println(dx + "  id: \'" + UID() + "\', class name: \'" + class_name() + "\'");
00211 
00212 
00213       // print attributes
00214 
00215     System.out.println(dx + "  order: " + get_order());
00216     System.out.println(dx + "  id: " + get_id());
00217 
00218 
00219       // print relationships
00220 
00221     if(get_channels().length > 0) {
00222       System.out.print(dx + "  " + get_channels().length + " object(s) in channels :\n");
00223       
00224       for(int i = 0; i < get_channels().length; i++) {
00225         get_channels()[i].print(dx.concat("    "));
00226       }
00227     }
00228     else {
00229       System.out.println(dx + "  channels value is empty");
00230     }
00231 
00232     if(get_rodModules().length > 0) {
00233       System.out.print(dx + "  " + get_rodModules().length + " object(s) in rodModules :\n");
00234       
00235       for(int i = 0; i < get_rodModules().length; i++) {
00236         get_rodModules()[i].print(dx.concat("    "));
00237       }
00238     }
00239     else {
00240       System.out.println(dx + "  rodModules value is empty");
00241     }
00242 
00243     if(get_rodRModules().length > 0) {
00244       System.out.print(dx + "  " + get_rodRModules().length + " object(s) in rodRModules :\n");
00245       
00246       for(int i = 0; i < get_rodRModules().length; i++) {
00247         get_rodRModules()[i].print(dx.concat("    "));
00248       }
00249     }
00250     else {
00251       System.out.println(dx + "  rodRModules value is empty");
00252     }
00253 
00254   }
00255 
00261   public void destroy(config.Configuration db) {
00262     db.destroy(config_object());
00263   }
00264 }

Generated on Mon Feb 6 14:12:17 2006 for SCT DAQ/DCS Software - Java by  doxygen 1.4.6