Class: Java::OrgMitreStixIndicator::IndicatorType
- Inherits:
-
Object
- Object
- Java::OrgMitreStixIndicator::IndicatorType
- Defined in:
- lib/ruby_stix/api/indicator.rb
Instance Method Summary collapse
Instance Method Details
#item=(val) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/ruby_stix/api/indicator.rb', line 2 def item=(val) if val.kind_of?(org.mitre.cybox.core.ObservableType) self.observable = val elsif val.kind_of?(org.mitre.cybox.core.ObjectType) self.observable = org.mitre.cybox.core.ObservableType.new(:object => val) elsif val.kind_of?(org.mitre.cybox.core.EventType) self.observable = org.mitre.cybox.core.ObservableType.new(:event => val) elsif val.kind_of?(org.mitre.cybox.common.ObjectPropertiesType) self.observable = org.mitre.cybox.core.ObservableType.new(:object => org.mitre.cybox.core.ObjectType.new(:properties => val)) elsif val.kind_of?(Hash) && val[:operator] self.composite_indicator_expression = process_composition(val) else raise "Unknown item type: #{val.class}" end end |
#process_composition(composition_hash) ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/ruby_stix/api/indicator.rb', line 18 def process_composition(composition_hash) operator = org.mitre.stix.indicator.OperatorTypeEnum.from_value(composition_hash[:operator].to_s.upcase) composition = org.mitre.stix.indicator.CompositeIndicatorExpressionType.new(:operator => operator) composition_hash[:items].each do |item| indicator = item.kind_of?(org.mitre.stix.common.IndicatorBaseType) ? item : self.class.new(:item => item) composition.add_indicator(indicator) end return composition end |