Class SqlNameMatchers.BaseMatcher

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private boolean caseSensitive  
    • Constructor Summary

      Constructors 
      Constructor Description
      BaseMatcher​(boolean caseSensitive)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.util.List<java.lang.String> bestMatch()  
      java.lang.String bestString()
      Returns the most recent match.
      private java.util.List<java.lang.String> concat​(java.util.List<java.lang.String> prefixNames, java.util.List<java.lang.String> names)  
      java.util.Set<java.lang.String> createSet()
      Creates a set that has the same case-sensitivity as this matcher.
      RelDataTypeField field​(RelDataType rowType, java.lang.String fieldName)
      Finds a field with a given name, using the current case-sensitivity, returning null if not found.
      int frequency​(java.lang.Iterable<java.lang.String> names, java.lang.String name)
      Returns how many times a string occurs in a collection.
      <K extends java.util.List<java.lang.String>,​V>
      V
      get​(java.util.Map<K,​V> map, java.util.List<java.lang.String> prefixNames, java.util.List<java.lang.String> names)
      Looks up an item in a map.
      boolean isCaseSensitive()
      Returns whether name matching is case-sensitive.
      protected boolean listMatches​(java.util.List<java.lang.String> list0, java.util.List<java.lang.String> list1)  
      protected void matched​(java.util.List<java.lang.String> prefixNames, java.util.List<java.lang.String> names)  
      boolean matches​(java.lang.String string, java.lang.String name)
      Returns a name matches another.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • caseSensitive

        private final boolean caseSensitive
    • Constructor Detail

      • BaseMatcher

        BaseMatcher​(boolean caseSensitive)
    • Method Detail

      • matches

        public boolean matches​(java.lang.String string,
                               java.lang.String name)
        Description copied from interface: SqlNameMatcher
        Returns a name matches another.
        Specified by:
        matches in interface SqlNameMatcher
        Parameters:
        string - Name written in code
        name - Name of object we are trying to match
        Returns:
        Whether matches
      • listMatches

        protected boolean listMatches​(java.util.List<java.lang.String> list0,
                                      java.util.List<java.lang.String> list1)
      • get

        public <K extends java.util.List<java.lang.String>,​V> V get​(java.util.Map<K,​V> map,
                                                                          java.util.List<java.lang.String> prefixNames,
                                                                          java.util.List<java.lang.String> names)
        Description copied from interface: SqlNameMatcher
        Looks up an item in a map.
        Specified by:
        get in interface SqlNameMatcher
      • concat

        private java.util.List<java.lang.String> concat​(java.util.List<java.lang.String> prefixNames,
                                                        java.util.List<java.lang.String> names)
      • matched

        protected void matched​(java.util.List<java.lang.String> prefixNames,
                               java.util.List<java.lang.String> names)
      • bestMatch

        protected java.util.List<java.lang.String> bestMatch()
      • bestString

        public java.lang.String bestString()
        Description copied from interface: SqlNameMatcher
        Returns the most recent match.

        In the default implementation, throws UnsupportedOperationException.

        Specified by:
        bestString in interface SqlNameMatcher
      • field

        public RelDataTypeField field​(RelDataType rowType,
                                      java.lang.String fieldName)
        Description copied from interface: SqlNameMatcher
        Finds a field with a given name, using the current case-sensitivity, returning null if not found.
        Specified by:
        field in interface SqlNameMatcher
        Parameters:
        rowType - Row type
        fieldName - Field name
        Returns:
        Field, or null if not found
      • frequency

        public int frequency​(java.lang.Iterable<java.lang.String> names,
                             java.lang.String name)
        Description copied from interface: SqlNameMatcher
        Returns how many times a string occurs in a collection.

        Similar to Collections.frequency(java.util.Collection<?>, java.lang.Object).

        Specified by:
        frequency in interface SqlNameMatcher
      • createSet

        public java.util.Set<java.lang.String> createSet()
        Description copied from interface: SqlNameMatcher
        Creates a set that has the same case-sensitivity as this matcher.
        Specified by:
        createSet in interface SqlNameMatcher