Class Property


  • @Plugin(name="property",
            category="Core",
            printObject=true)
    public final class Property
    extends java.lang.Object
    Represents a key/value pair in the configuration.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Property​(java.lang.String name, java.lang.String rawValue, java.lang.String value)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static Property createProperty​(java.lang.String name, java.lang.String value)
      Creates a Property.
      static Property createProperty​(java.lang.String name, java.lang.String rawValue, java.lang.String value)
      Creates a Property.
      java.lang.String evaluate​(StrSubstitutor substitutor)
      Evaluate this property with the provided substitutor.
      java.lang.String getName()
      Returns the property name.
      java.lang.String getRawValue()
      Returns the original raw property value without substitution.
      java.lang.String getValue()
      Returns the property value.
      boolean isValueNeedsLookup()
      Returns true if the value contains a substitutable property that requires a lookup to be resolved.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

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

      • EMPTY_ARRAY

        public static final Property[] EMPTY_ARRAY
        Since:
        2.11.2
      • LOGGER

        private static final Logger LOGGER
      • name

        private final java.lang.String name
      • rawValue

        private final java.lang.String rawValue
      • value

        private final java.lang.String value
      • valueNeedsLookup

        private final boolean valueNeedsLookup
    • Constructor Detail

      • Property

        private Property​(java.lang.String name,
                         java.lang.String rawValue,
                         java.lang.String value)
    • Method Detail

      • getName

        public java.lang.String getName()
        Returns the property name.
        Returns:
        the property name.
      • getRawValue

        public java.lang.String getRawValue()
        Returns the original raw property value without substitution.
        Returns:
        the raw value of the property, or empty string if it is not set.
      • getValue

        public java.lang.String getValue()
        Returns the property value.
        Returns:
        the value of the property.
      • isValueNeedsLookup

        public boolean isValueNeedsLookup()
        Returns true if the value contains a substitutable property that requires a lookup to be resolved.
        Returns:
        true if the value contains {@code "${"}, {@code false} otherwise
      • evaluate

        public java.lang.String evaluate​(StrSubstitutor substitutor)
        Evaluate this property with the provided substitutor. If isValueNeedsLookup() is false, the value is returned, otherwise the raw value is evaluated with the given substitutor.
      • createProperty

        public static Property createProperty​(java.lang.String name,
                                              java.lang.String value)
        Creates a Property.
        Parameters:
        name - The key.
        value - The value.
        Returns:
        A Property.
      • createProperty

        @PluginFactory
        public static Property createProperty​(@PluginAttribute("name")
                                              java.lang.String name,
                                              @PluginValue(value="value",substitute=false)
                                              java.lang.String rawValue,
                                              @PluginValue("value")
                                              java.lang.String value)
        Creates a Property.
        Parameters:
        name - The key.
        rawValue - The value without any substitution applied.
        value - The value.
        Returns:
        A Property.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object