30.5. 서술자


30.5.1. 개요

같음에 대한 식을 테스트하여 서술자를 구성할 수 있습니다. 예를 들어, 조건자 simple("$header.timeOfDay} == '14:30'"), 들어오는 메시지의 timeOfDay 헤더가 14:30 인지 여부를 테스트합니다.

또한 resultType 을 부울로 지정할 때마다 표현식은 표현식 대신 서술자로 평가됩니다. 이렇게 하면 이러한 표현식에 서술자 구문을 사용할 수 있습니다.

30.5.2. 구문

간단한 서술자를 사용하여 교환(headers, 메시지 본문 등)의 다양한 부분을 테스트할 수도 있습니다. 간단한 서술자에는 다음과 같은 일반 구문이 있습니다.

${LHSVariable} Op RHSValue

여기서 LHSVariable 은 왼쪽의 변수인 LHSVariable표 30.1. “간단한 언어의 변수” 에 표시된 변수 중 하나이고 오른쪽의 RHSValue 값은 다음 중 하나입니다.

  • 다른 변수 ${RHSVariable}.
  • 작은따옴표로 묶은 문자열 리터럴 '.
  • 작은따옴표로 묶은 숫자 상수 '.
  • null 개체, null.

단순 언어는 항상 RHS 값을 LHS 값의 유형으로 변환하려고 합니다.

참고

간단한 언어는 RHS를 변환하려고 하지만 Operator에 따라 LHS를 비교하기 전에 적절한 Type으로 캐스팅해야 할 수 있습니다.

30.5.3. 예

예를 들어 다음과 같이 간단한 문자열 비교 및 숫자 비교를 수행할 수 있습니다.

simple("${in.header.user} == 'john'")

simple("${in.header.number} > '100'")  // String literal can be converted to integer

다음과 같이 왼쪽이 쉼표로 구분된 목록의 멤버인지 테스트할 수 있습니다.

simple("${in.header.type} in 'gold,silver'")

왼쪽이 다음과 같이 정규식과 일치하는지 테스트할 수 있습니다.

simple("${in.header.number} regex '\d{4}'")

다음과 같이 is 연산자를 사용하여 왼쪽의 유형을 테스트할 수 있습니다.

simple("${in.header.type} is 'java.lang.String'")
simple("${in.header.type} is 'String'") // You can abbreviate java.lang. types

다음과 같이 왼쪽이 지정된 숫자 범위(범위가 포함됨)에 있는지 여부를 테스트할 수 있습니다.

simple("${in.header.number} range '100..199'")

30.5.4. 연결

논리 결합, && amp; 및 || 를 사용하여 서술자를 결합할 수도 있습니다.

예를 들어, 다음은 &amp ;& amp; 조합(논리적 및)을 사용하는 표현식입니다.

simple("${in.header.title} contains 'Camel' && ${in.header.type} == 'gold'")

그리고 여기에 || 를 사용하는 표현식(논리적 포함 또는)이 있습니다.

simple("${in.header.title} contains 'Camel' || ${in.header.type} == 'gold'")
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.