Class PropertyAliases

  • All Implemented Interfaces:
    java.lang.Cloneable
    Direct Known Subclasses:
    QueryPropertyAliases

    public class PropertyAliases
    extends Properties
    A properties implementation which translates the incoming name to its standard name if it is a registered alias.

    Aliases are case insensitive. One standard name may have multiple aliases.

    This is multithread safe or not depending on the status of the passed map of aliases. Cloning will not deep copy the set of aliases.

    Author:
    bratseth
    • Constructor Summary

      Constructors 
      Constructor Description
      PropertyAliases​(java.util.Map<java.lang.String,​com.yahoo.processing.request.CompoundName> aliases)
      Creates an instance with a set of aliases.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object get​(com.yahoo.processing.request.CompoundName name, java.util.Map<java.lang.String,​java.lang.String> context, com.yahoo.processing.request.Properties substitution)  
      java.util.Map<java.lang.String,​java.lang.Object> listProperties​(com.yahoo.processing.request.CompoundName property, java.util.Map<java.lang.String,​java.lang.String> context, com.yahoo.processing.request.Properties substitution)  
      void set​(com.yahoo.processing.request.CompoundName name, java.lang.Object value, java.util.Map<java.lang.String,​java.lang.String> context)  
      protected com.yahoo.processing.request.CompoundName unalias​(com.yahoo.processing.request.CompoundName nameOrAlias)
      Returns the standard name for an alias, or the given name if it is not a registered alias
      • Methods inherited from class com.yahoo.processing.request.Properties

        asBoolean, asDouble, asInteger, asLong, asString, chain, clearAll, clearAll, clearAll, clearAll, clone, cloneMap, get, get, get, get, get, get, get, getBoolean, getBoolean, getBoolean, getBoolean, getDouble, getDouble, getDouble, getDouble, getInstance, getInteger, getInteger, getInteger, getInteger, getLong, getLong, getLong, getLong, getString, getString, getString, getString, listProperties, listProperties, listProperties, listProperties, listProperties, listProperties, listProperties, set, set, set
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PropertyAliases

        public PropertyAliases​(java.util.Map<java.lang.String,​com.yahoo.processing.request.CompoundName> aliases)
        Creates an instance with a set of aliases. The given aliases will be used directly by this class. To make this class immutable and thread safe, relinquish ownership of the parameter map.
    • Method Detail

      • unalias

        protected com.yahoo.processing.request.CompoundName unalias​(com.yahoo.processing.request.CompoundName nameOrAlias)
        Returns the standard name for an alias, or the given name if it is not a registered alias
        Parameters:
        nameOrAlias - the name to check if is an alias
        Returns:
        the real name if an alias or the input name itself
      • listProperties

        public java.util.Map<java.lang.String,​java.lang.Object> listProperties​(com.yahoo.processing.request.CompoundName property,
                                                                                     java.util.Map<java.lang.String,​java.lang.String> context,
                                                                                     com.yahoo.processing.request.Properties substitution)
        Overrides:
        listProperties in class com.yahoo.processing.request.Properties
      • get

        public java.lang.Object get​(com.yahoo.processing.request.CompoundName name,
                                    java.util.Map<java.lang.String,​java.lang.String> context,
                                    com.yahoo.processing.request.Properties substitution)
        Overrides:
        get in class com.yahoo.processing.request.Properties
      • set

        public void set​(com.yahoo.processing.request.CompoundName name,
                        java.lang.Object value,
                        java.util.Map<java.lang.String,​java.lang.String> context)
        Overrides:
        set in class com.yahoo.processing.request.Properties