특성 설정

노드, 흐름, 모델, 그리고 결과물에는 접근이 가능하고, 대부분의 경우 설정이 가능한 속성이 있습니다. 속성은 일반적으로 객체의 동작이나 모양을 수정하는 데 사용됩니다. 개체 속성에 접근하고 설정하는 데 사용할 수 있는 방법은 다음 표에 요약되어 있습니다.

표 1. 객체 속성에 접근하고 설정하는 방법
방법 리턴 유형 설명
p.getPropertyValue(propertyName) 오브젝트 지정된 속성의 값을 반환하거나, 해당 속성이 존재하지 않으면 " None "를 반환합니다.
p.setPropertyValue(propertyName, value) 적용할 수 없습니다. 명명된 속성의 값을 설정합니다.
p.setPropertyValues(properties) 적용할 수 없습니다. 명명된 속성의 값을 설정합니다. 속성 맵의 각 항목은 속성 이름을 나타내는 키와 해당 속성에 할당되어야 하는 값으로 구성됩니다.
p.getKeyedPropertyValue( propertyName, keyName) 오브젝트 지정된 속성 값과 연관된 키를 반환하거나, 해당 속성이나 키가 존재하지 않으면 빈 문자열( None )을 반환합니다.
p.setKeyedPropertyValue( propertyName, keyName, value) 적용할 수 없습니다. 명명된 속성과 키의 값을 설정합니다.

예를 들어, 다음 스크립트는 흐름에 대한 파생 노드의 값을 설정합니다

stream = modeler.script.stream()
node = stream.findByType("derive", None)
node.setPropertyValue("name_extension", "new_derive")

또는 필터 노드에서 필드를 필터링할 수도 있습니다. 이 경우, 값도 필드 이름에 따라 결정됩니다. 예를 들어,

stream = modeler.script.stream()
# Locate the filter node ...
node = stream.findByType("filter", None)
# ... and filter out the "Na" field
node.setKeyedPropertyValue("include", "Na", False)