org.apache.solr.schema
Class UUIDField

java.lang.Object
  extended by org.apache.solr.schema.FieldProperties
      extended by org.apache.solr.schema.FieldType
          extended by org.apache.solr.schema.UUIDField

public class UUIDField
extends FieldType

This FieldType accepts UUID string values, as well as the special value of "NEW" which triggers generation of a new random UUID.

Version:
$Id: UUIDField.java 945270 2010-05-17 17:45:18Z rmuir $
See Also:
UUID.toString(), UUID.randomUUID()

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.solr.schema.FieldType
FieldType.DefaultAnalyzer
 
Field Summary
 
Fields inherited from class org.apache.solr.schema.FieldType
analyzer, args, falseProperties, log, POLY_FIELD_SEPARATOR, queryAnalyzer, trueProperties, typeName
 
Fields inherited from class org.apache.solr.schema.FieldProperties
BINARY, INDEXED, MULTIVALUED, OMIT_NORMS, OMIT_POSITIONS, OMIT_TF_POSITIONS, REQUIRED, SORT_MISSING_FIRST, SORT_MISSING_LAST, STORE_TERMOFFSETS, STORE_TERMPOSITIONS, STORE_TERMVECTORS, STORED, TOKENIZED
 
Constructor Summary
UUIDField()
           
 
Method Summary
 SortField getSortField(SchemaField field, boolean reverse)
          Returns the SortField instance that should be used to sort fields of this type.
protected  void init(IndexSchema schema, Map<String,String> args)
          subclasses should initialize themselves with the args provided and remove valid arguments.
 String toInternal(String val)
          Generates a UUID if val is either null, empty or "NEW".
 String toInternal(UUID uuid)
           
 UUID toObject(Fieldable f)
          Convert the stored-field format to an external object.
 void write(TextResponseWriter writer, String name, Fieldable f)
          calls back to TextResponseWriter to write the field value
 void write(XMLWriter xmlWriter, String name, Fieldable f)
          Renders the specified field as XML
 
Methods inherited from class org.apache.solr.schema.FieldType
createField, createField, createFields, getAnalyzer, getArg, getFieldIndex, getFieldQuery, getFieldStore, getFieldTermVec, getIndexOptions, getQueryAnalyzer, getRangeQuery, getStringSort, getTypeName, getValueSource, getValueSource, hasProperty, indexedToReadable, isMultiValued, isPolyField, isTokenized, multiValuedFieldCache, readableToIndexed, restrictProps, setAnalyzer, setQueryAnalyzer, storedToIndexed, storedToReadable, toExternal, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

UUIDField

public UUIDField()
Method Detail

init

protected void init(IndexSchema schema,
                    Map<String,String> args)
Description copied from class: FieldType
subclasses should initialize themselves with the args provided and remove valid arguments. leftover arguments will cause an exception. Common boolean properties have already been handled.

Overrides:
init in class FieldType

getSortField

public SortField getSortField(SchemaField field,
                              boolean reverse)
Description copied from class: FieldType
Returns the SortField instance that should be used to sort fields of this type.

Specified by:
getSortField in class FieldType
See Also:
SchemaField.checkSortability()

write

public void write(XMLWriter xmlWriter,
                  String name,
                  Fieldable f)
           throws IOException
Description copied from class: FieldType
Renders the specified field as XML

Specified by:
write in class FieldType
Throws:
IOException

write

public void write(TextResponseWriter writer,
                  String name,
                  Fieldable f)
           throws IOException
Description copied from class: FieldType
calls back to TextResponseWriter to write the field value

Specified by:
write in class FieldType
Throws:
IOException

toInternal

public String toInternal(String val)
Generates a UUID if val is either null, empty or "NEW". Otherwise it behaves much like a StrField but checks that the value given is indeed a valid UUID.

Overrides:
toInternal in class FieldType
Parameters:
val - The value of the field
See Also:
FieldType.toInternal(java.lang.String)

toInternal

public String toInternal(UUID uuid)

toObject

public UUID toObject(Fieldable f)
Description copied from class: FieldType
Convert the stored-field format to an external object.

Overrides:
toObject in class FieldType
See Also:
FieldType.toInternal(java.lang.String)