Package org.apache.struts2.util.location

# Class LocatableProperties

java.lang.Object
java.util.Dictionary<K,V>
java.util.Hashtable<Object,Object>
java.util.Properties
org.apache.struts2.util.location.LocatableProperties

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Map<Object,Object>`, `Locatable`

public class LocatableProperties extends Properties implements Locatable
Properties implementation that remembers the location of each property. When loaded, a custom properties file parser is used to remember both the line number and preceeding comments for each property entry.

See Also:
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class java.util.Properties

  `defaults`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LocatableProperties()`
  `LocatableProperties(Location loc)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Location`
  `getLocation()`
  Get the location of this object
  `Location`
  `getPropertyLocation(String key)`
  `void`
  `load(InputStream in)`
  `Object`
  `setProperty(String key, String value, Object locationObj)`

  ### Methods inherited from class java.util.Properties

  `clear, clone, compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, equals, forEach, get, getOrDefault, getProperty, getProperty, hashCode, isEmpty, keys, keySet, list, list, load, loadFromXML, merge, propertyNames, put, putAll, putIfAbsent, rehash, remove, remove, replace, replace, replaceAll, save, setProperty, size, store, store, storeToXML, storeToXML, storeToXML, stringPropertyNames, toString, values`

  ### Methods inherited from class java.lang.Object

  `finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### LocatableProperties

    public LocatableProperties()

  - ### LocatableProperties

    public LocatableProperties(Location loc)

- ## Method Details

  - ### load

    public void load(InputStream in) throws IOException
    Overrides:
      `load` in class `Properties`
    Throws:
      `IOException`

  - ### setProperty

    public Object setProperty(String key, String value, Object locationObj)

  - ### getPropertyLocation

    public Location getPropertyLocation(String key)

  - ### getLocation

    public Location getLocation()
    Description copied from interface: `Locatable`
    Get the location of this object
    Specified by:
      `getLocation` in interface `Locatable`
    Returns:
      the location