Class: Saxon::Configuration
- Inherits:
-
Object
- Object
- Saxon::Configuration
- Defined in:
- lib/saxon/configuration.rb
Overview
Wraps the net.saxon.Configuration class. See saxonica.com/documentation9.5/javadoc/net/sf/saxon/Configuration.html for details of what configuration options are available and what values they accept. See saxonica.com/documentation9.5/javadoc/net/sf/saxon/lib/FeatureKeys.html for details of the constant names used to access the values
Constant Summary collapse
- DEFAULT_SEMAPHORE =
Mutex.new
Class Method Summary collapse
- .create(processor = nil) ⇒ Saxon::Configuration
- .create_licensed(license_path) ⇒ Saxon::Configuration
-
.default ⇒ Saxon::Configuration
Provides a processor with default configuration.
-
.set_licensed_default!(licensed_configuration) ⇒ Object
Set a already-created Licensed Configuration object as the default configuration.
Instance Method Summary collapse
-
#[](option) ⇒ Object
Get a configuration option value See www.saxonica.com/html/documentation/javadoc/net/sf/saxon/lib/FeatureKeys.html for details of the available options.
-
#[]=(option, value) ⇒ Object
Get a configuration option value See saxonica.com/documentation9.5/javadoc/net/sf/saxon/lib/FeatureKeys.html for details of the available options.
-
#initialize(config) ⇒ Configuration
constructor
private
A new instance of Configuration.
-
#parse_options ⇒ Saxon::ParseOptions
Return the current ParseOptions object See www.saxonica.com/documentation/index.html#!javadoc/net.sf.saxon.lib/ParseOptions for details.
-
#to_java ⇒ net.sf.saxon.Configuration
The underlying Saxon Configuration.
Constructor Details
#initialize(config) ⇒ Configuration
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Configuration.
57 58 59 |
# File 'lib/saxon/configuration.rb', line 57 def initialize(config) @config = config end |
Class Method Details
.create(processor = nil) ⇒ Saxon::Configuration
25 26 27 28 29 30 31 32 33 |
# File 'lib/saxon/configuration.rb', line 25 def self.create(processor = nil) Saxon::Loader.load! if processor config = processor.to_java. else config = Saxon::S9API::Configuration.new end new(config) end |
.create_licensed(license_path) ⇒ Saxon::Configuration
38 39 40 41 42 43 44 |
# File 'lib/saxon/configuration.rb', line 38 def self.create_licensed(license_path) Saxon::Loader.load! java_config = Saxon::S9API::Configuration.makeLicensedConfiguration(nil, nil) config = new(java_config) config[:LICENSE_FILE_LOCATION] = license_path config end |
.default ⇒ Saxon::Configuration
Provides a processor with default configuration. Essentially a singleton instance
17 18 19 20 21 |
# File 'lib/saxon/configuration.rb', line 17 def self.default DEFAULT_SEMAPHORE.synchronize do @config ||= create end end |
.set_licensed_default!(licensed_configuration) ⇒ Object
Set a already-created Licensed Configuration object as the default configuration
48 49 50 51 52 |
# File 'lib/saxon/configuration.rb', line 48 def self.set_licensed_default!(licensed_configuration) DEFAULT_SEMAPHORE.synchronize do @config = licensed_configuration end end |
Instance Method Details
#[](option) ⇒ Object
Get a configuration option value See www.saxonica.com/html/documentation/javadoc/net/sf/saxon/lib/FeatureKeys.html for details of the available options. Use the constant name as a string or symbol as the option
69 70 71 |
# File 'lib/saxon/configuration.rb', line 69 def [](option) @config.getConfigurationProperty(option_url(option)) end |
#[]=(option, value) ⇒ Object
Get a configuration option value See saxonica.com/documentation9.5/javadoc/net/sf/saxon/lib/FeatureKeys.html for details of the available options. Use the constant name as a string or symbol as the option
82 83 84 85 |
# File 'lib/saxon/configuration.rb', line 82 def []=(option, value) url = option_url(option) @config.setConfigurationProperty(url, value) end |
#parse_options ⇒ Saxon::ParseOptions
Return the current ParseOptions object See www.saxonica.com/documentation/index.html#!javadoc/net.sf.saxon.lib/ParseOptions for details. This allows you to set JAXP features and properties to be passed to the parser
93 94 95 |
# File 'lib/saxon/configuration.rb', line 93 def ParseOptions.new(@config.getParseOptions) end |
#to_java ⇒ net.sf.saxon.Configuration
Returns The underlying Saxon Configuration.
98 99 100 |
# File 'lib/saxon/configuration.rb', line 98 def to_java @config end |