class Gedcomx::Field

Attributes

values[R]

Public Class Methods

create(attributes = {}) click to toggle source
# File lib/gedcomx/field.rb, line 14
def self.create(attributes = {})
  new_field = self.new
  values = attributes[:values]

  new_field.type = attributes[:type] if attributes[:type]
  if values.is_a? Array
    values.each do |value|
      next unless value.is_a? Hash
      new_field.add_value(value[:text], value[:type])
    end
  end
  new_field
end
java_class() click to toggle source
# File lib/gedcomx/field.rb, line 6
def self.java_class
  Java::OrgGedcomxRecords::Field
end
java_value_class() click to toggle source
# File lib/gedcomx/field.rb, line 10
def self.java_value_class
  Java::OrgGedcomxRecords::FieldValue
end
new(input = nil) click to toggle source
# File lib/gedcomx/field.rb, line 28
def initialize(input = nil)
  @field = input || self.class.java_class.new
  @values = []
  @values = @field.values.map { |value| Gedcomx::FieldValue.new(value) } if @field.values
end

Public Instance Methods

add_value(value_string, input_type = nil) click to toggle source
# File lib/gedcomx/field.rb, line 34
def add_value(value_string, input_type = nil)
  value = Gedcomx::FieldValue.new
  value.text = value_string
  value.type = input_type if input_type
  @field.add_value value.to_java
  @values << value
end
to_java() click to toggle source
# File lib/gedcomx/field.rb, line 50
def to_java
  @field
end
type() click to toggle source
# File lib/gedcomx/field.rb, line 42
def type
  @field.get_type.to_s
end
type=(input_type) click to toggle source
# File lib/gedcomx/field.rb, line 46
def type=(input_type)
  @field.type = ( input_type.is_a? Gedcomx.java_uri_class ) ? input_type : Gedcomx.new_uri(input_type)
end