com.swfit.core.search
Class BasicSearchObject

java.lang.Object
  |
  +--com.swfit.core.search.BasicSearchObject
Direct Known Subclasses:
BasicUser, MailListCategory, MailListRecipient

public abstract class BasicSearchObject
extends java.lang.Object

A simple, generic, searchable, listable object stored in / retrieved from a text file, a form, a Lucene index. TODO: Write separate methods for instances where just a single BasicSearchObject is loaded - ad the rest remains stored in the HashParam / Lucene index.

Since:
SWFIT1.0
Version:
$Revision: 1.7 $ $Date: 2003/04/20 13:14:00 $
Author:
Olaf Havnes

Field Summary
static java.lang.String ACCESSED
          Names the fields of the BasicSearchObject.
static java.lang.String CODE
          Names the fields of the BasicSearchObject.
static java.lang.String CONFIRM
           
static java.lang.String CREATED
          Names the fields of the BasicSearchObject.
static int CREATED_SORT
          Different ways of sorting an array of BasicSearchObjects.
static java.lang.String DATE_CREATED_EXPLAINER
          Parameter names for converting to XHTMLFieldCollections.
static java.lang.String DATE_FORM
          Parameter names for converting to XHTMLFieldCollections.
static java.lang.String DATE_MODIFIED_EXPLAINER
          Parameter names for converting to XHTMLFieldCollections.
static java.lang.String DESCRIPTION
          Names the fields of the BasicSearchObject.
static java.lang.String DOC_RSS_FIELD
          Methods for loading data from a set of Lucene docs.
static java.lang.String[] GET_ACCESSED
          The meta data.
static java.lang.String[] GET_CODE
          The meta data.
static java.lang.String[] GET_CONFIRM
           
static java.lang.String[] GET_DESCRIPTION
          The text fields.
static java.lang.String[] GET_INDEX
          The meta data.
static java.lang.String[] GET_LINK
          The text fields.
static java.lang.String[] GET_NAME
          The text fields.
static java.lang.String[] GET_SELECT
           
static java.lang.String[] GET_SYSTEXT
          The text fields.
static java.lang.String[] GET_ULTRA
          The meta data.
static java.lang.String INDEX
          Names the fields of the BasicSearchObject.
static int INDEX_SORT
          Different ways of sorting an array of BasicSearchObjects.
static java.lang.String LINK
          Names the fields of the BasicSearchObject.
static java.lang.String META_FORM
          The meta data.
static java.lang.String MODIFIED
          Names the fields of the BasicSearchObject.
static int MODIFIED_SORT
          Different ways of sorting an array of BasicSearchObjects.
static java.lang.String NAME
          Names the fields of the BasicSearchObject.
static int NAME_SORT
          Different ways of sorting an array of BasicSearchObjects.
static java.lang.String RSS_DESCRIPTION
          Names the fields of the BasicSearchObject.
static java.lang.String RSS_LINK
          Names the fields of the BasicSearchObject.
static java.lang.String RSS_NAME
          Names the fields of the BasicSearchObject.
protected  java.lang.String[] search_words
           
protected static java.lang.String SEARCH_WORDS
           
static java.lang.String SELECT
           
static java.lang.String SELECT_FORM
           
static java.lang.String SYSTEXT
          Names the fields of the BasicSearchObject.
static int SYSTEXT_SORT
          Different ways of sorting an array of BasicSearchObjects.
static java.lang.String TEXT_FORM
          The text fields.
static java.lang.String ULTRA
          Names the fields of the BasicSearchObject.
static int UNDEFINED_SORT
          Different ways of sorting an array of BasicSearchObjects.
 
Constructor Summary
protected BasicSearchObject()
          Build an invalid BasicSearchObject with null-data.
protected BasicSearchObject(java.util.Hashtable bsos, XHTMLBasicServlet basic_servlet, MaxCode max_code, int code)
          Build a BasicSearchObject with shared data.
 
