Represents an entry in the injectors internal data.
@api public
@return [Puppet::Pops::Binder::Bindings::Binding] The binding for this entry @api public
@api private
@return [Object] An opaque (comparable) object representing the precedence @api public
@api private
Compares against another InjectorEntry by comparing precedence. @param injector_entry [InjectorEntry] entry to compare against. @return [Integer] 1, if this entry has higher precedence, 0 if equal, and -1 if given entry has higher precedence. @api public
# File lib/puppet/pops/binder/injector_entry.rb, line 54 def <=> (injector_entry) precedence <=> injector_entry.precedence end
# File lib/puppet/pops/binder/injector_entry.rb, line 41 def is_abstract? binding.abstract end
# File lib/puppet/pops/binder/injector_entry.rb, line 45 def is_final? binding.final end
The binding is resolved if it is non-override, or if the override has been resolved @api private
# File lib/puppet/pops/binder/injector_entry.rb, line 37 def is_resolved?() !binding.override || resolved end
Marks an overriding entry as resolved (if not an overriding entry, the marking has no effect). @api private
# File lib/puppet/pops/binder/injector_entry.rb, line 30 def mark_override_resolved() @resolved = true end
@api private
# File lib/puppet/pops/binder/injector_entry.rb, line 21 def initialize(binding, precedence = 0) @precedence = precedence.freeze @binding = binding @cached_producer = nil end