#
# Autogenerated by Thrift Compiler (1.0.0-dev)
#
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING

type _enum_PartialKey
  ROW::Int32
  ROW_COLFAM::Int32
  ROW_COLFAM_COLQUAL::Int32
  ROW_COLFAM_COLQUAL_COLVIS::Int32
  ROW_COLFAM_COLQUAL_COLVIS_TIME::Int32
  ROW_COLFAM_COLQUAL_COLVIS_TIME_DEL::Int32
end
const PartialKey = _enum_PartialKey(Int32(0), Int32(1), Int32(2), Int32(3), Int32(4), Int32(5))

type _enum_TablePermission
  READ::Int32
  WRITE::Int32
  BULK_IMPORT::Int32
  ALTER_TABLE::Int32
  GRANT::Int32
  DROP_TABLE::Int32
end
const TablePermission = _enum_TablePermission(Int32(2), Int32(3), Int32(4), Int32(5), Int32(6), Int32(7))

type _enum_SystemPermission
  GRANT::Int32
  CREATE_TABLE::Int32
  DROP_TABLE::Int32
  ALTER_TABLE::Int32
  CREATE_USER::Int32
  DROP_USER::Int32
  ALTER_USER::Int32
  SYSTEM::Int32
end
const SystemPermission = _enum_SystemPermission(Int32(0), Int32(1), Int32(2), Int32(3), Int32(4), Int32(5), Int32(6), Int32(7))

type _enum_ScanType
  SINGLE::Int32
  BATCH::Int32
end
const ScanType = _enum_ScanType(Int32(0), Int32(1))

type _enum_ScanState
  IDLE::Int32
  RUNNING::Int32
  QUEUED::Int32
end
const ScanState = _enum_ScanState(Int32(0), Int32(1), Int32(2))

type _enum_ConditionalStatus
  ACCEPTED::Int32
  REJECTED::Int32
  VIOLATED::Int32
  UNKNOWN::Int32
  INVISIBLE_VISIBILITY::Int32
end
const ConditionalStatus = _enum_ConditionalStatus(Int32(0), Int32(1), Int32(2), Int32(3), Int32(4))

type _enum_Durability
  DEFAULT::Int32
  NONE::Int32
  LOG::Int32
  FLUSH::Int32
  SYNC::Int32
end
const Durability = _enum_Durability(Int32(0), Int32(1), Int32(2), Int32(3), Int32(4))

type _enum_CompactionType
  MINOR::Int32
  MERGE::Int32
  MAJOR::Int32
  FULL::Int32
end
const CompactionType = _enum_CompactionType(Int32(0), Int32(1), Int32(2), Int32(3))

type _enum_CompactionReason
  USER::Int32
  SYSTEM::Int32
  CHOP::Int32
  IDLE::Int32
  CLOSE::Int32
end
const CompactionReason = _enum_CompactionReason(Int32(0), Int32(1), Int32(2), Int32(3), Int32(4))

type _enum_IteratorScope
  MINC::Int32
  MAJC::Int32
  SCAN::Int32
end
const IteratorScope = _enum_IteratorScope(Int32(0), Int32(1), Int32(2))

type _enum_TimeType
  LOGICAL::Int32
  MILLIS::Int32
end
const TimeType = _enum_TimeType(Int32(0), Int32(1))


type Key
  row::Vector{UInt8}
  colFamily::Vector{UInt8}
  colQualifier::Vector{UInt8}
  colVisibility::Vector{UInt8}
  timestamp::Int64
  Key() = (o=new(); fillunset(o); o)
end # type Key
meta(t::Type{Key}) = meta(t, Symbol[:timestamp], Int[], Dict{Symbol,Any}(:timestamp => Int64(9223372036854775807)))

type ColumnUpdate
  colFamily::Vector{UInt8}
  colQualifier::Vector{UInt8}
  colVisibility::Vector{UInt8}
  timestamp::Int64
  value::Vector{UInt8}
  deleteCell::Bool
  ColumnUpdate() = (o=new(); fillunset(o); o)
end # type ColumnUpdate
meta(t::Type{ColumnUpdate}) = meta(t, Symbol[:colVisibility,:timestamp,:value,:deleteCell], Int[], Dict{Symbol,Any}())

type DiskUsage
  tables::Vector{UTF8String}
  usage::Int64
  DiskUsage() = (o=new(); fillunset(o); o)
end # type DiskUsage

type KeyValue
  key::Key
  value::Vector{UInt8}
  KeyValue() = (o=new(); fillunset(o); o)
end # type KeyValue

type ScanResult
  results::Vector{KeyValue}
  more::Bool
  ScanResult() = (o=new(); fillunset(o); o)
end # type ScanResult

type Range
  start::Key
  startInclusive::Bool
  stop::Key
  stopInclusive::Bool
  Range() = (o=new(); fillunset(o); o)
end # type Range

type ScanColumn
  colFamily::Vector{UInt8}
  colQualifier::Vector{UInt8}
  ScanColumn() = (o=new(); fillunset(o); o)
end # type ScanColumn
meta(t::Type{ScanColumn}) = meta(t, Symbol[:colQualifier], Int[], Dict{Symbol,Any}())

type IteratorSetting
  priority::Int32
  name::UTF8String
  iteratorClass::UTF8String
  properties::Dict{UTF8String,UTF8String}
  IteratorSetting() = (o=new(); fillunset(o); o)
end # type IteratorSetting