Method Summary
 int accessed()
           
 void cleanUp()
          Store the new max code in the max code meta data file.
 int code()
           
protected abstract  BasicSearchObject create(java.util.Hashtable bsos, XHTMLBasicServlet basic_servlet, MaxCode max_code, int code)
          Overridden by sub-classes.
 long created()
           
 XHTMLFieldCollection dateForm()
          Dates are read-only.
 java.lang.String description()
           
protected  java.lang.String displayText()
          For displaying a list of BasicSearchOjects in a browser..
 org.apache.lucene.document.Document document()
           
 BasicSearchObject ensureByCode(int get_code)
          Spawn a new BasicSearchObject if the requested BasicSearchObject does not exist.
protected  java.lang.String filterText(java.lang.String text)
          Utility method to translate form text
 void fromForm(XHTMLFieldCollection fc_in)
          Recieve input from the form parser - we can not really trust input from a form, so we have to take precautions.
protected abstract  void fromFormExtra(XHTMLFieldCollection fc)
          Overridden by subclasses.
protected abstract  void fromRSSItemExtra(RSSTag item)
           
 BasicSearchObject[] getAllSorted(boolean filter_ultra, boolean filter_valid, int sort_method)
           
 BasicSearchObject[] getAllSorted(int sort_method)
           
 BasicSearchObject getByCode(int get_code)
          Fetch BasicSearchObjects from the Hashtable by their codes.
 BasicSearchObject getByCode(int get_code, boolean filter_ultra, boolean filter_valid)
           
 BasicSearchObject getBySafeName(java.lang.String get_name)
          Fetch a BasicSearchObject from the Hashtable by its name.
static int getCodeFromForm(XHTMLFieldCollection fc_in)
           
static int getConfirmFromForm(XHTMLFieldCollection fc_in)
           
static int getSelectFromForm(XHTMLFieldCollection fc_in)
           
static BasicSearchObject handle(BasicSearchObject creator, HashParams meta_data, XHTMLBasicServlet basic_servlet)
          Get a handle on the shared data of the BasicSearchObject group.
 int index()
           
 void invalidate()
          Makes sure this BasicSearchObject does not get stored.
abstract  void invalidateExtra()
           
 java.lang.String link()
           
 void loadAll(org.apache.lucene.document.Document[] docs, boolean passive)
           
 void loadAll(RSSFeed feed)
          Method for loading all data from a flat RSS file.
protected  void loadPassive()
           
 void loadSingle(org.apache.lucene.document.Document doc, boolean load_passive)
           
 XHTMLFieldCollection metaForm()
           
 long modified()
           
 java.lang.String name()
           
protected abstract  java.lang.String newDisplayName()
           
 boolean passive()
           
protected  int publishLocale()
           
 java.lang.String safeName()
           
static java.lang.String safeNameLetters(java.lang.String name)
          Utility methods for fail-safe, unique names.
protected abstract  java.lang.String selectExplainer()
           
 XHTMLFieldCollection selectForm()
           
 XHTMLFieldCollection selectForm(java.lang.String select_form_name, int selected, boolean filter_ultra, boolean filter_valid, int sort_method)
           
 void setAccessed()
           
 void setAccessed(int accessed)
           
 void setAccessed(java.lang.String accessed)
           
 void setCreated(long created)
           
 void setCreated(java.lang.String created)
           
 void setDescription(java.lang.String description)
           
 void setIndex(int index)
           
 void setIndex(java.lang.String index)
           
 void setLink(java.lang.String link)
           
 void setModified(long modified)
           
 void setModified(java.lang.String modified)
           
 void setName(java.lang.String in_name)
           
 void setSearchWords(java.lang.String[] search_words)
           
 void setSystext(java.lang.String systext)
           
 void setUltra(boolean ultra)
           
 void setUltra(java.lang.String ultra)
           
