001package org.nuxeo.segment.io; 002 003import java.io.Serializable; 004import java.util.Map; 005 006import org.nuxeo.ecm.core.api.NuxeoPrincipal; 007 008import com.github.segmentio.models.Providers; 009 010public interface SegmentIO { 011 012 String getWriteKey(); 013 014 Map<String, String> getGlobalParameters(); 015 016 void identify(NuxeoPrincipal principal); 017 018 void identify(NuxeoPrincipal principal, Map<String, Serializable> metadata); 019 020 void track(NuxeoPrincipal principal, String eventName); 021 022 void track(NuxeoPrincipal principal, String eventName, 023 Map<String, Serializable> metadata); 024 025 void flush(); 026 027 Providers getProviders(); 028 029 SegmentIOUserFilter getUserFilters(); 030}