...
required : 필수 여부
idable : 아이디 여부
labelable : Label 여부
treeable : REFERENCE일 경우 트리형태 지원 여부
indexable : 인덱싱 여부
analyzer : 인덱싱을 하는 경우 적용할 Analyzer 지정
simple : Lowercase 만 적용
standard : Lowercase와 Stop필터 적용
code : Lowercase 적용하고, 공백이나 ‘,’ 문자로 토큰
cjk : Lowercase, CJKBigram, StopFilter 적용
referenceType : valueType이 REFERENCE 또는 REFERENCED일 경우 참조할 노드 타입 지정
referenceValue : 참조 노드 타입의 프로퍼티 타입 지정
code : CODE 형에서 사용할 코드 값
validationTypes : Validation 체크 값
fileHandler : 파일 저장에 사용할 저장소 지정
정의
NodeType에 종속되는 스키마이고 NodeType이 가지게 되는 데이터 속성들의 유형을 정의한다.
쉽게 말해 RDBMS(오라클, MySql 등) 의 테이블 컬럼 개념이라고 볼 수 있다.
솔루션 API 호출 시 valueType에 따라 JSON 의 값의 형식이 달라진다.
솔루션 관리자 UI 구성 시 valueType에 따라 Presentational Component 의 사용이 달라진다.
속성정의
속성 | 필수 | 기본값 | 설명 |
pid | 필수 |
| |
name | 필수 |
| |
valueType | 필수 |
“STRING” : 문자형 데이터 타입으로 사용할 때 정의한다. MySql의 VARCHAR 개념이다. “INT” : 숫지형 데이터 타입으로 사용할 때 정의한다. MySql의 INT 개념이다. “LONG” : 숫지형 데이터 타입으로 사용할 때 정의한다. MySql의 BIGINT 개념이다. “DOUBLE” : 숫자형 데이터 타입으로 사용할 때 정의한다. MySql의 DOUBLE 개념이다. “BOOLEAN” : 불리언 데이터 타입으로 사용할 때 정의한다. “DATE” : 날짜형 데이터 타입으로 사용할 때 정의한다. MySql의 DATE 개념이다. “DATETIME” : 날짜형 데이터 타입으로 사용할 때 정의한다. MySql의 DATE 개념이다. “MONTH” : 문자형 데이터 타입으로 사용할 때 정의한다. “TEXT” : 문자형 데이터 타입으로 사용할 때 정의한다. MySql의 TEXT 개념이다. “FILE” : 파일 데이터 타입으로 사용할 때 정의한다. “IMAGE” : 이미지 파일 데이터 타입으로 사용할 때 정의한다. “CODE” : 코드형 데이터 타입으로 사용할 때 정의한다. “CODES” : 여러 개의 코드형 데이터 타입으로 사용할 때 정의한다. 값은 , 로 구분되어 저장된다. “REFERENCE” : 연관 데이터 타입으로 사용할 때 정의한다. 연관 NodeType과 1:1 관계를 가지고, 연관 데이터의 id 값을 저장한다. “REFERENCED” : 연관 데이터 타입으로 사용할 때 정의한다. 연관 NodeType과 1:N 관계를 가진다. “PARENT” : 연관 데이터 타입으로 사용할 때 정의한다. 연관 NodeType과 1:1 관계를 가지고, 연관 데이터의 id 값을 저장한다. “CHILDREN” : 연관 데이터 타입으로 사용할 때 정의한다. 연관 NodeType과 1:N 관계를 가진다. “REFERENCES” : 연관 데이터 타입으로 사용할 때 정의한다. 연관 NodeType과 1:N 관계를 가진다. 값은 연관 데이터의 id값을 , 로 구분되어 저장된다. “PART” : 연관 데이터 타입으로 사용할 때 정의한다. 연관 NodeType과 1:1 관계를 가진고, 연관 데이터의 id 값을 저장한다. “PARTS” : 연관 데이터 타입으로 사용할 때 정의한다. 연관 NodeType과 1:N 관계를 가진다. 값은 연관 데이터의 id값을 , 로 구분되어 저장된다. “OBJECT” : JSON String 으로 값을 저장하고 API 출력시 JSON 형태로 출력한다. “JSON” : JSON String 으로 값을 저장하고 API 출력시 JSON String 형태로 출력한다. | |
defaultValue |
| ||
defaultComponent |
| ||
required | false |
true : 사용 false : 미사용 | |
idable | false |
true : 사용 false : 미사용 | |
labelable | false |
{ “reference”: { “value”: “1”, “label”: “사용가능” } } 이런식으로 출력되는데 labelable이 true 인경우 해당 값이 “label” 에 출력된다. true : 사용 false : 미사용 | |
treeable | false |
true : 사용 false : 미사용 | |
i18n | false |
true : 사용 false : 미사용 | |
indexable | false |
true : 사용 false : 미사용 | |
analyzer |
“simple” : 일반적인 like 검색이 가능해지고 보통 valueType이 STRING, TEXT 인 문자형 데이터일 때 사용한다. “code” : 일반적인 = 검색이 가능해지고 보통 valueType이 PARENT, REFERENCE, REFERENCES, CODE 인 코드, 연관 데이터일 때 사용한다. | ||
referenceType |
| ||
referenceValue |
| ||
filter |
(예) uppderCode_matching=useYn&count=1 | ||
code |
(예) [ { “value”: “simple”, “label”: “Simple Analyzer” } ] | ||
idType |
“autoIncrement”: 시퀀스 발급 형태로 valueType이 숫자형 이어야한다. “UUID”: Java 의 UUID를 사용한다. “hash”: Java 의 UUID의 hashCode를 사용한다. | ||
orderNo |
| ||
columnId |
|
예시
JSON
{
“typeId”: “nodeType”,
“parentId”: “root”,
“tid:”: “ctsBasAptM”,
“repositoryType”: “node”,
“typeName”: “공항기초”,
“historyable”: true,
“propertyTypes”: [
{
“pid”: “comAreaCdCId”,
“name”: “지역”,
“valueType”: “REFERECES”,
“idable”: false,
“labelable”: false,
“indexable”: true,
“analyzer”: “code”,
“required”: false,
“referenceType”: “comAreaCdC”,
“referenceValue”: “”,
“filter”: “useYn_matching=y”,
“orderNo”: 10
},
{
“pid”: “id”,
“name”: “공항코드”,
“valueType”: “STRING”,
“idable”: true,
“labelable”: false,
“indexable”: true,
“analyzer”: “code”,
“required”: true,
“orderNo”: 20
},
{
“pid”: “aptNm”,
“name”: “공항명”,
“valueType”: “STRING”,
“idable”: false,
“labelable”: true,
“indexable”: true,
“analyzer”: “simple”,
“required”: true,
“orderNo”: 30
}
],
“events: []
}