Class: JavaServlet

Inherits:
Object
  • Object
show all
Defined in:
lib/appengine-rack/java.rb

Instance Method Summary collapse

Constructor Details

#initialize(klass, options = {}) ⇒ JavaServlet

Returns a new instance of JavaServlet.



21
22
23
24
25
# File 'lib/appengine-rack/java.rb', line 21

def initialize(klass, options={})
  @klass = klass.to_s
  @name = (options[:name] || klass).to_s
  @wildcard = options[:wildcard]
end

Instance Method Details

#append_xml(doc, pattern) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/appengine-rack/java.rb', line 31

def append_xml(doc, pattern)
  servlet = doc.add_element('servlet')
  servlet.add_element('servlet-name').add_text(@name)
  servlet.add_element('servlet-class').add_text(@klass)
  map = doc.add_element('servlet-mapping')
  map.add_element('servlet-name').add_text(@name)
  map.add_element('url-pattern').add_text(pattern.to_s)
  if @wildcard
    wildcard = doc.add_element('servlet-mapping')
    wildcard.add_element('servlet-name').add_text(@name)
    wildcard.add_element('url-pattern').add_text(
        AppEngine::Rack.make_wildcard(pattern))
  end
end

#call(env) ⇒ Object

Raises:

  • (RuntimeError)


27
28
29
# File 'lib/appengine-rack/java.rb', line 27

def call(env)
  raise RuntimeError, "JavaServlet should be dispatched by web.xml"
end