|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectubc.cs.JLog.Terms.jTermTranslation
public class jTermTranslation
This class aggregates iObjectToTerm and iTermToObject converters into a single
conversion class which chooses the correct converter object for the
for desired conversion. The fundamental idea behind the converter mappings is that typically
each prolog term object has a single corresponding Java object, and each Java object has
a single corresponding prolog term. To peform an object->term conversion we look up the
object class in the term converter look-up table and use the associated converter. To peform
a term->object conversion we look up the term class in the object converter table and use
the associated converter. Because the source object class is just a key for a converter
lookup, the idea is extended to arbitrary keys for converters. It is possible to specify
which converter to use via these keys (see the two parameter versions of
createTermFromObject
and createObjectFromTerm
). For each conversion
direction (i.e., object->term and term->object) there is a default converter, used if
the not matching converters are found in the look-up table.
Field Summary | |
---|---|
protected java.util.Hashtable |
createObjectKeys
|
protected java.util.Hashtable |
createTermKeys
|
protected iTermToObject |
defaultCreateObject
|
protected iObjectToTerm |
defaultCreateTerm
|
protected jPrologServices |
prolog
|
Constructor Summary | |
---|---|
jTermTranslation()
|
|
jTermTranslation(jPrologServices ps)
|
Method Summary | |
---|---|
java.lang.Object |
createObjectFromTerm(jTerm term)
Create a corresponding Java object representation from the given Prolog term. |
java.lang.Object |
createObjectFromTerm(jTerm term,
java.lang.Object key)
|
jTerm |
createTermFromObject(java.lang.Object obj)
Create a corresponding Prolog representation of the given object. |
jTerm |
createTermFromObject(java.lang.Object obj,
java.lang.Object key)
|
iObjectToTerm |
getDefaultObjectToTermConverter()
|
iTermToObject |
getDefaultTermToObjectConverter()
|
iObjectToTerm |
getObjectToTermConverter(java.lang.Object key)
|
iTermToObject |
getTermToObjectConverter(java.lang.Object key)
|
void |
RegisterDefaultObjectToTermConverter(iObjectToTerm conv)
|
void |
RegisterDefaultTermToObjectConverter(iTermToObject conv)
|
void |
RegisterObjectToTermConverter(java.lang.Object key,
iObjectToTerm conv)
|
void |
RegisterTermToObjectConverter(java.lang.Object key,
iTermToObject conv)
|
void |
setDefaults()
Sets default translators in the create*Keys hashtables. |
protected void |
setObjectDefaults()
Sets the default iTermToObject conversion objects for converting
Prolog jTerms into their corresponding Java objects. |
protected void |
setTermDefaults()
Sets the default iObjectToTerm conversion objects for converting
Java objects into their corresponding Prolog jTerm objects. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected java.util.Hashtable createTermKeys
protected java.util.Hashtable createObjectKeys
protected iObjectToTerm defaultCreateTerm
protected iTermToObject defaultCreateObject
protected jPrologServices prolog
Constructor Detail |
---|
public jTermTranslation()
public jTermTranslation(jPrologServices ps)
Method Detail |
---|
public void setDefaults()
protected void setObjectDefaults()
iTermToObject
conversion objects for converting
Prolog jTerms into their corresponding Java objects. Also sets the default
iTermToObject
conversion object. The following conversion mappings
are registered (Keys : ObjectClass):
protected void setTermDefaults()
iObjectToTerm
conversion objects for converting
Java objects into their corresponding Prolog jTerm objects. Also sets the default
iObjectToTerm
conversion object. The following conversion mappings
are registered (Keys : ObjectClass):
public void RegisterTermToObjectConverter(java.lang.Object key, iTermToObject conv)
public void RegisterDefaultTermToObjectConverter(iTermToObject conv)
public void RegisterObjectToTermConverter(java.lang.Object key, iObjectToTerm conv)
public void RegisterDefaultObjectToTermConverter(iObjectToTerm conv)
public iObjectToTerm getObjectToTermConverter(java.lang.Object key)
public iObjectToTerm getDefaultObjectToTermConverter()
public iTermToObject getTermToObjectConverter(java.lang.Object key)
public iTermToObject getDefaultTermToObjectConverter()
public jTerm createTermFromObject(java.lang.Object obj)
iObjectToTerm
createTermFromObject
in interface iObjectToTerm
obj
- The Object
to construct the jTerm
representation from.
jTerm
represting Object
obj.public java.lang.Object createObjectFromTerm(jTerm term)
iTermToObject
createObjectFromTerm
in interface iTermToObject
term
- The jTerm
to construct the representation from.
Object
sub-class represting term.public jTerm createTermFromObject(java.lang.Object obj, java.lang.Object key)
public java.lang.Object createObjectFromTerm(jTerm term, java.lang.Object key)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |