summaryrefslogtreecommitdiff
path: root/TAO/examples/Simulator/DOVEBrowser/VisCompFactory.java
blob: 288fcccceecae70b4bb67324b3d9117ad35dcfe2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// $Id$
// 
// = FILENAME
//    VisCompFactory.java
//
// = AUTHOR
//    Michael Kircher (mk1@cs.wustl.edu)
//
// = DESCRIPTION
//   This class serves as factory for Visualization Components
//
// ============================================================================

import java.beans.*;
				
class VisCompFactory {

  VisComp getNewVisComp (int property, String name) {    
           
    ClassLoader classLoader_ = this.getClass().getClassLoader();	

    VisComp visComp_ = null;
    String visCompName_ = "VisComp";
    switch (property) {
      case Properties.DOUBLE:
        visCompName_ = "Double"+visCompName_;
        break;
      case Properties.NAVIGATION:
        visCompName_ = "Navigation"+visCompName_;
        break;
      case Properties.WEAPONS:
        visCompName_ = "Weapons"+visCompName_;
        break;
      default: return null;
    }
    try {
      System.out.println ("Trying to connect: " + visCompName_+ " .. ");
      visComp_ = (VisComp) Beans.instantiate (classLoader_, visCompName_);
      visComp_.setName (name);
      System.out.println ("Connected: " + visCompName_);
      return visComp_;
    }
    catch (Exception e) {
      System.out.println ("Unable to load JavaBean: " + e);
      return null;
    }
  }
}