Mercurial Hosting > luan
view lucene/src/luan/modules/lucene/FieldTable.java @ 233:ef39bc4d3f70
basic lucene works
git-svn-id: https://luan-java.googlecode.com/svn/trunk@234 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Thu, 02 Oct 2014 02:58:55 +0000 |
parents | |
children | b25feac318d8 |
line wrap: on
line source
package luan.modules.lucene; import java.util.Map; import java.util.HashMap; import java.util.concurrent.ConcurrentHashMap; import java.util.Iterator; import luan.AbstractLuanTable; class FieldTable extends AbstractLuanTable { final Map<String,String> map = new ConcurrentHashMap<String,String>(); final Map<String,String> reverseMap = new ConcurrentHashMap<String,String>(); FieldTable() { put("type","type index"); put("id","id index"); } @Override public void put(Object key,Object value) { if( !(key instanceof String) ) throw new UnsupportedOperationException("key must be string"); String name = (String)key; if( value==null ) { // delete reverseMap.remove(map.remove(name)); return; } if( !(value instanceof String) ) throw new UnsupportedOperationException("value must be string"); String field = (String)value; map.put(name,field); reverseMap.put(field,name); } @Override public final Object get(Object key) { return map.get(key); } @Override public final Iterator<Map.Entry<Object,Object>> iterator() { return new HashMap<Object,Object>(map).entrySet().iterator(); } @Override protected String type() { return "lucene-field-table"; } }