【composer开发】Modeling Language

资源类

基础

关键字 asset,participant
所有商业网络处理的都是asset。
asset/participant,我们需要用到关键词“identified by filename”。类似于表格的主码。
这些属性默认是需要有初始值,不能为空。可以设置如果没有在初始化时有值,有默认值,需要加上标签default。
如果是可以为空的初始值,需要加上 optional标签。

数据类型有
Primitive type:
string;Double;Integer;Long;DateTime;Boolean

编写完model后,可在playground运行。
在这里插入图片描述
不要忘记,本地playground的启动为:
启动fabric节点后,输入composer-playground。

本地的playground地址:http://localhost:8080/login
打开playground
测试试着生成一个asset。
在这里插入图片描述

面向对象性质

继承 extends

关键字 extends
和其他的差不多。但是不能同时继承多个。
注意必须是同类型的(participant,Asset)

抽象也和其他差不多。
关键字 abstract

通用类concept

关键字concept

generic classes
可以抽象也可以继承。
就是普通的不是资源类的类。
这些类可以作为资源类的变量(field)。

如下图所示:
在这里插入图片描述

Arrays

可以是任意的类型。和其他语言一样使用方括号

例如:

o Integer[] numbers
o String[] strings

registries and relationships

注册表是管理资产和参与者实例的运行时组件。
注册表管理着运行时的资源实例,每个都有独特的key。
每个资源类型都有自己的独立的注册表。

在描述资源之间的关系时,用一个独特的符号:

–>
两个短横线,一个大于号

可以把这个关系看做是数据库里面的外码吧。是一个属性,指向一个特定的资源类。

初始化的时候需要用“namespace全名“加上”#“再加上赋值的那个实例ID。
例子

”属性名字“:”org.acme.airline.aircraft.Aircraft #实例ID“

如果有了这类的问题,那么在playground不好直接测试,建议使用实例去测试。

import

引用的可能是别的namespace的类,因此需要用import。
处理不同cto文件关系,引入所有的namespace文件。

域验证

字符串

字符串验证:正则表达式验证

关键字

regex =

数字

对于数字字段,验证是使用范围关键字定义的。

关键字

range =

这种过滤手段不可以用于复杂的商业规则的制定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值