org.apache.solr.handler.dataimport
Class Context

java.lang.Object
  extended by org.apache.solr.handler.dataimport.Context
Direct Known Subclasses:
ContextImpl

public abstract class Context
extends Object

This abstract class gives access to all available objects. So any component implemented by a user can have the full power of DataImportHandler

Refer to http://wiki.apache.org/solr/DataImportHandler for more details.

This API is experimental and subject to change

Since:
solr 1.3
Version:
$Id: Context.java 689947 2008-08-28 19:38:05Z shalin $

Field Summary
static int DELTA_DUMP
           
static int FIND_DELTA
           
static int FULL_DUMP
           
static String SCOPE_DOC
           
static String SCOPE_ENTITY
           
static String SCOPE_GLOBAL
           
 
Constructor Summary
Context()
           
 
Method Summary
abstract  int currentProcess()
          Returns the current process FULL_DUMP =1, DELTA_DUMP=2, FIND_DELTA=3
abstract  List<Map<String,String>> getAllEntityFields()
          Returns all the fields put into an entity.
abstract  DataSource getDataSource()
          Gets the datasource instance defined for this entity.
abstract  DataSource getDataSource(String name)
          Gets a new DataSource instance with a name.
abstract  String getEntityAttribute(String name)
          Get the value of any attribute put into this entity
abstract  EntityProcessor getEntityProcessor()
          Returns the instance of EntityProcessor used for this entity
abstract  Context getParentContext()
          Get the context instance for the parent entity.
abstract  Map<String,Object> getRequestParameters()
          The request parameters passed over HTTP for this command the values in the map are either String(for single valued parameters) or List (for multi-valued parameters)
abstract  Object getSessionAttribute(String name, String scope)
          get a value by name in the given scope (entity, document,global)
abstract  SolrCore getSolrCore()
          Exposing the actual SolrCore to the components
abstract  VariableResolver getVariableResolver()
          Returns the VariableResolver used in this entity which can be used to resolve the tokens in ${}
abstract  boolean isRootEntity()
          Returns if the current entity is the root entity
abstract  void setSessionAttribute(String name, Object val, String scope)
          Store values in a certain name and scope (entity, document,global)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FULL_DUMP

public static final int FULL_DUMP
See Also:
Constant Field Values

DELTA_DUMP

public static final int DELTA_DUMP
See Also:
Constant Field Values

FIND_DELTA

public static final int FIND_DELTA
See Also:
Constant Field Values

SCOPE_ENTITY

public static final String SCOPE_ENTITY
See Also:
Constant Field Values

SCOPE_GLOBAL

public static final String SCOPE_GLOBAL
See Also:
Constant Field Values

SCOPE_DOC

public static final String SCOPE_DOC
See Also:
Constant Field Values
Constructor Detail

Context

public Context()
Method Detail

getEntityAttribute

public abstract String getEntityAttribute(String name)
Get the value of any attribute put into this entity

Parameters:
name - name of the attribute eg: 'name'
Returns:
value of named attribute in entity

getAllEntityFields

public abstract List<Map<String,String>> getAllEntityFields()
Returns all the fields put into an entity. each item (which is a map ) in the list corresponds to one field. each if the map contains the attribute names and values in a field

Returns:
all fields in an entity

getVariableResolver

public abstract VariableResolver getVariableResolver()
Returns the VariableResolver used in this entity which can be used to resolve the tokens in ${}

Returns:
a VariableResolver instance
See Also:
VariableResolver

getDataSource

public abstract DataSource getDataSource()
Gets the datasource instance defined for this entity. Do not close() this instance. Transformers should use the getDataSource(String name) method.

Returns:
a new DataSource instance as configured for the current entity
See Also:
DataSource, getDataSource(String)

getDataSource

public abstract DataSource getDataSource(String name)
Gets a new DataSource instance with a name. Ensure that you close() this after use because this is created just for this method call.

Parameters:
name - Name of the dataSource as defined in the dataSource tag
Returns:
a new DataSource instance
See Also:
DataSource

getEntityProcessor

public abstract EntityProcessor getEntityProcessor()
Returns the instance of EntityProcessor used for this entity

Returns:
instance of EntityProcessor used for the current entity
See Also:
EntityProcessor

setSessionAttribute

public abstract void setSessionAttribute(String name,
                                         Object val,
                                         String scope)
Store values in a certain name and scope (entity, document,global)

Parameters:
name - the key
val - the value
scope - the scope in which the given key, value pair is to be stored

getSessionAttribute

public abstract Object getSessionAttribute(String name,
                                           String scope)
get a value by name in the given scope (entity, document,global)

Parameters:
name - the key
scope - the scope from which the value is to be retreived
Returns:
the object stored in the given scope with the given key

getParentContext

public abstract Context getParentContext()
Get the context instance for the parent entity. works only in the full dump If the current entity is rootmost a null is returned

Returns:
parent entity's Context

getRequestParameters

public abstract Map<String,Object> getRequestParameters()
The request parameters passed over HTTP for this command the values in the map are either String(for single valued parameters) or List (for multi-valued parameters)

Returns:
the request parameters passed in the URL to initiate this process

isRootEntity

public abstract boolean isRootEntity()
Returns if the current entity is the root entity

Returns:
true if current entity is the root entity, false otherwise

currentProcess

public abstract int currentProcess()
Returns the current process FULL_DUMP =1, DELTA_DUMP=2, FIND_DELTA=3

Returns:
the code of the current running process

getSolrCore

public abstract SolrCore getSolrCore()
Exposing the actual SolrCore to the components

Returns:
the core


Copyright © 2008 Apache Software Foundation. All Rights Reserved.