资源类
基础
关键字 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
测试试着生成一个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 =
这种过滤手段不可以用于复杂的商业规则的制定。