private EStructuralFeature createFeatureWith(String featureName, EClassifier featureClassifier,
boolean isMultivalue, boolean isContainment) {
EStructuralFeature newFeature;
if (featureClassifier instanceof EClass) {
EReference reference = EcoreFactory.eINSTANCE.createEReference();
reference.setContainment(isContainment);
newFeature = reference;
} else {
newFeature = EcoreFactory.eINSTANCE.createEAttribute();
}
newFeature.setName(featureName);
newFeature.setEType(featureClassifier);
newFeature.setLowerBound(0);
newFeature.setUpperBound(isMultivalue ? -1 : 1);
newFeature.setUnique(!isMultivalue || (isContainment && featureClassifier instanceof EClass));
if (newFeature.getEType() instanceof EEnum) {
newFeature.setDefaultValue(null);
}
return newFeature;
}
EClassifierInfo.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:xtext-core
作者:
评论列表
文章目录