static void sort(java.lang.Object[] arr, int sort)
           
 java.lang.String systext()
           
 XHTMLFieldCollection textForm()
           
 void toDocument(org.apache.lucene.document.Document doc)
          Store the BasicSearchObject in a Lucene index.
protected abstract  void toDocumentExtra(org.apache.lucene.document.Document doc)
          Overridden by subclasses.
 XHTMLFieldCollection toForm(java.lang.String form_name)
           
protected abstract  void toFormExtra(XHTMLFieldCollection fc, int ndx)
           
 void toRSSItem(RSSTag item)
          Store the BasicSearchObject in a RSS item.
protected abstract  void toRSSItemExtra(RSSTag item)
           
abstract  java.lang.String type()
          For retrieveng a list of similar BasicSearchObjects.
 boolean ultra()
           
protected abstract  boolean useFrozenName()
           
protected abstract  boolean useSafeName()
          For setting names on BasicSearchObjects.
 boolean valid()
          Should this BasicSearchObject be stored ?
protected  boolean validExtra()
          Subclasses should override this method to constitute a valid / invalid BasicSearchObject.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DOC_RSS_FIELD

public static final java.lang.String DOC_RSS_FIELD
Methods for loading data from a set of Lucene docs.

search_words

protected java.lang.String[] search_words

SEARCH_WORDS

protected static final java.lang.String SEARCH_WORDS

CODE

public static final java.lang.String CODE
Names the fields of the BasicSearchObject.

NAME

public static final java.lang.String NAME
Names the fields of the BasicSearchObject.

RSS_NAME

public static final java.lang.String RSS_NAME
Names the fields of the BasicSearchObject.

DESCRIPTION

public static final java.lang.String DESCRIPTION
Names the fields of the BasicSearchObject.

RSS_DESCRIPTION

public static final java.lang.String RSS_DESCRIPTION
Names the fields of the BasicSearchObject.

LINK

public static final java.lang.String LINK
Names the fields of the BasicSearchObject.

RSS_LINK

public static final java.lang.String RSS_LINK
Names the fields of the BasicSearchObject.

SYSTEXT

public static final java.lang.String SYSTEXT
Names the fields of the BasicSearchObject.

ULTRA

public static final java.lang.String ULTRA
Names the fields of the BasicSearchObject.

ACCESSED

public static final java.lang.String ACCESSED
Names the fields of the BasicSearchObject.

CREATED

public static final java.lang.String CREATED
Names the fields of the BasicSearchObject.

MODIFIED

public static final java.lang.String MODIFIED
Names the fields of the BasicSearchObject.

INDEX

public static final java.lang.String INDEX
Names the fields of the BasicSearchObject.

DATE_FORM

public static final java.lang.String DATE_FORM
Parameter names for converting to XHTMLFieldCollections.

DATE_CREATED_EXPLAINER

public static final java.lang.String DATE_CREATED_EXPLAINER
Parameter names for converting to XHTMLFieldCollections.

DATE_MODIFIED_EXPLAINER

public static final java.lang.String DATE_MODIFIED_EXPLAINER
Parameter names for converting to XHTMLFieldCollections.

TEXT_FORM

public static final java.lang.String TEXT_FORM
The text fields.

GET_NAME

public static final java.lang.String[] GET_NAME
The text fields.

GET_LINK

public static final java.lang.String[] GET_LINK
The text fields.

GET_DESCRIPTION

public static final java.lang.String[] GET_DESCRIPTION
The text fields.

GET_SYSTEXT

public static final java.lang.String[] GET_SYSTEXT
The text fields.

META_FORM

public static final java.lang.String META_FORM
The meta data.

GET_CODE

public static final java.lang.String[] GET_CODE
The meta data.

GET_ULTRA

public static final java.lang.String[] GET_ULTRA
The meta data.

GET_ACCESSED

public static final java.lang.String[] GET_ACCESSED
The meta data.

GET_INDEX