type ScanOptions
  authorizations::Set{Vector{UInt8}}
  range::Range
  columns::Vector{ScanColumn}
  iterators::Vector{IteratorSetting}
  bufferSize::Int32
  ScanOptions() = (o=new(); fillunset(o); o)
end # type ScanOptions
meta(t::Type{ScanOptions}) = meta(t, Symbol[:authorizations,:range,:columns,:iterators,:bufferSize], Int[], Dict{Symbol,Any}())

type BatchScanOptions
  authorizations::Set{Vector{UInt8}}
  ranges::Vector{Range}
  columns::Vector{ScanColumn}
  iterators::Vector{IteratorSetting}
  threads::Int32
  BatchScanOptions() = (o=new(); fillunset(o); o)
end # type BatchScanOptions
meta(t::Type{BatchScanOptions}) = meta(t, Symbol[:authorizations,:ranges,:columns,:iterators,:threads], Int[], Dict{Symbol,Any}())

type KeyValueAndPeek
  keyValue::KeyValue
  hasNext::Bool
  KeyValueAndPeek() = (o=new(); fillunset(o); o)
end # type KeyValueAndPeek

type KeyExtent
  tableId::UTF8String
  endRow::Vector{UInt8}
  prevEndRow::Vector{UInt8}
  KeyExtent() = (o=new(); fillunset(o); o)
end # type KeyExtent

type Column
  colFamily::Vector{UInt8}
  colQualifier::Vector{UInt8}
  colVisibility::Vector{UInt8}
  Column() = (o=new(); fillunset(o); o)
end # type Column

type Condition
  column::Column
  timestamp::Int64
  value::Vector{UInt8}
  iterators::Vector{IteratorSetting}
  Condition() = (o=new(); fillunset(o); o)
end # type Condition
meta(t::Type{Condition}) = meta(t, Symbol[:timestamp,:value,:iterators], Int[], Dict{Symbol,Any}())

type ConditionalUpdates
  conditions::Vector{Condition}
  updates::Vector{ColumnUpdate}
  ConditionalUpdates() = (o=new(); fillunset(o); o)
end # type ConditionalUpdates
meta(t::Type{ConditionalUpdates}) = meta(t, Symbol[], Int[2,3], Dict{Symbol,Any}())

type ConditionalWriterOptions
  maxMemory::Int64
  timeoutMs::Int64
  threads::Int32
  authorizations::Set{Vector{UInt8}}
  durability::Int32
  ConditionalWriterOptions() = (o=new(); fillunset(o); o)
end # type ConditionalWriterOptions
meta(t::Type{ConditionalWriterOptions}) = meta(t, Symbol[:maxMemory,:timeoutMs,:threads,:authorizations,:durability], Int[], Dict{Symbol,Any}())

type ActiveScan
  client::UTF8String
  user::UTF8String
  table::UTF8String
  age::Int64
  idleTime::Int64
  _type::Int32
  state::Int32
  extent::KeyExtent
  columns::Vector{Column}
  iterators::Vector{IteratorSetting}
  authorizations::Vector{Vector{UInt8}}
  ActiveScan() = (o=new(); fillunset(o); o)
end # type ActiveScan

type ActiveCompaction
  extent::KeyExtent
  age::Int64
  inputFiles::Vector{UTF8String}
  outputFile::UTF8String
  _type::Int32
  reason::Int32
  localityGroup::UTF8String
  entriesRead::Int64
  entriesWritten::Int64
  iterators::Vector{IteratorSetting}
  ActiveCompaction() = (o=new(); fillunset(o); o)
end # type ActiveCompaction

type WriterOptions
  maxMemory::Int64
  latencyMs::Int64
  timeoutMs::Int64
  threads::Int32
  durability::Int32
  WriterOptions() = (o=new(); fillunset(o); o)
end # type WriterOptions
meta(t::Type{WriterOptions}) = meta(t, Symbol[:durability], Int[], Dict{Symbol,Any}())

type CompactionStrategyConfig
  className::UTF8String
  options::Dict{UTF8String,UTF8String}
  CompactionStrategyConfig() = (o=new(); fillunset(o); o)
end # type CompactionStrategyConfig

type UnknownScanner <: Exception
  msg::UTF8String
  UnknownScanner() = (o=new(); fillunset(o); o)
end # type UnknownScanner

type UnknownWriter <: Exception
  msg::UTF8String
  UnknownWriter() = (o=new(); fillunset(o); o)
end # type UnknownWriter

type NoMoreEntriesException <: Exception
  msg::UTF8String
  NoMoreEntriesException() = (o=new(); fillunset(o); o)
end # type NoMoreEntriesException

type AccumuloException <: Exception
  msg::UTF8String
  AccumuloException() = (o=new(); fillunset(o); o)
end # type AccumuloException

type AccumuloSecurityException <: Exception
  msg::UTF8String
  AccumuloSecurityException() = (o=new(); fillunset(o); o)
end # type AccumuloSecurityException

type TableNotFoundException <: Exception
  msg::UTF8String
  TableNotFoundException() = (o=new(); fillunset(o); o)
end # type TableNotFoundException

type TableExistsException <: Exception
  msg::UTF8String
  TableExistsException() = (o=new(); fillunset(o); o)
end # type TableExistsException

type MutationsRejectedException <: Exception
  msg::UTF8String
  MutationsRejectedException() = (o=new(); fillunset(o); o)
end # type MutationsRejectedException

abstract AccumuloProxyClientBase
