1 19 package org.netbeans.modules.javacore.jmiimpl.javamodel; 20 21 import org.netbeans.jmi.javamodel.Element; 22 import org.netbeans.jmi.javamodel.JavaModelPackage; 23 import org.netbeans.jmi.javamodel.TagDefinition; 24 import org.netbeans.jmi.javamodel.TagValue; 25 import org.netbeans.mdr.storagemodel.StorableObject; 26 import org.netbeans.modules.javacore.parser.MDRParser; 27 28 33 public abstract class TagValueImpl extends MetadataElement implements TagValue { 34 35 protected String value = null; 36 protected TagDefinition tagDefinition = null; 37 38 private boolean isNew = false; 39 protected boolean childrenInited = false; 40 41 42 protected TagValueImpl(StorableObject s) { 43 super(s); 44 } 45 46 protected final boolean isInitialized() { 47 return isNew; 48 } 49 50 51 protected void setNew() { 52 setChanged(); 53 isNew = true; 54 childrenInited = true; 55 } 56 57 protected final boolean isNew() { 58 return isNew; 59 } 60 61 65 public String getValue() { 66 return value; 67 } 68 69 74 public void setValue(String newValue) { 75 objectChanged(CHANGED_JAVADOC); 76 this.value = newValue; 77 } 78 79 83 public TagDefinition getDefinition() { 84 return tagDefinition; 85 } 86 87 92 public void setDefinition(TagDefinition newValue) { 93 if (tagDefinition != null && newValue != null && tagDefinition.equals(newValue)) 94 return; 95 96 IsValueForImpl isValueForImpl = (IsValueForImpl)(((JavaModelPackage) refImmediatePackage()).getIsValueFor()); 97 98 if (tagDefinition != null) 99 isValueForImpl.remove(this, tagDefinition); 100 if (newValue != null) 101 isValueForImpl.add(this, newValue); 102 } 103 104 void setData(String name, String value) { 105 if (name != null) { 106 JavaModelPackage pkg = (JavaModelPackage) refImmediatePackage(); 107 TagDefinitionClassImpl tagDefinitionClass = (TagDefinitionClassImpl) pkg.getTagDefinition(); 108 setData(value, tagDefinitionClass.createTagDefinition(name)); 109 } 110 else { 111 setData(value, (TagDefinition)null); 112 } 113 } 114 115 void setData(String value, TagDefinition tagDefinition) { 116 this.value = value; 117 this.tagDefinition = tagDefinition; 118 } 119 120 protected java.lang.Object getInternalForm() { 121 return value; 122 } 123 124 public MDRParser getParser() { 125 return null; 126 } 127 128 public Element duplicate(JavaModelPackage targetExtent) { 129 TagValueClassImpl tagProxy = (TagValueClassImpl)targetExtent.getTagValue(); 130 String name = null; 131 TagDefinition def = getDefinition(); 132 133 if (def != null) 134 name = def.getName(); 135 return tagProxy.create(name,getValue()); 136 } 137 } 138 | Popular Tags |