public class LogEvent: ElectrodeObject, Bridgeable {

    private static let tag = String(describing: type(of: self))

    /**
     Event Identifier
     */
    public let eventIdentifier: String?
    /**
     Action Identifier
     */
    public let actionIdentifier: String?
    /**
     Event Value
     */
    public let eventValue: String?

    public init(eventIdentifier: String?, actionIdentifier: String?, eventValue: String?) {
        self.eventIdentifier = eventIdentifier
        self.actionIdentifier = actionIdentifier
        self.eventValue = eventValue
        super.init()
    }

    public override init() {
        self.eventIdentifier = nil
        self.actionIdentifier = nil
        self.eventValue = nil
        super.init()
    }

    required public init(dictionary:[AnyHashable:Any]) {



        if let eventIdentifier = dictionary["eventIdentifier"] as? String {
            self.eventIdentifier = eventIdentifier
        } else {
            self.eventIdentifier = nil
        }
        

        if let actionIdentifier = dictionary["actionIdentifier"] as? String {
            self.actionIdentifier = actionIdentifier
        } else {
            self.actionIdentifier = nil
        }
        

        if let eventValue = dictionary["eventValue"] as? String {
            self.eventValue = eventValue
        } else {
            self.eventValue = nil
        }
        
        super.init(dictionary: dictionary)
    }

    public func toDictionary() -> NSDictionary {

         var dict = [:] as [AnyHashable : Any]

         
        if let nonNullEventIdentifier = self.eventIdentifier {
                dict["eventIdentifier"] = nonNullEventIdentifier
        }
        if let nonNullActionIdentifier = self.actionIdentifier {
                dict["actionIdentifier"] = nonNullActionIdentifier
        }
        if let nonNullEventValue = self.eventValue {
                dict["eventValue"] = nonNullEventValue
        }
        return dict as NSDictionary
    }
}
