Author: epbernard
Date: 2006-10-13 16:26:32 -0400 (Fri, 13 Oct 2006)
New Revision: 10576
Added:
branches/Lucene_Integration/HibernateExt/metadata/src/test/org/hibernate/lucene/test/bridge/
branches/Lucene_Integration/HibernateExt/metadata/src/test/org/hibernate/lucene/test/bridge/BridgeTest.java
branches/Lucene_Integration/HibernateExt/metadata/src/test/org/hibernate/lucene/test/bridge/Cloud.java
Modified:
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/DocumentBuilder.java
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/BridgeFactory.java
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/DateBridge.java
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/DoubleBridge.java
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/FloatBridge.java
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/IntegerBridge.java
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/LongBridge.java
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/NumberBridge.java
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/String2FieldBridgeAdaptor.java
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/StringBridge.java
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/StringImplBridge.java
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/reflection/java/EJB3OverridenAnnotationReader.java
Log:
ANN-454 Support for Bridge
Modified:
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/DocumentBuilder.java
===================================================================
---
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/DocumentBuilder.java 2006-10-13
16:39:45 UTC (rev 10575)
+++
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/DocumentBuilder.java 2006-10-13
20:26:32 UTC (rev 10576)
@@ -36,10 +36,13 @@
private final List<Member> keywordGetters = new ArrayList<Member>();
private final List<String> keywordNames = new ArrayList<String>();
+ private final List<FieldBridge> keywordBridges = new
ArrayList<FieldBridge>();
private final List<Member> unstoredGetters = new ArrayList<Member>();
private final List<String> unstoredNames = new ArrayList<String>();
+ private final List<FieldBridge> unstoredBridges = new
ArrayList<FieldBridge>();
private final List<Member> textGetters = new ArrayList<Member>();
private final List<String> textNames = new ArrayList<String>();
+ private final List<FieldBridge> textBridges = new
ArrayList<FieldBridge>();
private final Class<T> beanClass;
private final DirectoryProvider directoryProvider;
@@ -61,8 +64,8 @@
Method method = methods[i];
Keyword keywordAnn = method.getAnnotation(Keyword.class);
if (keywordAnn != null) {
- String name = BinderHelper.getAttributeName(method,
keywordAnn.name());
- if (keywordAnn.id()) {
+ String name = BinderHelper.getAttributeName( method,
keywordAnn.name() );
+ if ( keywordAnn.id() ) {
idKeywordName = name;
idBoost = getBoost(method);
idBridge = BridgeFactory.guessType(method);
@@ -70,18 +73,21 @@
setAccessible(method);
keywordGetters.add(method);
keywordNames.add(name);
+ keywordBridges.add( BridgeFactory.guessType(method) );
}
}
Unstored unstoredAnn = method.getAnnotation(Unstored.class);
if (unstoredAnn != null) {
setAccessible(method);
unstoredGetters.add(method);
- unstoredNames.add(BinderHelper.getAttributeName(method,
unstoredAnn.name()));
+ unstoredNames.add(BinderHelper.getAttributeName( method,
unstoredAnn.name() ) );
+ unstoredBridges.add( BridgeFactory.guessType(method) );
}
Text textAnn = method.getAnnotation(Text.class);
if (textAnn != null) {
textGetters.add(method);
- textNames.add(BinderHelper.getAttributeName(method,
textAnn.name()));
+ textNames.add( BinderHelper.getAttributeName( method, textAnn.name()
) );
+ textBridges.add( BridgeFactory.guessType(method) );
}
}
}
@@ -127,31 +133,27 @@
for (int i = 0; i < keywordNames.size(); i++) {
Member member = keywordGetters.get(i);
Object value = getValue(member, instance);
- if (value != null) {
- Field field = new Field(keywordNames.get(i), toString(value),
Field.Store.YES, Field.Index.UN_TOKENIZED);
- boostField(field, member);
- doc.add(field);
- }
+ keywordBridges.get(i).set(
+ keywordNames.get(i), value, doc, Field.Store.YES,
+ Field.Index.UN_TOKENIZED, getBoost( (AnnotatedElement) member )
+ );
}
for (int i = 0; i < textNames.size(); i++) {
Member member = textGetters.get(i);
Object value = getValue(member, instance);
- if (value != null) {
- Field field = new Field(textNames.get(i), toString(value),
Field.Store.YES, Field.Index.TOKENIZED);
- boostField(field, member);
- doc.add(field);
- }
+ textBridges.get(i).set(
+ textNames.get(i), value, doc, Field.Store.YES,
+ Field.Index.TOKENIZED, getBoost( (AnnotatedElement) member )
+ );
}
for (int i = 0; i < unstoredNames.size(); i++) {
Member member = unstoredGetters.get(i);
Object value = getValue(member, instance);
- if (value != null) {
- Field field = new Field(unstoredNames.get(i), toString(value),
Field.Store.NO, Field.Index.TOKENIZED);
- boostField(field, member);
- doc.add(field);
- }
+ unstoredBridges.get(i).set(
+ unstoredNames.get(i), value, doc, Field.Store.NO,
+ Field.Index.TOKENIZED, getBoost( (AnnotatedElement) member )
+ );
}
-
return doc;
}
@@ -160,10 +162,6 @@
if (boost != null) field.setBoost(boost.floatValue());
}
- private static String toString(Object value) {
- return value.toString();
- }
-
public Term getTerm(Serializable id) {
return new Term(idKeywordName, id.toString());
}
Modified:
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/BridgeFactory.java
===================================================================
---
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/BridgeFactory.java 2006-10-13
16:39:45 UTC (rev 10575)
+++
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/BridgeFactory.java 2006-10-13
20:26:32 UTC (rev 10576)
@@ -38,10 +38,14 @@
static {
builtInBridges.put( Double.class.getName(), DOUBLE );
- builtInBridges.put( Float.class.getName(), FLOAT );
- builtInBridges.put( Integer.class.getName(), INTEGER );
- builtInBridges.put( Long.class.getName(), LONG );
- builtInBridges.put( String.class.getName(), STRING );
+ builtInBridges.put( double.class.getName(), DOUBLE );
+ builtInBridges.put( Float.class.getName(), FLOAT );
+ builtInBridges.put( float.class.getName(), FLOAT );
+ builtInBridges.put( Integer.class.getName(), INTEGER );
+ builtInBridges.put( int.class.getName(), INTEGER );
+ builtInBridges.put( Long.class.getName(), LONG );
+ builtInBridges.put( long.class.getName(), LONG );
+ builtInBridges.put( String.class.getName(), STRING );
DATE_YEAR = createDateBridge( Resolution.YEAR );
DATE_MONTH = createDateBridge( Resolution.MONTH );
Modified:
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/DateBridge.java
===================================================================
---
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/DateBridge.java 2006-10-13
16:39:45 UTC (rev 10575)
+++
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/DateBridge.java 2006-10-13
20:26:32 UTC (rev 10576)
@@ -8,6 +8,7 @@
import org.apache.lucene.document.DateTools;
import org.hibernate.AssertionFailure;
import org.hibernate.HibernateException;
+import org.hibernate.util.StringHelper;
/**
* @author Emmanuel Bernard
@@ -16,8 +17,8 @@
DateTools.Resolution resolution;
public Object stringToObject(String stringValue) {
- //usually does not make sense
- try {
+ if ( StringHelper.isEmpty(stringValue) ) return null;
+ try {
return DateTools.stringToDate( stringValue );
}
catch (ParseException e) {
@@ -26,7 +27,9 @@
}
public String objectToString(Object object) {
- return DateTools.dateToString( (Date) object, resolution );
+ return object != null ?
+ DateTools.dateToString( (Date) object, resolution ) :
+ null;
}
public void setParameterValues(Map parameters) {
Modified:
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/DoubleBridge.java
===================================================================
---
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/DoubleBridge.java 2006-10-13
16:39:45 UTC (rev 10575)
+++
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/DoubleBridge.java 2006-10-13
20:26:32 UTC (rev 10576)
@@ -1,11 +1,14 @@
//$Id: $
package org.hibernate.lucene.bridge;
+import org.hibernate.util.StringHelper;
+
/**
* @author Emmanuel Bernard
*/
public class DoubleBridge extends NumberBridge {
public Object stringToObject(String stringValue) {
- return new Double(stringValue);
+ if ( StringHelper.isEmpty(stringValue) ) return null;
+ return new Double(stringValue);
}
}
Modified:
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/FloatBridge.java
===================================================================
---
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/FloatBridge.java 2006-10-13
16:39:45 UTC (rev 10575)
+++
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/FloatBridge.java 2006-10-13
20:26:32 UTC (rev 10576)
@@ -1,11 +1,14 @@
//$Id: $
package org.hibernate.lucene.bridge;
+import org.hibernate.util.StringHelper;
+
/**
* @author Emmanuel Bernard
*/
public class FloatBridge extends NumberBridge {
public Object stringToObject(String stringValue) {
- return new Float(stringValue);
+ if ( StringHelper.isEmpty(stringValue) ) return null;
+ return new Float(stringValue);
}
}
Modified:
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/IntegerBridge.java
===================================================================
---
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/IntegerBridge.java 2006-10-13
16:39:45 UTC (rev 10575)
+++
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/IntegerBridge.java 2006-10-13
20:26:32 UTC (rev 10576)
@@ -1,11 +1,14 @@
//$Id: $
package org.hibernate.lucene.bridge;
+import org.hibernate.util.StringHelper;
+
/**
* @author Emmanuel Bernard
*/
public class IntegerBridge extends NumberBridge {
public Object stringToObject(String stringValue) {
- return new Integer(stringValue);
+ if ( StringHelper.isEmpty(stringValue) ) return null;
+ return new Integer(stringValue);
}
}
Modified:
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/LongBridge.java
===================================================================
---
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/LongBridge.java 2006-10-13
16:39:45 UTC (rev 10575)
+++
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/LongBridge.java 2006-10-13
20:26:32 UTC (rev 10576)
@@ -1,11 +1,14 @@
//$Id: $
package org.hibernate.lucene.bridge;
+import org.hibernate.util.StringHelper;
+
/**
* @author Emmanuel Bernard
*/
public class LongBridge extends NumberBridge {
public Object stringToObject(String stringValue) {
- return new Long(stringValue);
+ if ( StringHelper.isEmpty(stringValue) ) return null;
+ return new Long(stringValue);
}
}
Modified:
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/NumberBridge.java
===================================================================
---
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/NumberBridge.java 2006-10-13
16:39:45 UTC (rev 10575)
+++
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/NumberBridge.java 2006-10-13
20:26:32 UTC (rev 10576)
@@ -1,11 +1,17 @@
//$Id: $
package org.hibernate.lucene.bridge;
+import java.util.Date;
+
+import org.apache.lucene.document.DateTools;
+
/**
* @author Emmanuel Bernard
*/
public abstract class NumberBridge implements StringBridge {
public String objectToString(Object object) {
- return object.toString();
+ return object != null ?
+ object.toString() :
+ null;
}
}
Modified:
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/String2FieldBridgeAdaptor.java
===================================================================
---
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/String2FieldBridgeAdaptor.java 2006-10-13
16:39:45 UTC (rev 10575)
+++
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/String2FieldBridgeAdaptor.java 2006-10-13
20:26:32 UTC (rev 10576)
@@ -3,6 +3,7 @@
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
+import org.hibernate.util.StringHelper;
/**
* Bridge to use a Java2String as a Java2Field
@@ -22,10 +23,14 @@
}
public void set(String name, Object value, Document document, Field.Store store,
Field.Index index, Float boost) {
- Field field = new Field(name, stringBridge.objectToString( value ), store, index);
- if (boost != null) field.setBoost( boost );
- document.add( field );
- }
+ String indexedString = stringBridge.objectToString(value);
+ //Do not add fields on empty strings, seems a sensible default in most
situations
+ if ( StringHelper.isNotEmpty( indexedString ) ) {
+ Field field = new Field(name, indexedString, store, index);
+ if (boost != null) field.setBoost( boost );
+ document.add( field );
+ }
+ }
}
Modified:
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/StringBridge.java
===================================================================
---
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/StringBridge.java 2006-10-13
16:39:45 UTC (rev 10575)
+++
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/StringBridge.java 2006-10-13
20:26:32 UTC (rev 10576)
@@ -15,6 +15,7 @@
/**
* convert the object representation to a String
+ * The return String must not be null, it can be empty though
*/
String objectToString(Object object);
}
Modified:
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/StringImplBridge.java
===================================================================
---
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/StringImplBridge.java 2006-10-13
16:39:45 UTC (rev 10575)
+++
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/lucene/bridge/StringImplBridge.java 2006-10-13
20:26:32 UTC (rev 10576)
@@ -1,15 +1,17 @@
//$Id: $
package org.hibernate.lucene.bridge;
+import org.hibernate.util.StringHelper;
+
/**
* @author Emmanuel Bernard
*/
public class StringImplBridge implements StringBridge {
public Object stringToObject(String stringValue) {
- return stringValue;
+ return stringValue;
}
public String objectToString(Object object) {
- return (String) object;
+ return (String) object;
}
}
Modified:
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/reflection/java/EJB3OverridenAnnotationReader.java
===================================================================
---
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/reflection/java/EJB3OverridenAnnotationReader.java 2006-10-13
16:39:45 UTC (rev 10575)
+++
branches/Lucene_Integration/HibernateExt/metadata/src/java/org/hibernate/reflection/java/EJB3OverridenAnnotationReader.java 2006-10-13
20:26:32 UTC (rev 10576)
@@ -364,7 +364,8 @@
else {
this.annotations = super.getAnnotations();
}
- }
+ xmlContext = null;
+ }
}
private void processEventAnnotations(List<Annotation> annotationList,
XMLContext.Default defaults) {
Added:
branches/Lucene_Integration/HibernateExt/metadata/src/test/org/hibernate/lucene/test/bridge/BridgeTest.java
===================================================================
---
branches/Lucene_Integration/HibernateExt/metadata/src/test/org/hibernate/lucene/test/bridge/BridgeTest.java 2006-10-13
16:39:45 UTC (rev 10575)
+++
branches/Lucene_Integration/HibernateExt/metadata/src/test/org/hibernate/lucene/test/bridge/BridgeTest.java 2006-10-13
20:26:32 UTC (rev 10576)
@@ -0,0 +1,91 @@
+//$Id: $
+package org.hibernate.lucene.test.bridge;
+
+import java.util.Date;
+import java.util.List;
+import java.util.GregorianCalendar;
+import java.util.Calendar;
+
+import org.hibernate.Transaction;
+
+import org.hibernate.lucene.test.TestCase;
+import org.hibernate.lucene.LuceneSession;
+import org.hsqldb.Session;
+import org.apache.lucene.search.Query;
+import org.apache.lucene.queryParser.QueryParser;
+import org.apache.lucene.analysis.standard.StandardAnalyzer;
+
+/**
+ * @author Emmanuel Bernard
+ */
+public class BridgeTest extends TestCase {
+ public void testDefaultAndNullBridges() throws Exception {
+ Cloud cloud = new Cloud();
+ cloud.setDate( null );
+ cloud.setDouble1( null );
+ cloud.setDouble2( 2.1d );
+ cloud.setInt1( null );
+ cloud.setInt2( 2 );
+ cloud.setFloat1( null );
+ cloud.setFloat2( 2.1f );
+ cloud.setLong1( null );
+ cloud.setLong2( 2l );
+ cloud.setString(null);
+ org.hibernate.Session s = openSession();
+ Transaction tx = s.beginTransaction();
+ s.persist(cloud);
+ s.flush();
+ tx.commit();
+
+ tx = s.beginTransaction();
+ LuceneSession session = new LuceneSession(s);
+ QueryParser parser = new QueryParser("id", new StandardAnalyzer() );
+ Query query;
+ List result;
+
+ query = parser.parse("double2:[2.1 TO 2.1] AND float2:[2.1 TO 2.1] AND
int2:[2 TO 2.1] AND long2:[2 TO 2.1]");
+ result = session.createLuceneQuery(query).list();
+ assertEquals( "find primitives and do not fail on null", 1,
result.size() );
+
+ query = parser.parse("double1:[2.1 TO 2.1] OR float1:[2.1 TO 2.1] OR int1:[2
TO 2.1] OR long1:[2 TO 2.1]");
+ result = session.createLuceneQuery(query).list();
+ assertEquals( "null elements should not be stored", 0, result.size() );
//the query is dumb because restrictive
+
+ s.delete( s.get( Cloud.class, cloud.getId() ) );
+ tx.commit();
+ s.close();
+
+ }
+
+ public void testDateBridge() throws Exception {
+ Cloud cloud = new Cloud();
+ Calendar c = GregorianCalendar.getInstance();
+ c.set(2000, 11, 15);
+ cloud.setDate( c.getTime() );
+ org.hibernate.Session s = openSession();
+ Transaction tx = s.beginTransaction();
+ s.persist(cloud);
+ s.flush();
+ tx.commit();
+
+ tx = s.beginTransaction();
+ LuceneSession session = new LuceneSession(s);
+ QueryParser parser = new QueryParser("id", new StandardAnalyzer() );
+ Query query;
+ List result;
+
+ query = parser.parse("date:[19900101 TO 20060101]");
+ result = session.createLuceneQuery(query).list();
+ assertEquals( "date found", 1, result.size() );
+
+ s.delete( s.get( Cloud.class, cloud.getId() ) );
+ tx.commit();
+ s.close();
+
+ }
+ protected Class[] getMappings() {
+ return new Class[] {
+ Cloud.class
+ };
+ }
+}
Added:
branches/Lucene_Integration/HibernateExt/metadata/src/test/org/hibernate/lucene/test/bridge/Cloud.java
===================================================================
---
branches/Lucene_Integration/HibernateExt/metadata/src/test/org/hibernate/lucene/test/bridge/Cloud.java 2006-10-13
16:39:45 UTC (rev 10575)
+++
branches/Lucene_Integration/HibernateExt/metadata/src/test/org/hibernate/lucene/test/bridge/Cloud.java 2006-10-13
20:26:32 UTC (rev 10576)
@@ -0,0 +1,186 @@
+//$Id: $
+package org.hibernate.lucene.test.bridge;
+
+import java.util.Date;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.GeneratedValue;
+
+import org.hibernate.lucene.Keyword;
+import org.hibernate.lucene.Indexed;
+import org.hibernate.lucene.FieldBridge;
+import org.hibernate.lucene.Text;
+import org.hibernate.lucene.bridge.DateBridge;
+import org.hibernate.annotations.Parameter;
+
+/**
+ * @author Emmanuel Bernard
+ */
+@Entity
+@Indexed
+public class Cloud {
+ private int id;
+ private Long long1;
+ private long long2;
+ private Integer int1;
+ private int int2;
+ private Double double1;
+ private double double2;
+ private Float float1;
+ private float float2;
+ private String string;
+ private Date date;
+ private Date dateYear;
+ private Date dateMonth;
+ private Date dateDay;
+ private Date dateHour;
+ private Date dateSecond;
+ private Date dateMillisecond;
+
+ @Id @GeneratedValue @Keyword(id=true)
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ @Keyword
+ public Long getLong1() {
+ return long1;
+ }
+
+ public void setLong1(Long long1) {
+ this.long1 = long1;
+ }
+
+ @Keyword
+ public long getLong2() {
+ return long2;
+ }
+
+ public void setLong2(long long2) {
+ this.long2 = long2;
+ }
+
+ @Keyword
+ public Integer getInt1() {
+ return int1;
+ }
+
+ public void setInt1(Integer int1) {
+ this.int1 = int1;
+ }
+
+ @Keyword
+ public int getInt2() {
+ return int2;
+ }
+
+ public void setInt2(int int2) {
+ this.int2 = int2;
+ }
+
+ @Keyword
+ public Double getDouble1() {
+ return double1;
+ }
+
+ public void setDouble1(Double double1) {
+ this.double1 = double1;
+ }
+
+ @Keyword
+ public double getDouble2() {
+ return double2;
+ }
+
+ public void setDouble2(double double2) {
+ this.double2 = double2;
+ }
+
+ @Keyword
+ public Float getFloat1() {
+ return float1;
+ }
+
+ public void setFloat1(Float float1) {
+ this.float1 = float1;
+ }
+
+ @Keyword
+ public float getFloat2() {
+ return float2;
+ }
+
+ public void setFloat2(float float2) {
+ this.float2 = float2;
+ }
+
+ @Text
+ public String getString() {
+ return string;
+ }
+
+ public void setString(String string) {
+ this.string = string;
+ }
+ //FIXME DATE and RESOLUTION
+ @Keyword
+ public Date getDate() {
+ return date;
+ }
+
+ public void setDate(Date date) {
+ this.date = date;
+ }
+
+ public Date getDateYear() {
+ return dateYear;
+ }
+
+ public void setDateYear(Date dateYear) {
+ this.dateYear = dateYear;
+ }
+
+ public Date getDateMonth() {
+ return dateMonth;
+ }
+
+ public void setDateMonth(Date dateMonth) {
+ this.dateMonth = dateMonth;
+ }
+
+ public Date getDateDay() {
+ return dateDay;
+ }
+
+ public void setDateDay(Date dateDay) {
+ this.dateDay = dateDay;
+ }
+
+ public Date getDateHour() {
+ return dateHour;
+ }
+
+ public void setDateHour(Date dateHour) {
+ this.dateHour = dateHour;
+ }
+
+ public Date getDateSecond() {
+ return dateSecond;
+ }
+
+ public void setDateSecond(Date dateSecond) {
+ this.dateSecond = dateSecond;
+ }
+
+ public Date getDateMillisecond() {
+ return dateMillisecond;
+ }
+
+ public void setDateMillisecond(Date dateMillisecond) {
+ this.dateMillisecond = dateMillisecond;
+ }
+}