Horus Doc || Java GUI Reference || Doxygen's quick Index  

ApplicationsManager Class Reference

List of all members.

Public Methods

 ApplicationsManager (NamingContext nc)
boolean isRemote ()
String[] listApplications (String type)
org.omg.CORBA.Object getApplication (String type, String name)
boolean renameApplication (String type, String name, String newName)
boolean removeApplication (String type, String name)
String putApplication (String type, String prefix, org.omg.CORBA.Object app)
boolean bindApplication (String type, String name, org.omg.CORBA.Object app) throws AlreadyBound
ApplicationsManager getRemoteManager (String name)

Static Public Methods

ApplicationsManager defaultAppMgr ()

Constructor & Destructor Documentation

ApplicationsManager::ApplicationsManager NamingContext    nc [inline]
 

00022 {
00023     this(nc, false);
00024 }


Member Function Documentation

ApplicationsManager ApplicationsManager::defaultAppMgr   [inline, static]
 

00027 {
00028     if(_default == null) {
00029         NamingContext nc =
00030             ServiceRepository.instance().getNameService();
00031         if(nc != null) _default = new ApplicationsManager(nc);
00032     }
00033     return _default;
00034 }

boolean ApplicationsManager::isRemote   [inline]
 

00042 {
00043     return _remote;
00044 }

String [] ApplicationsManager::listApplications String    type [inline]
 

00047 {
00048     NamingContext nc = getApplicationContext(type);
00049     if(nc == null) return new String[0];
00050 
00051     java.util.Vector vec = new java.util.Vector();
00052 
00053     BindingIteratorHolder it_holder = new BindingIteratorHolder();
00054     BindingHolder binding = new BindingHolder();
00055 
00056     nc.list(0, new BindingListHolder(), it_holder);
00057 
00058     if(it_holder.value == null) return new String[0];
00059 
00060     while(it_holder.value.next_one(binding)) {
00061         if(binding.value.binding_type == BindingType.nobject)
00062             vec.add(binding.value.binding_name[0].id);
00063     }
00064     it_holder.value.destroy();
00065 
00066     return (String[])vec.toArray(new String[0]);
00067 }

org.omg.CORBA.Object ApplicationsManager::getApplication String    type,
String    name
[inline]
 

00070 {
00071     NamingContext nc = getApplicationContext(type);
00072     if(nc == null) return null;
00073 
00074     NameComponent[] path = { new NameComponent(name, "") };
00075 
00076     try {
00077         return nc.resolve(path);
00078     }catch(Exception e) {}
00079 
00080     return null;
00081 }

boolean ApplicationsManager::renameApplication String    type,
String    name,
String    newName
[inline]
 

00084 {
00085     NamingContext nc = getApplicationContext(type);
00086     if(nc == null) return false;
00087 
00088     org.omg.CORBA.Object obj = getApplication(type, name);
00089     if(obj == null) return false;
00090 
00091     NameComponent[] newPath = { new NameComponent(newName, "") };
00092 
00093     try {
00094         nc.bind(newPath, obj);
00095         return removeApplication(type, name);
00096     }catch(Exception e) {
00097         return false;
00098     }
00099 }

boolean ApplicationsManager::removeApplication String    type,
String    name
[inline]
 

00102 {
00103     NamingContext nc = getApplicationContext(type);
00104     if(nc == null) return false;
00105 
00106     NameComponent[] path = { new NameComponent(name, "") };
00107 
00108     try {
00109         nc.unbind(path);
00110         return true;
00111     }catch(Exception e) {
00112         return false;
00113     }
00114 }

String ApplicationsManager::putApplication String    type,
String    prefix,
org.omg.CORBA.Object    app
[inline]
 

00117 {
00118     NamingContext nc = getApplicationContext(type);
00119     if(nc == null) return null;
00120 
00121     boolean bind = false;
00122     int n = 0;
00123     String result = prefix;
00124     while(!bind) {
00125         try {
00126             bindApplication(type, result, app);
00127             bind = true;
00128         }catch (AlreadyBound e){
00129             n = n+1;
00130             result = prefix + n;
00131         }catch(Exception e){
00132             return null;
00133         }
00134     }
00135 
00136     return result;
00137 }

boolean ApplicationsManager::bindApplication String    type,
String    name,
org.omg.CORBA.Object    app
[inline]
 

00141 {
00142     NamingContext nc = getApplicationContext(type);
00143     if(nc == null) return false;
00144 
00145     try {
00146         NameComponent[] path = { new NameComponent(name, "") };
00147         nc.bind(path, app);
00148         return true;
00149     }catch(InvalidName e) {
00150     }catch(CannotProceed e) {
00151     }catch(NotFound e) {
00152     }
00153 
00154     return false;
00155 }

ApplicationsManager ApplicationsManager::getRemoteManager String    name [inline]
 

00158 {
00159     try {
00160         org.omg.CORBA.Object obj = getApplication("NameServers", name);
00161         NamingContext remote = NamingContextHelper.narrow(obj);
00162         return new ApplicationsManager(remote, true);
00163     }catch(Exception e) {
00164         return null;
00165     }
00166 }


The documentation for this class was generated from the following file:
Generated on Tue Feb 3 14:19:36 2004 for JavaReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001