Class XmlConfigFile

java.lang.Object
org.apache.solr.core.XmlConfigFile

public class XmlConfigFile extends Object
Wrapper around an XML DOM object to provide convenient accessors to it. Intended for XML config files.
  • Constructor Details

    • XmlConfigFile

      public XmlConfigFile(SolrResourceLoader loader, String name, InputSource is, String prefix, Properties substituteProps) throws IOException
      Throws:
      IOException
    • XmlConfigFile

      public XmlConfigFile(SolrResourceLoader loader, Function<String,InputStream> fileSupplier, String name, InputSource is, String prefix, Properties substituteProps) throws IOException
      Builds a config.

      Note that the 'name' parameter is used to obtain a valid input stream if no valid one is provided through 'is'. If no valid stream is provided, a valid SolrResourceLoader instance should be provided through 'loader' so the resource can be opened (@see SolrResourceLoader#openResource); if no SolrResourceLoader instance is provided, a default one will be created.

      Consider passing a non-null 'name' parameter in all use-cases since it is used for logging & exception reporting.

      Parameters:
      loader - the resource loader used to obtain an input stream if 'is' is null
      name - the resource name used if the input stream 'is' is null
      is - the resource as a SAX InputSource
      prefix - an optional prefix that will be prepended to all non-absolute xpath expressions
      substituteProps - optional property substitution
      Throws:
      IOException
  • Method Details

    • assertWarnOrFail

      public static void assertWarnOrFail(String reason, boolean assertCondition, boolean failCondition)
    • getSubstituteProperties

      protected Properties getSubstituteProperties()
      Returns non-null props to substitute. Param is the base/default set, also non-null.
    • getResourceLoader

      public SolrResourceLoader getResourceLoader()
      Since:
      solr 1.3
    • getResourceName

      public String getResourceName()
      Since:
      solr 1.3
    • getName

      public String getName()
    • getDocument

      public Document getDocument()
    • getXPath

      public XPath getXPath()
    • evaluate

      public Object evaluate(String path, QName type)
    • getNode

      public Node getNode(String path, boolean errifMissing)
    • getNode

      public Node getNode(String path, Document doc, boolean errIfMissing)
    • getNodeList

      public NodeList getNodeList(String path, boolean errIfMissing)
    • getUnknownAttributes

      public Set<String> getUnknownAttributes(Element element, String... knownAttributes)
      Returns the set of attributes on the given element that are not among the given knownAttributes, or null if all attributes are known.
    • complainAboutUnknownAttributes

      public void complainAboutUnknownAttributes(String elementXpath, String... knownAttributes)
      Logs an error and throws an exception if any of the element(s) at the given elementXpath contains an attribute name that is not among knownAttributes.
    • getVal

      public String getVal(String path, boolean errIfMissing)
    • get

      public String get(String path)
    • get

      public String get(String path, String def)
    • getInt

      public int getInt(String path)
    • getInt

      public int getInt(String path, int def)
    • getBool

      public boolean getBool(String path)
    • getBool

      public boolean getBool(String path, boolean def)
    • getFloat

      public float getFloat(String path)
    • getFloat

      public float getFloat(String path, float def)
    • getDouble

      public double getDouble(String path)
    • getDouble

      public double getDouble(String path, double def)
    • getZnodeVersion

      public int getZnodeVersion()
      If this config is loaded from zk the version is relevant otherwise -1 is returned