public static final java.lang.String[] GET_INDEX
The meta data.

SELECT_FORM

public static final java.lang.String SELECT_FORM

SELECT

public static final java.lang.String SELECT

CONFIRM

public static final java.lang.String CONFIRM

GET_SELECT

public static final java.lang.String[] GET_SELECT

GET_CONFIRM

public static final java.lang.String[] GET_CONFIRM

UNDEFINED_SORT

public static final int UNDEFINED_SORT
Different ways of sorting an array of BasicSearchObjects.

NAME_SORT

public static final int NAME_SORT
Different ways of sorting an array of BasicSearchObjects.

CREATED_SORT

public static final int CREATED_SORT
Different ways of sorting an array of BasicSearchObjects.

MODIFIED_SORT

public static final int MODIFIED_SORT
Different ways of sorting an array of BasicSearchObjects.

INDEX_SORT

public static final int INDEX_SORT
Different ways of sorting an array of BasicSearchObjects.

SYSTEXT_SORT

public static final int SYSTEXT_SORT
Different ways of sorting an array of BasicSearchObjects.
Constructor Detail

BasicSearchObject

protected BasicSearchObject()
Build an invalid BasicSearchObject with null-data.

BasicSearchObject

protected BasicSearchObject(java.util.Hashtable bsos,
                            XHTMLBasicServlet basic_servlet,
                            MaxCode max_code,
                            int code)
Build a BasicSearchObject with shared data.
Method Detail

type

public abstract java.lang.String type()
For retrieveng a list of similar BasicSearchObjects.

useSafeName

protected abstract boolean useSafeName()
For setting names on BasicSearchObjects. If this flag is turned on, all existing BasicSearchObjects will be checked when setting a name.

useFrozenName

protected abstract boolean useFrozenName()

safeNameLetters

public static final java.lang.String safeNameLetters(java.lang.String name)
Utility methods for fail-safe, unique names. Note that ':' is not part of the namespace - to ensure a safe room for the name in a RSS file.

publishLocale

protected final int publishLocale()

create

protected abstract BasicSearchObject create(java.util.Hashtable bsos,
                                            XHTMLBasicServlet basic_servlet,
                                            MaxCode max_code,
                                            int code)
Overridden by sub-classes.

handle

public static final BasicSearchObject handle(BasicSearchObject creator,
                                             HashParams meta_data,
                                             XHTMLBasicServlet basic_servlet)
Get a handle on the shared data of the BasicSearchObject group. The only use of the invalid BasicSearchObject is as input to this method.

cleanUp

public final void cleanUp()
Store the new max code in the max code meta data file.

loadAll

public final void loadAll(RSSFeed feed)
Method for loading all data from a flat RSS file.

loadAll

public final void loadAll(org.apache.lucene.document.Document[] docs,
                          boolean passive)

loadSingle

public final void loadSingle(org.apache.lucene.document.Document doc,
                             boolean load_passive)

passive

public final boolean passive()

document

public final org.apache.lucene.document.Document document()

loadPassive

protected final void loadPassive()

getByCode

public final BasicSearchObject getByCode(int get_code)
Fetch BasicSearchObjects from the Hashtable by their codes.

getByCode

public final BasicSearchObject getByCode(int get_code,
                                         boolean filter_ultra,
                                         boolean filter_valid)

ensureByCode

public BasicSearchObject ensureByCode(int get_code)
Spawn a new BasicSearchObject if the requested BasicSearchObject does not exist.

getBySafeName

public final BasicSearchObject getBySafeName(java.lang.String get_name)
Fetch a BasicSearchObject from the Hashtable by its name. Pre-supposes unique and safe names.

getAllSorted

public final BasicSearchObject[] getAllSorted(int sort_method)

getAllSorted

public final BasicSearchObject[] getAllSorted(boolean filter_ultra,
                                              boolean filter_valid,
                                              int sort_method)

