言語 | 項目 | タグ付き値 | ステレオタイプ | モデルの属性 | 付加されるモデル |
Java | Javaプロジェクト | [キー]jude.profile.java[値]true/false | - | - | プロジェクトモデル(IModel) |
C# | C#プロジェクト | [キー]jude.profile.c_sharp[値]true/false | - | - | プロジェクトモデル(IModel) |
C++ | C++プロジェクト | [キー]jude.profile.c_plus[値]true/false | - | - | プロジェクトモデル(IModel) |
言語 | モデル | ステレオタイプ |
Java | クラス(IClass) | Java Class |
Java | 属性(IAttribute) | Java Attribute |
Java | 操作(IOperation) | Java Method |
C# | クラス(IClass) | C# Class |
C# | 属性(IAttribute) | C# Attribute |
C# | 操作(IOperation) | C# Method |
C++ | クラス(IClass) | C++ Class |
C++ | 属性(IAttribute) | C++ Attribute |
C++ | 操作(IOperation) | C++ Method |
言語 | 項目 | ステレオタイプ | タグ付き値 | モデルの属性 | 付加されるモデル |
Java | <<enum>> | <<enum>> | - | - | クラス(IClass) |
Java | annotations | - | [キー]jude.java.annotations[値]任意 | - | クラス(IClass)、属性(IAttribute)、操作(IOperation) |
Java | @interface | - | [キー]jude.java.atmark_interface[値]true/false | - | クラス(IClass) |
Java | strictfp | - | [キー]jude.java.strictfp[値]true/false | - | クラス(IClass)、操作(IOperation) |
Java | [クラス]final | - | - | IClass.isLeaf() | クラス(IClass) |
Java | <<enum constant>> | <<enum constant>> | - | - | 属性(IAttribute) |
Java | transient | - | [キー]jude.java.transient[値]true/false | - | 属性(IAttribute) |
Java | volatile | - | [キー]jude.java.volatile[値]true/false | - | 属性(IAttribute) |
Java | [属性]final | - | - | IAttribute.isChangeable() | 属性(IAttribute) |
Java | synchronized | - | [キー]jude.java.synchronized[値]true/false | - | 操作(IOperation) |
Java | native | - | [キー]jude.java.native[値]true/false | - | 操作(IOperation) |
Java | [操作]final | - | - | IClass.isLeaf() | 操作(IOperation) |
C# | <<delegate>> | <<delegate>> | - | - | クラス(IClass) |
C# | <<struct>> | <<struct>> | - | - | クラス(IClass) |
C# | <<enum>> | <<enum>> | - | - | クラス(IClass) |
C# | attributes | - | [キー]jude.c_sharp.attributes[値]任意 | - | クラス(IClass)、属性(IAttribute)、操作(IOperation) |
C# | sealed | - | [キー]jude.c_sharp.sealed[値]true/false | - | クラス(IClass) |
C# | static | - | [キー]jude.c_sharp.static[値]true/false | - | クラス(IClass) |
C# | internal | - | [キー]jude.c_sharp.internal[値]true/false | - | クラス(IClass)、属性(IAttribute)、操作(IOperation) |
C# | <<property>> | <<property>> | - | - | 属性(IAttribute) |
C# | <<property>> get | - | [キー]jude.c_sharp.property_get[値]true/false | - | 属性(IAttribute) |
C# | <<property>> set | - | [キー]jude.c_sharp.property_set[値]true/false | - | 属性(IAttribute) |
C# | <<enum constant>> | <<enum constant>> | - | - | 属性(IAttribute) |
C# | const | - | [キー]jude.c_sharp.const[値]true/false | - | 属性(IAttribute) |
C# | volatile | - | [キー]jude.c_sharp.volatile[値]true/false | - | 属性(IAttribute) |
C# | [属性]readonly | - | - | IAttribute.getChangeable() | 属性(IAttribute) |
C# | <<event>> | <<event>> | - | - | 操作(IOperation) |
C# | <<event>> add | - | [キー]jude.c_sharp.event_add[値]true/false | - | 操作(IOperation) |
C# | <<event>> remove | - | [キー]jude.c_sharp.event_remove[値]true/false | - | 操作(IOperation) |
C# | <<indexer>> | <<indexer>> | - | - | 操作(IOperation) |
C# | <<indexer>> get | - | [キー]jude.c_sharp.indexer_get[値]true/false | - | 操作(IOperation) |
C# | <<indexer>> set | - | [キー]jude.c_sharp.indexer_set[値]true/false | - | 操作(IOperation) |
C# | extern | - | [キー]jude.c_sharp.extern[値]true/false | - | 操作(IOperation) |
C# | override | - | [キー]jude.c_sharp.override[値]true/false | - | 操作(IOperation) |
C# | sealed | - | [キー]jude.c_sharp.sealed[値]true/false | - | 操作(IOperation) |
C# | unsafe | - | [キー]jude.c_sharp.unsafe[値]true/false | - | 操作(IOperation) |
C# | virtual | - | [キー]jude.c_sharp.virtual[値]true/false | - | 操作(IOperation) |
C# | extension method | - | [キー]jude.c_sharp.extension_method[値]true/false | - | 操作(IOperation) |
C++ | 型修飾子 | - | [キー]type_modifier[値]文字列 | IElement.getTypeModifier(),ITemplateBinding.getActualParameterTypeModifier() | - |
C++ | <<enum>> | <<enum>> | - | - | クラス(IClass) |
C++ | <<struct>> | <<struct>> | - | - | クラス(IClass) |
C++ | <<union>> | <<union>> | - | - | クラス(IClass) |
C++ | <<enum constant>> | <<enum constant>> | - | - | 属性(IAttribute) |
C++ | const | - | [キー]jude.c_plus.const[値]true/false | - | 属性(IAttribute)、操作(IOperation) |
C++ | mutable | - | [キー]jude.c_plus.mutable[値]true/false | - | 属性(IAttribute) |
C++ | volatile | - | [キー]jude.c_plus.volatile[値]true/false | - | 属性(IAttribute) |
C++ | friend | - | [キー]jude.c_plus.friend[値]true/false | - | 操作(IOperation) |
C++ | explicit | - | [キー]jude.c_plus.explicit[値]true/false | - | 操作(IOperation) |
C++ | inline | - | [キー]jude.c_plus.inline[値]true/false | - | 操作(IOperation) |
C++ | virtual | - | [キー]jude.c_plus.virtual[値]true/false | - | 操作(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(); } } |