| Language | Item | Tagged Value | Stereotype | Model Attribute | Model |
| Java | Java Project | [Key]jude.profile.java [Value]true/false | - | - | Project Model(IModel) |
| C# | C# Project | [Key]jude.profile.c_sharp [Value]true/false | - | - | Project Model(IModel) |
| C++ | C++ Project | [Key]jude.profile.c_plus [Value]true/false | - | - | Project Model(IModel) |
| Language | Model | Stereotype |
| Java | Class (IClass) | Java Class |
| Java | Attribute (IAttribute) | Java Attribute |
| Java | Operation (IOperation) | Java Method |
| C# | Class (IClass) | C# Class |
| C# | Attribute (IAttribute) | C# Attribute |
| C# | Operation (IOperation) | C# Method |
| C++ | Class (IClass) | C++ Class |
| C++ | Attribute (IAttribute) | C++ Attribute |
| C++ | Operation (IOperation) | C++ Method |
| Language | Item | Stereotype | Tagged Value | Model Attribute | Model |
| Java | <<enum>> | <<enum>> | - | - | Class (IClass) |
| Java | annotations | - | [Key]jude.java.annotations [Value]Optional | - | Class (IClass), Attribute (IAttribute), Operation (IOperation) |
| Java | @interface | - | [Key]jude.java.atmark_interface [Value]true/false | - | Class (IClass) |
| Java | strictfp | - | [Key]jude.java.strictfp[Value]true/false | - | Class (IClass),Operation(IOperation) |
| Java | [Class]final | - | - | IClass.isLeaf() | Class (IClass) |
| Java | <<enum constant>> | <<enum constant>> | - | - | Attribute (IAttribute) |
| Java | transient | - | [Key]jude.java.transient [Value]true/false | - | Attribute (IAttribute) |
| Java | volatile | - | [Key]jude.java.volatile [Value]true/false | - | Attribute (IAttribute) |
| Java | [Attribute]final | - | - | IAttribute.isChangeable() | Attribute (IAttribute) |
| Java | synchronized | - | [Key]jude.java.synchronized [Value]true/false | - | Operation (IOperation) |
| Java | native | - | [Key]jude.java.native [Value]true/false | - | Operation (IOperation) |
| Java | [Operation]final | - | - | IClass.isLeaf() | Operation (IOperation) |
| C# | <<delegate>> | <<delegate>> | - | - | Class (IClass) |
| C# | <<struct>> | <<struct>> | - | - | Class (IClass) |
| C# | <<enum>> | <<enum>> | - | - | Class (IClass) |
| C# | attributes | - | [Key]jude.c_sharp.attributes [Value]Optional | - | Class (IClass), Attribute (IAttribute), Operation( IOperation) |
| C# | sealed | - | [Key]jude.c_sharp.sealed [Value]true/false | - | Class (IClass) |
| C# | static | - | [Key]jude.c_sharp.static [Value]true/false | - | Class (IClass) |
| C# | internal | - | [Key]jude.c_sharp.internal [Value]true/false | - | Class (IClass), Attribute (IAttribute), Operation (IOperation) |
| C# | <<property>> | <<property>> | - | - | Attribute (IAttribute) |
| C# | <<property>> get | - | [Key]jude.c_sharp.property_get [Value]true/false | - | Attribute (IAttribute) |
| C# | <<property>> set | - | [Key]jude.c_sharp.property_set [Value]true/false | - | Attribute (IAttribute) |
| C# | <<enum constant>> | <<enum constant>> | - | - | Attribute (IAttribute) |
| C# | const | - | [Key]jude.c_sharp.const [Value]true/false | - | Attribute (IAttribute) |
| C# | volatile | - | [Key]jude.c_sharp.volatile [Value]true/false | - | Attribute (IAttribute) |
| C# | [Attribute]readonly | - | - | IAttribute.getChangeable() | Attribute (IAttribute) |
| C# | <<event>> | <<event>> | - | - | Operation (IOperation) |
| C# | <<event>> add | - | [Key]jude.c_sharp.event_add [Value]true/false | - | Operation (IOperation) |
| C# | <<event>> remove | - | [Key]jude.c_sharp.event_remove [Value]true/false | - | Operation (IOperation) |
| C# | <<indexer>> | <<indexer>> | - | - | Operation (IOperation) |
| C# | <<indexer>> get | - | [Key]jude.c_sharp.indexer_get [Value]true/false | - | Operation (IOperation) |
| C# | <<indexer>> set | - | [Key]jude.c_sharp.indexer_set [Value]true/false | - | Operation (IOperation) |
| C# | extern | - | [Key]jude.c_sharp.extern [Value]true/false | - | Operation (IOperation) |
| C# | override | - | [Key]jude.c_sharp.override [Value]true/false | - | Operation (IOperation) |
| C# | sealed | - | [Key]jude.c_sharp.sealed [Value]true/false | - | Operation (IOperation) |
| C# | unsafe | - | [Key]jude.c_sharp.unsafe [Value]true/false | - | Operation (IOperation) |
| C# | virtual | - | [Key]jude.c_sharp.virtual [Value]true/false | - | Operation (IOperation) |
| C# | extension method | - | [Key]jude.c_sharp.extension_method [Value]true/false | - | Operation (IOperation) |
| C++ | Type Modifier | - | [Key]type_modifier[Value]Type Modifie String | IElement.getTypeModifier(),ITemplateBinding.getActualParameterTypeModifier() | - |
| C++ | <<enum>> | <<enum>> | - | - | Class (IClass) |
| C++ | <<struct>> | <<struct>> | - | - | Class (IClass) |
| C++ | <<union>> | <<union>> | - | - | Class (IClass) |
| C++ | <<enum constant>> | <<enum constant>> | - | - | Attribute (IAttribute) |
| C++ | const | - | [Key]jude.c_plus.const[Value]true/false | - | Attribute (IAttribute),Operation(IOperation) |
| C++ | mutable | - | [Key]jude.c_plus.mutable[Value]true/false | - | Attribute (IAttribute) |
| C++ | volatile | - | [Key]jude.c_plus.volatile[Value]true/false | - | Attribute (IAttribute) |
| C++ | friend | - | [Key]jude.c_plus.friend[Value]true/false | - | Operation (IOperation) |
| C++ | explicit | - | [Key]jude.c_plus.explicit[Value]true/false | - | Operation (IOperation) |
| C++ | inline | - | [Key]jude.c_plus.inline[Value]true/false | - | Operation (IOperation) |
| C++ | virtual | - | [Key]jude.c_plus.virtual[Value]true/false | - | Operation (IOperation) |
public void getLanguageInfomataion() {
BasicModelEditor bme = ModelEditorFactory.getBasicModelEditor();
IModel project = AstahAPI.getAstahAPI().getProjectAccessor().getProject();
try {
if (isJavaProject(project)) {
System.out.println("Java Language");
}
if (isCSharpProject(project)) {
System.out.println("C# Language");
}
} catch (Exception e) {
e.printStackTrace();
}
}
private boolean isJavaProject(IModel project) {
ITaggedValue[] tags = project.getTaggedValues();
for (int i = 0; i < tags.length; i++) {
ITaggedValue tag = tags[i];
String key = tag.getKey();
if ("jude.profile.java".eqauls(key) {
if ("true".equals(tag.getValue()) {
return true;
}
}
}
return false;
}
private boolean isCSharpProject(IModel project) {
ITaggedValue[] tags = project.getTaggedValues();
for (int i = 0; i < tags.length; i++) {
ITaggedValue tag = tags[i];
String key = tag.getKey();
if ("jude.profile.c_sharp".eqauls(key) {
if ("true".equals(tag.getValue()) {
return true;
}
}
}
return false;
}
|
public void testSetLanguageCSharp() throws ClassNotFoundException,
InvalidEditingException, ProjectNotFoundException {
BasicModelEditor bme = ModelEditorFactory.getBasicModelEditor();
IModel project = AstahAPI.getAstahAPI().getProjectAccessor().getProject();
try {
TransactionManager.beginTransaction();
//Java:OFF
bme.setLanguageJava(project, false);
//C#:OFF
bme.setLanguageCSharp(project, false);
//Java:ON
bme.setLanguageJava(project, true);
//C#:ON
bme.setLanguageCSharp(project, true);
TransactionManager.endTransaction();
} catch (InvalidEditingException e) {
TransactionManager.abortTransaction();
e.printStackTrace();
fail();
}
}
|
public void testGetJavaClassStrictfp() {
BasicModelEditor bme = ModelEditorFactory.getBasicModelEditor();
IModel project = AstahAPI.getAstahAPI().getProjectAccessor().getProject();
try {
IElement element = getElement(project.getOwnedElements(), "Class0");
if (isJavaClass(element)) {
System.out.println("Class0 has \"Java Class\" stereotype");
if (isJavaClassStrictfp(element)) {
System.out.println("Class0 has \"jude.java.strictfp\" TaggedValue");
}
}
} catch (Exception e) {
e.printStackTrace();
fail();
}
}
protected INamedElement getElement(INamedElement[] elements, String elementName) {
for (int i = 0; i < elements.length; i++) {
if (elements[i].getName().equals(elementName)) {
return elements[i];
}
}
return null;
}
private boolean isJavaClass(IElement element) {
String[] sterotyopes = element.getStereotypes();
for (int i =0 ; i < sterotyopes.length; i++) {
if ("Java Class".equals(sterotyopes[i])) {
return true;
}
}
return false;
}
private boolean isJavaClassStrictfp(IElement element) {
ITaggedValue[] tags = element.getTaggedValues();
for (int i =0 ; i < tags.length; i++) {
ITaggedValue tag = tags[i];
if ("jude.java.strictfp".equals(tag.getKey())) {
if ("true".equals(tag.getValue())) {
return true;
}
}
}
return false;
}
|
public void testJavaAttributeStereotypeInClass() throws InvalidEditingException, ClassNotFoundException {
BasicModelEditor bme = ModelEditorFactory.getBasicModelEditor();
try {
TransactionManager.beginTransaction();
bme.setLanguageJava(project, true);
IElement element = getElement(project.getOwnedElements(), "Class0");
element.addStereotype("Java Class");
bme.createTaggedValue(element, "jude.java.strictfp", "true");
TransactionManager.endTransaction();
} catch (InvalidEditingException e) {
TransactionManager.abortTransaction();
fail();
}
}
|