1 26 27 28 29 package org.objectweb.openccm.Containers.MetaInformation; 30 31 39 40 import org.objectweb.ccm.util.Table; 41 import org.omg.CORBA.LocalObject ; 42 import org.omg.Components.InvalidName; 43 44 49 public class AttributeInstanceListImpl 50 extends LocalObject  51 implements AttributeInstanceList 52 { 53 59 60 private Table _attributes; 61 62 public AttributeInstanceListImpl() 63 { 64 _attributes = new Table(); 65 } 66 67 73 75 77 83 public AttributeInstance 84 get_attribute_instance(String name) 85 throws InvalidName 86 { 87 AttributeInstance result = (AttributeInstance) _attributes.get(name); 88 if(result == null) 89 throw new InvalidName(); 90 return result; 91 } 92 93 96 public AttributeInstance[] 97 get_named_attribute_instances(String [] names) 98 throws InvalidName 99 { 100 AttributeInstance[] result = new AttributeInstance[names.length]; 101 102 104 int i = 0; 105 for(i=0;i<names.length;i++) 106 { 107 result[i] = (AttributeInstance)_attributes.get(names[i]); 108 109 if(result[i] == null) 110 { 111 throw new InvalidName(); 112 } 113 } 114 115 return result; 116 } 117 118 121 public AttributeInstance[] 122 get_all_attribute_instances() 123 { 124 AttributeInstance[] result = new AttributeInstance[_attributes.size()]; 125 126 int idx = 0; 128 for(java.util.Enumeration elements = _attributes.elements(); elements.hasMoreElements(); ) 129 { 130 AttributeInstance info = (AttributeInstance)elements.nextElement(); 131 result[idx++] = info; 132 } 133 return result; 134 } 135 136 139 public void add_attribute_instance(AttributeInstance cpi) 140 { 141 String key = cpi.type_reference().name() + cpi.toString().substring(cpi.toString().lastIndexOf("@")); 142 143 _attributes.put(key,cpi); 144 145 } 146 147 150 public void remove_attribute_instance(String name) 151 throws InvalidName 152 { 153 Object result = _attributes.remove(name); 154 155 if (result == null) throw new InvalidName(); 156 } 157 } 158 | Popular Tags |