Package org.apache.solr.core
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 Summary
Constructors Constructor Description XmlConfigFile(SolrResourceLoader loader, String name, InputSource is, String prefix, Properties substituteProps)XmlConfigFile(SolrResourceLoader loader, Function<String,InputStream> fileSupplier, String name, InputSource is, String prefix, Properties substituteProps)Builds a config.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidassertWarnOrFail(String reason, boolean assertCondition, boolean failCondition)voidcomplainAboutUnknownAttributes(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.Objectevaluate(String path, QName type)Stringget(String path)Stringget(String path, String def)booleangetBool(String path)booleangetBool(String path, boolean def)DocumentgetDocument()doublegetDouble(String path)doublegetDouble(String path, double def)floatgetFloat(String path)floatgetFloat(String path, float def)intgetInt(String path)intgetInt(String path, int def)StringgetName()NodegetNode(String path, boolean errifMissing)NodegetNode(String path, Document doc, boolean errIfMissing)NodeListgetNodeList(String path, boolean errIfMissing)SolrResourceLoadergetResourceLoader()StringgetResourceName()protected PropertiesgetSubstituteProperties()Returns non-null props to substitute.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.StringgetVal(String path, boolean errIfMissing)XPathgetXPath()intgetZnodeVersion()If this config is loaded from zk the version is relevant otherwise -1 is returned
-
-
-
Constructor Detail
-
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 nullname- the resource name used if the input stream 'is' is nullis- the resource as a SAX InputSourceprefix- an optional prefix that will be prepended to all non-absolute xpath expressionssubstituteProps- optional property substitution- Throws:
IOException
-
-
Method Detail
-
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()
-
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.
-
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
-
-