Class ConfigurationSource
- java.lang.Object
-
- org.apache.logging.log4j.core.config.ConfigurationSource
-
public class ConfigurationSource extends java.lang.Object
Represents the source for the logging configuration.
-
-
Field Summary
Fields Modifier and Type Field Description static ConfigurationSource
COMPOSITE_SOURCE
ConfigurationSource to use withCompositeConfiguration
.private byte[]
data
private static byte[]
EMPTY_BYTE_ARRAY
Empty byte array singleton.private java.io.File
file
private long
lastModified
private java.lang.String
location
private long
modifiedMillis
static ConfigurationSource
NULL_SOURCE
ConfigurationSource to use with Configurations that do not require a "real" configuration source.private Source
source
private java.io.InputStream
stream
private java.net.URL
url
-
Constructor Summary
Constructors Modifier Constructor Description private
ConfigurationSource(byte[] data, java.net.URL url, long lastModified)
ConfigurationSource(java.io.InputStream stream)
Constructs a newConfigurationSource
with the specified input stream.ConfigurationSource(java.io.InputStream stream, java.io.File file)
Constructs a newConfigurationSource
with the specified input stream that originated from the specified file.ConfigurationSource(java.io.InputStream stream, java.net.URL url)
Constructs a newConfigurationSource
with the specified input stream that originated from the specified url.ConfigurationSource(java.io.InputStream stream, java.net.URL url, long lastModified)
Constructs a newConfigurationSource
with the specified input stream that originated from the specified url.ConfigurationSource(Source source, byte[] data, long lastModified)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ConfigurationSource
fromResource(java.lang.String resource, java.lang.ClassLoader loader)
Retrieves the configuration via the ClassLoader.static ConfigurationSource
fromUri(java.net.URI configLocation)
Loads the configuration from a URI.java.io.File
getFile()
Returns the file configuration source, ornull
if this configuration source is based on an URL or has neither a file nor an URL.java.io.InputStream
getInputStream()
Returns the input stream that this configuration source was constructed with.long
getLastModified()
Returns the time the resource was last modified or 0 if it is not available.java.lang.String
getLocation()
Returns a string describing the configuration source file or URL, ornull
if this configuration source has neither a file nor an URL.java.net.URI
getURI()
Returns a URI representing the configuration resource or null if it cannot be determined.java.net.URL
getURL()
Returns the configuration source URL, ornull
if this configuration source is based on a file or has neither a file nor an URL.ConfigurationSource
resetInputStream()
Returns a newConfigurationSource
whose input stream is reset to the beginning.void
setData(byte[] data)
void
setModifiedMillis(long modifiedMillis)
void
setSource(Source source)
private static byte[]
toByteArray(java.io.InputStream inputStream)
Returns the contents of the specifiedInputStream
as a byte array.java.lang.String
toString()
-
-
-
Field Detail
-
EMPTY_BYTE_ARRAY
private static final byte[] EMPTY_BYTE_ARRAY
Empty byte array singleton.
-
NULL_SOURCE
public static final ConfigurationSource NULL_SOURCE
ConfigurationSource to use with Configurations that do not require a "real" configuration source.
-
COMPOSITE_SOURCE
public static final ConfigurationSource COMPOSITE_SOURCE
ConfigurationSource to use withCompositeConfiguration
.
-
file
private final java.io.File file
-
url
private final java.net.URL url
-
location
private final java.lang.String location
-
stream
private final java.io.InputStream stream
-
data
private volatile byte[] data
-
source
private volatile Source source
-
lastModified
private final long lastModified
-
modifiedMillis
private volatile long modifiedMillis
-
-
Constructor Detail
-
ConfigurationSource
public ConfigurationSource(java.io.InputStream stream, java.io.File file)
Constructs a newConfigurationSource
with the specified input stream that originated from the specified file.- Parameters:
stream
- the input streamfile
- the file where the input stream originated
-
ConfigurationSource
public ConfigurationSource(java.io.InputStream stream, java.net.URL url)
Constructs a newConfigurationSource
with the specified input stream that originated from the specified url.- Parameters:
stream
- the input streamurl
- the URL where the input stream originated
-
ConfigurationSource
public ConfigurationSource(java.io.InputStream stream, java.net.URL url, long lastModified)
Constructs a newConfigurationSource
with the specified input stream that originated from the specified url.- Parameters:
stream
- the input streamurl
- the URL where the input stream originatedlastModified
- when the source was last modified.
-
ConfigurationSource
public ConfigurationSource(java.io.InputStream stream) throws java.io.IOException
Constructs a newConfigurationSource
with the specified input stream. Since the stream is the only source of data, this constructor makes a copy of the stream contents.- Parameters:
stream
- the input stream- Throws:
java.io.IOException
- if an exception occurred reading from the specified stream
-
ConfigurationSource
public ConfigurationSource(Source source, byte[] data, long lastModified) throws java.io.IOException
- Throws:
java.io.IOException
-
ConfigurationSource
private ConfigurationSource(byte[] data, java.net.URL url, long lastModified)
-
-
Method Detail
-
toByteArray
private static byte[] toByteArray(java.io.InputStream inputStream) throws java.io.IOException
Returns the contents of the specifiedInputStream
as a byte array.- Parameters:
inputStream
- the stream to read- Returns:
- the contents of the specified stream
- Throws:
java.io.IOException
- if a problem occurred reading from the stream
-
getFile
public java.io.File getFile()
Returns the file configuration source, ornull
if this configuration source is based on an URL or has neither a file nor an URL.- Returns:
- the configuration source file, or
null
-
getURL
public java.net.URL getURL()
Returns the configuration source URL, ornull
if this configuration source is based on a file or has neither a file nor an URL.- Returns:
- the configuration source URL, or
null
-
setSource
public void setSource(Source source)
-
setData
public void setData(byte[] data)
-
setModifiedMillis
public void setModifiedMillis(long modifiedMillis)
-
getURI
public java.net.URI getURI()
Returns a URI representing the configuration resource or null if it cannot be determined.- Returns:
- The URI.
-
getLastModified
public long getLastModified()
Returns the time the resource was last modified or 0 if it is not available.- Returns:
- the last modified time of the resource.
-
getLocation
public java.lang.String getLocation()
Returns a string describing the configuration source file or URL, ornull
if this configuration source has neither a file nor an URL.- Returns:
- a string describing the configuration source file or URL, or
null
-
getInputStream
public java.io.InputStream getInputStream()
Returns the input stream that this configuration source was constructed with.- Returns:
- the input stream that this configuration source was constructed with.
-
resetInputStream
public ConfigurationSource resetInputStream() throws java.io.IOException
Returns a newConfigurationSource
whose input stream is reset to the beginning.- Returns:
- a new
ConfigurationSource
- Throws:
java.io.IOException
- if a problem occurred while opening the new input stream
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
fromUri
public static ConfigurationSource fromUri(java.net.URI configLocation)
Loads the configuration from a URI.- Parameters:
configLocation
- A URI representing the location of the configuration.- Returns:
- The ConfigurationSource for the configuration.
-
fromResource
public static ConfigurationSource fromResource(java.lang.String resource, java.lang.ClassLoader loader)
Retrieves the configuration via the ClassLoader.- Parameters:
resource
- The resource to load.loader
- The default ClassLoader to use.- Returns:
- The ConfigurationSource for the configuration.
-
-