valid

public final boolean valid()
Should this BasicSearchObject be stored ?

validExtra

protected boolean validExtra()
Subclasses should override this method to constitute a valid / invalid BasicSearchObject.

invalidate

public void invalidate()
Makes sure this BasicSearchObject does not get stored. Subclasses should override this method if they have overridden validExtra ().

invalidateExtra

public abstract void invalidateExtra()

code

public final int code()

name

public final java.lang.String name()

newDisplayName

protected abstract java.lang.String newDisplayName()

safeName

public final java.lang.String safeName()

setName

public final void setName(java.lang.String in_name)

description

public final java.lang.String description()

setDescription

public final void setDescription(java.lang.String description)

setSearchWords

public final void setSearchWords(java.lang.String[] search_words)

link

public final java.lang.String link()

setLink

public final void setLink(java.lang.String link)

systext

public final java.lang.String systext()

setSystext

public final void setSystext(java.lang.String systext)

ultra

public final boolean ultra()

setUltra

public final void setUltra(boolean ultra)

setUltra

public final void setUltra(java.lang.String ultra)

accessed

public final int accessed()

setAccessed

public final void setAccessed()

setAccessed

public final void setAccessed(int accessed)

setAccessed

public final void setAccessed(java.lang.String accessed)

created

public final long created()

setCreated

public final void setCreated(long created)

setCreated

public final void setCreated(java.lang.String created)

modified

public final long modified()

setModified

public final void setModified(long modified)

setModified

public final void setModified(java.lang.String modified)

index

public final int index()

setIndex

public final void setIndex(int index)

setIndex

public final void setIndex(java.lang.String index)

fromRSSItemExtra

protected abstract void fromRSSItemExtra(RSSTag item)

toRSSItem

public final void toRSSItem(RSSTag item)
Store the BasicSearchObject in a RSS item.

toRSSItemExtra

protected abstract void toRSSItemExtra(RSSTag item)

toDocument

public final void toDocument(org.apache.lucene.document.Document doc)
Store the BasicSearchObject in a Lucene index.

toDocumentExtra

protected abstract void toDocumentExtra(org.apache.lucene.document.Document doc)
Overridden by subclasses.

displayText

protected java.lang.String displayText()
For displaying a list of BasicSearchOjects in a browser..

filterText

protected java.lang.String filterText(java.lang.String text)
Utility method to translate form text

dateForm

public final XHTMLFieldCollection dateForm()
Dates are read-only.

textForm

public final XHTMLFieldCollection textForm()

metaForm

public final XHTMLFieldCollection metaForm()

selectExplainer

protected abstract java.lang.String selectExplainer()

getCodeFromForm

public static final int getCodeFromForm(XHTMLFieldCollection fc_in)

getSelectFromForm

public static final int getSelectFromForm(XHTMLFieldCollection fc_in)

getConfirmFromForm

public static final int getConfirmFromForm(XHTMLFieldCollection fc_in)

selectForm

public final XHTMLFieldCollection selectForm()

selectForm

public final XHTMLFieldCollection selectForm(java.lang.String select_form_name,
                                             int selected,
                                             boolean filter_ultra,
                                             boolean filter_valid,
                                             int sort_method)

toForm

public final XHTMLFieldCollection toForm(java.lang.String form_name)

toFormExtra

protected abstract void toFormExtra(XHTMLFieldCollection fc,
                                    int ndx)

fromForm

public final void fromForm(XHTMLFieldCollection fc_in)
Recieve input from the form parser - we can not really trust input from a form, so we have to take precautions. We do not set ultra / systext directly, and we are careful when updating the name field.

fromFormExtra

protected abstract void fromFormExtra(XHTMLFieldCollection fc)
Overridden by subclasses.

sort

public static final void sort(java.lang.Object[] arr,
                              int sort)


Swfit developer homepage
Copyright © 2003 Orgdot AS. All Rights Reserved.