如何使用Eclipse EMF建模/生成Java 8可选属性

时间:2017-08-24 09:27:42

标签: emf acceleo ecore

我想使用<!DOCTYPE html> <html> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> <body ng-app="myApp"> <test-directive> <test-sub-directive ng-repeat="l in list" ng-if="l > 2" variable="{{l}}">{{l}}</test-sub-directive> </test-directive> <script> var app = angular.module("myApp", []); app.directive('testDirective', function () { return { restrict: 'E', controllerAs: 'testCtrl', controller: ['$scope', '$element', '$attrs', function testCtrl($scope, $element, $attrs) { $scope.list = [1,2,3,4,5]; this.testFunc = function () { //When everything is fetched from the sub-directive send it to another function } }] }; }) app.directive('testSubDirective', function () { return { require: '^test-directive', restrict: 'E', link: function (scope, element, attrs, testCtrl) { testCtrl.testFunc(); }, }; }) </script> </body> </html> 类型的字段对类进行建模,但找不到Optional<String> EOptional或等效选项来制作属性可选。

1 个答案:

答案 0 :(得分:4)

EMF中没有[,-9],2。由于您可能正在编写自己的Acceleo生成器(根据我的理解),您可以处理EOptional基数。如果EAttribute/EOperationlowerBound,则可能意味着该字段是可选字段并生成代码。

另一个解决方案是使用正确的0类似EMF“外部类型”创建您自己的Optional EDataType(有关详细信息,请参阅here