Interface ConditionEnvironment

All Known Implementing Classes:
ConditionValidator, GlobalAttributeConditionValidator, GlobalItemTypeConditionValidator, ModuleItemTypeConditionValidator

public interface ConditionEnvironment

Condition 은 Transition 을 위하여 설정되는데 , 실제 target item 과 condition 이 설정되어 있는 item 이 다를 수 있다.

예를 들면 ModuleType 속성의 경우 이 속성은 groupItem 의 속성인데 실제 이 속성의 설정값이 다른 item 의 조건에 사용될 수 있다.

왜냐하면 어떠한 item 의 Transition 은 반듯이 그 item 이 가진 속성안에서만 이루어 지지 않기 때문이다. 이러한 경우 target item 이 같고 있지 않는 속성 값은 Environment 에서 가지고 와야 하는데 이것을 도와주는 interface 이다.

Author:
Youngh Cho
  • Method Summary

    Modifier and Type
    Method
    Description
    현재 적용중인 condition
    Condition 비교를 위한 현재 설정되어 있는 RAttribute 의 AttributeValue 를 구한다.
    경우에 따라서 target item 과 실제 적용값을 구하는 item 이 다를 수 있다.
  • Method Details

    • getCondition

      Condition getCondition()
      현재 적용중인 condition
      Returns:
      condition
    • getReferencedValue

      Condition 비교를 위한 현재 설정되어 있는 RAttribute 의 AttributeValue 를 구한다. 이 값은 transitionAttribute 와는 아무 관계가 없다.
      Parameters:
      item - 대상 item
      Returns:
      AttributeValue for test with condition
      Throws:
      ConditionValidateException - 비교할 값을 결정할 수 없는 경우
      TorqueException - 조회 중 오류가 발생한 경우
    • getReferenceItem

      Item getReferenceItem(Item item) throws ConditionValidateException, TorqueException
      경우에 따라서 target item 과 실제 적용값을 구하는 item 이 다를 수 있다. 이 경우 실제 적용값을 구하는 item 을 구한다.

      문제는 Condition 의 ReferenceValue 정보가 RAttribute 만 존재한다. 그런데 이 RAttribute 가 여러 ItemType 에 설정되어 있는 경우 판단이 가능한지 검토하여야 한다. ( RItemType 을 추가하여야 할 지 .. 아니면 Transition 정보와 Condition 정보로 판단이 가능할 지 ...)

      Parameters:
      item - target item
      Returns:
      actual test item
      Throws:
      ConditionValidateException - 적용할 item 을 결정할 수 없는 경우
      TorqueException - 조회 중 오류가 발생한 경우