class Jaspion::Kilza::Java::Class

Attributes

gson[R]
gson?[R]
package[RW]

Represents the Java class package

parcelable[R]
parcelable?[R]
serializable[R]
serializable?[R]

Public Class Methods

new(name, package = nil) click to toggle source
Calls superclass method Jaspion::Kilza::Class::new
# File lib/jaspion/kilza/language/java/class.rb, line 18
def initialize(name, package = nil)
  name = name + RESERVED_CLASS_POSFIX unless RESERVED_WORDS.index(name.downcase).nil?
  super(name)

  @package = package
  @implements = []

  push_import('import org.json.*;')

  self.serializable = true
  self.parcelable = false
  self.gson = true
end

Public Instance Methods

gson=(g) click to toggle source
# File lib/jaspion/kilza/language/java/class.rb, line 50
def gson=(g)
  @gson = g

  v = %w(
    import\ com.google.gson.Gson;
    import\ com.google.gson.GsonBuilder;
    import\ com.google.gson.annotations.SerializedName;
    import\ com.google.gson.annotations.Expose;
  )

  if (g)
    push_import(v)
  else
    delete_import(v)
  end
end
implements() click to toggle source
# File lib/jaspion/kilza/language/java/class.rb, line 46
def implements
  @implements.sort
end
parcelable=(p) click to toggle source
# File lib/jaspion/kilza/language/java/class.rb, line 67
def parcelable=(p)
  @parcelable = p

  v = 'import android.os.Parcelable;'
  if (p)
    push_implements('Parcelable')
    push_import(v)
  else
    implements.delete('Parcelable')
    delete_import(v)
  end
end
push(pr) click to toggle source
Calls superclass method Jaspion::Kilza::Class#push
# File lib/jaspion/kilza/language/java/class.rb, line 32
def push(pr)
  pr.gson = gson?

  pr.type = pr.class_name if pr.object? || (pr.array? && pr.null?)
  push_import('import java.util.ArrayList;') if pr.array?
  pr.type = Jaspion::Kilza::Java::TYPES[pr.type] unless Jaspion::Kilza::Java::TYPES[pr.type].nil?

  super(pr)
end
push_implements(implement) click to toggle source
# File lib/jaspion/kilza/language/java/class.rb, line 42
def push_implements(implement)
  @implements.push(implement)
end
serializable=(s) click to toggle source
# File lib/jaspion/kilza/language/java/class.rb, line 80
def serializable=(s)
  @serializable = s

  v = 'import java.io.Serializable;'
  if (s)
    push_implements('Serializable')
    push_import(v)
  else
    implements.delete('Serializable')
    delete_import(v)
  end
end
sources() click to toggle source
# File lib/jaspion/kilza/language/java/class.rb, line 93
def sources
  [code('java', 'java')]
end