Crate_Impl.java

00001 package ;
00002 
00003 
00011   // import configuration classes
00012 
00013 import config.*;
00014 
00015 
00016   // import used generated classes
00017 
00018 import .Rod;
00019 import .Rod_Helper;
00020 import .Tim;
00021 import .Tim_Helper;
00022 
00023 
00024 class Crate_Impl implements Crate {
00025 
00026     // base attributes
00027 
00028   private config.Configuration p_db;
00029   private config.ConfigObject p_obj;
00030   private boolean p_was_read;
00031   private boolean p_is_valid;
00032   private String p_uid;
00033   private String p_class_name;
00034 
00035 
00036     // database class attributes
00037 
00038   private short m_id;
00039 
00040 
00041     // database class relationships
00042 
00043   private Tim m_tim;
00044   private Rod[] m_rods;
00045 
00046 
00047 
00048     // constructor
00049 
00050   public Crate_Impl() {
00051     p_is_valid = false;
00052   }
00053 
00054   public Crate_Impl(config.Configuration db, config.ConfigObject obj) {
00055     init_config_params(db, obj);
00056   }
00057 
00058   public void init_config_params(config.Configuration db, config.ConfigObject obj) {
00059     p_db = db;
00060     p_obj = obj;
00061     p_was_read = false;
00062     p_is_valid = true;
00063     p_uid = p_obj.UID();
00064     p_class_name = p_obj.class_name();
00065   }
00066 
00067   public String UID() {
00068     return p_uid;
00069   }
00070 
00071   public String class_name() {
00072     return p_class_name;
00073   }
00074 
00075   public void update(boolean set_non_valid) {
00076     if(set_non_valid == true) {
00077       p_is_valid = false;
00078     }
00079     else {
00080       p_was_read = false;
00081       p_obj.clean();
00082       init();
00083     }
00084   }
00085 
00086   public void unread() {
00087     p_was_read = false;
00088   }
00089 
00090   public boolean is_valid() {
00091     return p_is_valid;
00092   }
00093 
00094 
00095 
00096   private void init() throws config.NotFoundException, config.NotValidException, config.SystemException {
00097     if(p_was_read == true) {return;}
00098 
00099     if(p_is_valid == false) {
00100       String text = "ERROR [.Crate_Impl.init()]: object " + p_uid + "@" + p_class_name + " is not valid";
00101       System.err.println(text);
00102       throw new config.NotValidException(text);
00103     }
00104 
00105     m_id = p_obj.get_short("id");
00106 
00107     m_tim = Tim_Helper.get(p_db, p_obj.get_object("tim"));
00108 
00109     {
00110       ConfigObject[] objs = p_obj.get_objects("rods");
00111       m_rods = new Rod[objs.length];
00112       for( int i = 0; i < objs.length; i++ ) {
00113         m_rods[i] = Rod_Helper.get(p_db, objs[i]);
00114       }
00115     }
00116     
00117 
00118     p_was_read = true;
00119 
00120   }
00121 
00122   public short get_id() {
00123     if(p_was_read == false) {init();}
00124     return m_id;
00125   }
00126 
00127   public void set_id(short value) {
00128     p_obj.clean();
00129     p_obj.set_short("id", value);
00130   }
00131 
00132   public Tim get_tim() {
00133     if(p_was_read == false) {init();}
00134     return m_tim;
00135   }
00136 
00137   public void set_tim(Tim value) {
00138     p_obj.clean();
00139     p_obj.set_object("tim", value.config_object());
00140   }
00141 
00142   public Rod[] get_rods() {
00143     if(p_was_read == false) {init();}
00144     return m_rods;
00145   }
00146 
00147   public void set_rods(Rod[] value) {
00148     p_obj.clean();
00149     config.ConfigObject[] objs = new config.ConfigObject[value.length];
00150     for(int i = 0; i < value.length; i++) {
00151       objs[i] = value[i].config_object();
00152     }
00153     p_obj.set_objects("rods", objs);
00154   }
00155 
00156   public config.ConfigObject config_object() {
00157     return p_obj;
00158   }
00159 
00160   public void print(String dx) {
00161     System.out.println(dx + "Crate object:" );
00162     System.out.println(dx + "  id: \'" + UID() + "\', class name: \'" + class_name() + "\'");
00163 
00164 
00165       // print attributes
00166 
00167     System.out.println(dx + "  id: " + get_id());
00168 
00169 
00170       // print relationships
00171 
00172     System.out.print(dx + "  tim : ");
00173     if(get_tim() == null) {
00174       System.out.println("(null)");
00175     }
00176     else {
00177       get_Tim().print(dx.concat("    "));
00178     }
00179     if(get_rods().length > 0) {
00180       System.out.print(dx + "  " + get_rods().length + " object(s) in rods :\n");
00181       
00182       for(int i = 0; i < get_rods().length; i++) {
00183         get_rods()[i].print(dx.concat("    "));
00184       }
00185     }
00186     else {
00187       System.out.println(dx + "  rods value is empty");
00188     }
00189 
00190   }
00191 
00197   public void destroy(config.Configuration db) {
00198     db.destroy(config_object());
00199   }
00200 }

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