/** * Retrieve name of column family. * * @return column family name. * @since 3.10.0 * * @deprecated Use {@link #getName()} instead. */ @Deprecated public byte[] columnFamilyName() { return getName(); }
public static <ColumnFamilyNames extends Enum<ColumnFamilyNames>> ZeebeRocksDb<ColumnFamilyNames> openZbDb( final DBOptions options, final String path, final List<ColumnFamilyDescriptor> columnFamilyDescriptors, final List<AutoCloseable> closables, Class<ColumnFamilyNames> columnFamilyTypeClass) throws RocksDBException { final EnumMap<ColumnFamilyNames, Long> columnFamilyMap = new EnumMap<>(columnFamilyTypeClass); final byte[][] cfNames = new byte[columnFamilyDescriptors.size()][]; final long[] cfOptionHandles = new long[columnFamilyDescriptors.size()]; for (int i = 0; i < columnFamilyDescriptors.size(); i++) { final ColumnFamilyDescriptor cfDescriptor = columnFamilyDescriptors.get(i); cfNames[i] = cfDescriptor.getName(); cfOptionHandles[i] = getNativeHandle(cfDescriptor.getOptions()); } final long[] handles = open(getNativeHandle(options), path, cfNames, cfOptionHandles); final ColumnFamilyNames[] enumConstants = columnFamilyTypeClass.getEnumConstants(); for (int i = 1; i < handles.length; i++) { columnFamilyMap.put(enumConstants[i - 1], handles[i]); } final ZeebeRocksDb<ColumnFamilyNames> db = new ZeebeRocksDb<ColumnFamilyNames>( handles[0], columnFamilyMap, closables, columnFamilyTypeClass); db.storeOptionsInstance(options); return db; }