public static StoreParams decode(JsonObject json) { StoreParamsBuilder builder = StoreParams.builder() ; for ( String key : json.keys() ) { String short_key = unkey(key) ; switch(short_key) { case fFileMode : builder.fileMode(FileMode.valueOf(getString(json, key))) ; break ; case fBlockSize: builder.blockSize(getInt(json, key)) ; break ; case fBlockReadCacheSize: builder.blockReadCacheSize(getInt(json, key)) ; break ; case fBlockWriteCacheSize: builder.blockWriteCacheSize(getInt(json, key)) ; break ; case fNode2NodeIdCacheSize: builder.node2NodeIdCacheSize(getInt(json, key)) ; break ; case fNodeId2NodeCacheSize: builder.nodeId2NodeCacheSize(getInt(json, key)) ; break ; case fNodeMissCacheSize: builder.nodeMissCacheSize(getInt(json, key)) ; break ; case fNodeTableBaseName: builder.nodeTableBaseName(getString(json, key)) ; break ; case fPrimaryIndexTriples: builder.primaryIndexTriples(getString(json, key)) ; break ; case fTripleIndexes: builder.tripleIndexes(getStringArray(json, key)) ; break ; case fPrimaryIndexQuads: builder.primaryIndexQuads(getString(json, key)) ; break ; case fQuadIndexes: builder.quadIndexes(getStringArray(json, key)) ; break ; case fPrefixTableBaseName: builder.prefixTableBaseName(getString(json, key)) ; break ; case fPrimaryIndexPrefix: builder.primaryIndexPrefix(getString(json, key)) ; break ; case fPrefixIndexes: builder.prefixIndexes(getStringArray(json, key)) ; break ; default: throw new TDBException("StoreParams key no recognized: "+key) ; } } return builder.build() ; }