Package SDK를 사용하여 사용자 지정 변수 생성

Automation 360를 사용할 때 SDK 패키지를 사용하여 사용자 지정 변수를 만들 수 있습니다.

사용자 지정 변수 사용

Automation 360를 사용하여 사용자 지정 변수를 생성합니다. 이것은 시스템 변수이며, 읽기 전용이고 값이 할당되는 대신 계산되는 것을 제외하고 다른 변수로 사용됩니다.

필요한 주석 기호

변수를 생성하려면 다음 주석 기호가 필요합니다.

주석 기호 사용량
BotCommand BotCommand 주석 기호와 함께 변수commandType으로 사용합니다. 이렇게 하면 플레인 구형 Java 객체(POJO)가 Automation 360 변수 생성에 적합합니다.
CommandPkg 이러한 값은 패키지를 생성할 때 사용됩니다. 주석 기호에 이름, 라벨 및 설명을 입력합니다.
Idx 필요한 모든 매개변수와 구성원 변수에 주석 기호를 지정하고 유효성 검사를 도와줍니다. 또는 입력을 위해 인터페이스에 표시될 수도 있습니다. 인덱스(Idx)와 유형을 입력합니다.
Pkg 인터페이스에 표시될 모든 매개변수와 구성원 변수에 주석 기호를 지정합니다. 이 주석 기호는 Idx와 함께 제공되지 않으면 무시됩니다.
VariableExecute 변수 값을 반환하기 위해 호출해야 하는 방법. 이 방법은 입력 파라미터를 허용하지 않습니다. SessionsGlobalSessionContext는 설정자 삽입을 통해 사용할 수 있습니다.

사용 사례 예시

다음 사용 사례는 시스템 기본 영역의 현재 시간을 반환하는 방법을 보여줍니다.

  1. 비즈니스 로직을 사용하여 POJO 클래스를 만듭니다.
    public class Now {
    	
    	public DateTimeValue now() {
    		Instant instant = Instant.now();
    		ZonedDateTime now = instant.atZone(ZoneId.systemDefault());
    		return new DateTimeValue(now);
    	}
    
    }
  2. POJO 클래스에 주석 기호를 지정하여 Automation 360 변수에 대해 이를 활성화하고 패키지를 만듭니다.
    @BotCommand(commandType = BotCommand.CommandType.Variable)
    @CommandPkg(description = "The current datetime at system default zone.", name = "Now", label = "", variable_return_type = DataType.DATETIME)
    public class Now {
    	
    	public DateTimeValue now() {
    		Instant instant = Instant.now();
    		ZonedDateTime now = instant.atZone(ZoneId.systemDefault());
    		return new DateTimeValue(now);
    	}
    
    }
  3. 실행 메소드임을 나타내는 now 메소드에 주석 기호를 지정합니다.
    @VariableExecute
    	public DateTimeValue now() {
    		Instant instant = Instant.now();
    		ZonedDateTime now = instant.atZone(ZoneId.systemDefault());
    		return new DateTimeValue(now);
    	}

    모든 변수에는 하나의 테스트 VariableExecute 메소드가 있어야 합니다.