类 ExpressionInterpreter


  • public class ExpressionInterpreter
    extends java.lang.Object
    Expression interpreter for label selector.

    For now it supports very limited set of syntax rules.

    作者:
    nokrange
    • 方法概要

      所有方法 静态方法 具体方法 
      修饰符和类型 方法 说明
      private static int checkInnerSyntax​(java.util.List<java.lang.String> elements, int start)  
      private static int checkOuterSyntax​(java.util.List<java.lang.String> elements, int start)  
      static java.util.List<java.lang.String> getTerms​(java.lang.String expression)  
      static java.util.Set<java.lang.String> parseExpression​(java.lang.String expression)
      Parse the label expression.
      private static int skipEmpty​(java.util.List<java.lang.String> elements, int start)  
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 字段详细资料

      • SUPPORTED_INNER_CONNCETORS

        private static final java.util.Set<java.lang.String> SUPPORTED_INNER_CONNCETORS
      • SUPPORTED_OUTER_CONNCETORS

        private static final java.util.Set<java.lang.String> SUPPORTED_OUTER_CONNCETORS
      • CONSUMER_PREFIX

        private static final java.lang.String CONSUMER_PREFIX
        另请参阅:
        常量字段值
      • PROVIDER_PREFIX

        private static final java.lang.String PROVIDER_PREFIX
        另请参阅:
        常量字段值
    • 构造器详细资料

      • ExpressionInterpreter

        public ExpressionInterpreter()
    • 方法详细资料

      • parseExpression

        public static java.util.Set<java.lang.String> parseExpression​(java.lang.String expression)
                                                               throws com.alibaba.nacos.api.exception.NacosException
        Parse the label expression.

        Currently we support the very single type of expression:

             consumer.labelA = provider.labelA & consumer.labelB = provider.labelB
         
        Later we will implement a interpreter to parse this expression in a standard LL parser way.
        参数:
        expression - the label expression to parse
        返回:
        collection of labels
        抛出:
        com.alibaba.nacos.api.exception.NacosException
      • getTerms

        public static java.util.List<java.lang.String> getTerms​(java.lang.String expression)
      • skipEmpty

        private static int skipEmpty​(java.util.List<java.lang.String> elements,
                                     int start)
      • checkOuterSyntax

        private static int checkOuterSyntax​(java.util.List<java.lang.String> elements,
                                            int start)
      • checkInnerSyntax

        private static int checkInnerSyntax​(java.util.List<java.lang.String> elements,
                                            int start)