Sha256: 139c5f9145a26781b9ea866e81bb6cbea4dce9aa92b3152b3db30403bd658edd
Contents?: true
Size: 1.45 KB
Versions: 1
Compression:
Stored size: 1.45 KB
Contents
module StanfordCoreNLP::RjbBridge StanfordCoreNLP.default_classes << ['AnnotationBridge', ''] def inject_get_method(klass) klass.class_eval do # Dynamically defined on all proxied annotation classes. # Get an annotation using the annotation bridge. def get(annotation, anno_base = nil) if !java_methods.include?('get(Ljava.lang.Class;)') raise 'No annotation can be retrieved on this object.' else anno_class = "#{StanfordCoreNLP.camel_case(annotation)}Annotation" if anno_base unless StanfordNLP::Config::Annotations[anno_base] raise "The path #{anno_base} doesn't exist." end anno_bases = [anno_base] else anno_bases = StanfordCoreNLP::Config::AnnotationsByName[anno_class] raise "The annotation #{anno_class} doesn't exist." unless anno_bases end if anno_bases.size > 1 msg = "There are many different annotations " + "bearing the name #{anno_class}. \nPlease specify " + "one of the following base classes as second " + "parameter to disambiguate: " msg << anno_bases.join(',') raise msg else base_class = anno_bases[0] end url = "edu.stanford.#{base_class}$#{anno_class}" StanfordCoreNLP::AnnotationBridge.getAnnotation(self, url) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
stanford-core-nlp-0.4.0 | lib/stanford-core-nlp/rjb_bridge.rb |