1 19 20 25 26 package org.netbeans.modules.j2ee.dd.impl.common; 27 28 import org.netbeans.modules.schema2beans.BaseBean; 29 import org.netbeans.modules.schema2beans.Version; 30 import org.netbeans.modules.j2ee.dd.api.common.VersionNotSupportedException; 31 import org.netbeans.modules.j2ee.dd.api.common.DescriptionInterface; 32 33 public abstract class DescriptionBeanMultiple extends EnclosingBean implements DescriptionInterface { 34 35 public DescriptionBeanMultiple(java.util.Vector comps, Version version) { 36 super(comps, version); 37 } 38 public void setDescription(int index, java.lang.String value){} 40 public String getDescription(int index){return null;} 41 public void setDescription(java.lang.String [] value){} 42 public int sizeDescription(){return 0;} 44 public int addDescription(java.lang.String value){return 0;} 45 public void setDescriptionXmlLang(int index, java.lang.String value){} 47 public String getDescriptionXmlLang(int index){return null;} 48 49 public void setDescription(String locale, String description) throws VersionNotSupportedException { 50 if (description==null) removeDescriptionForLocale(locale); 51 else { 52 int size = sizeDescription(); 53 boolean found=false; 54 for (int i=0;i<size;i++) { 55 String loc=getDescriptionXmlLang(i); 56 if ((locale==null && loc==null) || (locale!=null && locale.equalsIgnoreCase(loc))) { 57 found=true; 58 setDescription(i, description); 59 break; 60 } 61 } 62 if (!found) { 63 addDescription(description); 64 if (locale!=null) setDescriptionXmlLang(size, locale.toLowerCase()); 65 } 66 } 67 } 68 69 public void setDescription(String description) { 70 try { 71 setDescription(null,description); 72 } catch (VersionNotSupportedException ex){} 73 } 74 75 public void setAllDescriptions(java.util.Map descriptions) throws VersionNotSupportedException { 76 removeAllDescriptions(); 77 if (descriptions!=null) { 78 java.util.Iterator keys = descriptions.keySet().iterator(); 79 String [] newDescription = new String [descriptions.size()]; 80 int i=0; 81 while (keys.hasNext()) { 82 String key = (String ) keys.next(); 83 addDescription((String )descriptions.get(key)); 84 setDescriptionXmlLang(i++, key); 85 } 86 } 87 } 88 89 public String getDescription(String locale) throws VersionNotSupportedException { 90 for (int i=0;i<sizeDescription();i++) { 91 String loc=getDescriptionXmlLang(i); 92 if ((locale==null && loc==null) || (locale!=null && locale.equalsIgnoreCase(loc))) { 93 return getDescription(i); 94 } 95 } 96 return null; 97 } 98 public String getDefaultDescription() { 99 try { 100 return getDescription(null); 101 } catch (VersionNotSupportedException ex){return null;} 102 } 103 public java.util.Map getAllDescriptions() { 104 java.util.Map map =new java.util.HashMap (); 105 for (int i=0;i<sizeDescription();i++) { 106 String desc=getDescription(i); 107 String loc=getDescriptionXmlLang(i); 108 map.put(loc, desc); 109 } 110 return map; 111 } 112 113 public void removeDescriptionForLocale(String locale) throws VersionNotSupportedException { 114 java.util.Map map = new java.util.HashMap (); 115 for (int i=0;i<sizeDescription();i++) { 116 String desc=getDescription(i); 117 String loc=getDescriptionXmlLang(i); 118 if ((locale==null && loc!=null) || (locale!=null && !locale.equalsIgnoreCase(loc))) 119 map.put(loc, desc); 120 } 121 setAllDescriptions(map); 122 } 123 124 public void removeDescription() { 125 try { 126 removeDescriptionForLocale(null); 127 } catch (VersionNotSupportedException ex){} 128 } 129 public void removeAllDescriptions() { 130 setDescription(new String []{}); 131 } 132 } 133 | Popular Tags |