de.folt.models.datamodel
Class MultiLingualObject

java.lang.Object
  extended by java.util.Observable
      extended by de.folt.models.datamodel.GeneralLinguisticObject
          extended by de.folt.models.datamodel.MultiLingualObject
All Implemented Interfaces:
java.io.Serializable

public class MultiLingualObject
extends GeneralLinguisticObject
implements java.io.Serializable

This class implements a MultiLingualObject OpenTMS Software Architecture. It extends a GeneralLinguisticObject.
Its main component is:

 monoLingualObjects - this is an ObservableHashtable which reference the MonoLingualObjects in different languages. They are referenced by their getUniqueID().<br>
 
Other components are inherited from GeneralLinguisticObject GeneralLinguisticObject.

Author:
klemens
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class de.folt.models.datamodel.GeneralLinguisticObject
GeneralLinguisticObject.LinguisticTypes, GeneralLinguisticObject.TestObserver
 
Constructor Summary
MultiLingualObject()
           
MultiLingualObject(LinguisticProperties linguisticProperties, GeneralLinguisticObject.LinguisticTypes lingType)
           
MultiLingualObject(java.lang.String uniqueID, LinguisticProperties linguisticProperties, GeneralLinguisticObject.LinguisticTypes lingType)
           
 
Method Summary
 boolean addMonoLingualObject(MonoLingualObject mono)
          addMonoLingualObject adds a MonoLingualObject to the given MultiLingualObject
 boolean addMonoLingualObjectIfNotExist(MonoLingualObject mono)
          addMonoLingualObjectIfNotExist adds a MonoLingualObject to the given MultiLingualObject if the formattedSegment and language combination does not exist in the MUL
 void addObserver(java.util.Observer o)
           
 boolean bCompare(MultiLingualObject mulObj)
          bCompare compare this MUL against another MUL
 boolean bCompare(MultiLingualObject mulObj, boolean bCompareCoreAttributes)
          bCompare compare this MUL against another MUL
 void deleteObserver(java.util.Observer o)
           
 java.lang.String format()
          format formats a MultilingualObject
 java.lang.String formatAsXml()
          formatAsXml
static MultiLingualObject fromJson(java.lang.String jsonMulti)
           
static MultiLingualObject fromJsonInternal(java.lang.String jsonMulti)
          fromJson convert into a GeneralLinguisticObject from JSON String
 java.util.Map<java.lang.String,MonoLingualObject> getMonoLingualObjects()
           
 java.util.Vector<MonoLingualObject> getMonoLingualObjectsAsVector()
          getMonoLingualObjectsAsVector returns the MonoLingualObjects of the MultiLingualObject as a vector
 java.util.Vector<MonoLingualObject> getMonoLingualObjectsAsVector(java.lang.String language)
          getMonoLingualObjectsAsVector Method takes a language code (independent of lower / upper case) and returns the MonoLingualObjects of a specific language of the MultiLingualObject as a vector
 java.util.Vector<MonoLingualObject> getMonoLingualObjectsAsVector(java.lang.String[] language)
          getMonoLingualObjectsAsVector Method takes an array of language codes (independent of lower / upper case) and returns the MonoLingualObjects for the specific languages of the MultiLingualObject as a vector
 java.util.Vector<MonoLingualObject> getMonoLingualObjectsAsVector(java.lang.String language, boolean bFindAllSublanguages)
          getMonoLingualObjectsAsVector Method takes a language code (independent of lower / upper case) and returns the MonoLingualObjects of a specific language of the MultiLingualObject as a vector
static void main(java.lang.String[] args)
          main
 java.lang.String mapToJson()
          mapToJson
 java.lang.String mapToTermEntry()
          mapToTermEntry
 java.lang.String mapToTransUnit()
          mapToTu converts the MultiLingualObject into a tu formatted string
 java.lang.String mapToTu()
          mapToTu converts the MultiLingualObject into a tu formatted string
 java.lang.String mapToTuWithoutTUV()
          mapToTuWithoutTUV converts the MultiLingualObject into a tu formatted string without the MonoLingualObjects
 boolean removeMonoLingualObject(MonoLingualObject mono)
          removeMonoLingualObject removes a MonoLingualObject to the given MultiLingualObject
 void removeMonoLingualObjects()
          removeMonoLingualObjects remove all MOLs from the MUL
 java.util.Vector<MonoLingualObject> search(MonoLingualObject searchMonoLingualObject, java.util.Hashtable<java.lang.String,java.lang.Object> searchParameters)
          search searches for given MOL in the mul depending on language if searchParameters or searchMonoLingualObject contain a language; if no language is supplied all MOLs of th MUL are searched.
 void setMonoLingualObjects(java.util.Map<java.lang.String,MonoLingualObject> monoLingualObjects)
           
 void setMonoLingualObjectsAsVector(java.util.Vector<MonoLingualObject> monovector)
          setMonoLingualObjectsAsVector sets the MOls of this MUL to the MOLs of the given vector
static void test()
          test simple test method for generating some general linguistic objects
 void x(java.lang.String jsonMulti)
           
 
Methods inherited from class de.folt.models.datamodel.GeneralLinguisticObject
addLinguisticProperty, addObjectLinguisticProperty, addStringLinguisticProperty, bCompare, bCompare, checkDataSourceCriteria, checkDataSourceCriteria, checkDataSourceCriteria, clearObject, getCreationTime, getException, getId, getLastAccessTime, getLingType, getLinguisticProperties, getModificationTime, getObjectLinguisticProperty, getStOwner, getStUniqueID, getUniqueID, getUsageNumber, isbLogExceptions, matchLinguisticProperties, removeLinguisticProperty, setbLogExceptions, setCreationTime, setException, setId, setLastAccessTime, setLingType, setLinguisticProperties, setModificationTime, setStOwner, setStUniqueID, setUniqueID, setUsageNumber, updateModificationTime, updateUsageNumber
 
Methods inherited from class java.util.Observable
countObservers, deleteObservers, hasChanged, notifyObservers, notifyObservers
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultiLingualObject

public MultiLingualObject()

MultiLingualObject

public MultiLingualObject(LinguisticProperties linguisticProperties,
                          GeneralLinguisticObject.LinguisticTypes lingType)
Parameters:
linguisticProperties -
lingType -

MultiLingualObject

public MultiLingualObject(java.lang.String uniqueID,
                          LinguisticProperties linguisticProperties,
                          GeneralLinguisticObject.LinguisticTypes lingType)
Parameters:
uniqueID -
linguisticProperties -
lingType -
Method Detail

fromJson

public static MultiLingualObject fromJson(java.lang.String jsonMulti)

fromJsonInternal

public static MultiLingualObject fromJsonInternal(java.lang.String jsonMulti)
fromJson convert into a GeneralLinguisticObject from JSON String

Parameters:
jsonMono - the json formatted string
Returns:
the GeneralLinguisticObject

main

public static void main(java.lang.String[] args)
main

Parameters:
args -

test

public static void test()
test simple test method for generating some general linguistic objects


addMonoLingualObject

public boolean addMonoLingualObject(MonoLingualObject mono)
addMonoLingualObject adds a MonoLingualObject to the given MultiLingualObject

Parameters:
mono - the MonoLingualObject to add
Returns:
true = success / false could not be added

addMonoLingualObjectIfNotExist

public boolean addMonoLingualObjectIfNotExist(MonoLingualObject mono)
addMonoLingualObjectIfNotExist adds a MonoLingualObject to the given MultiLingualObject if the formattedSegment and language combination does not exist in the MUL

Parameters:
mono - the MonoLingualObject to add
Returns:
true = success / false could not be added

addObserver

public void addObserver(java.util.Observer o)
Overrides:
addObserver in class java.util.Observable

bCompare

public boolean bCompare(MultiLingualObject mulObj)
bCompare compare this MUL against another MUL

Parameters:
mulObj - the MUL to compare against
Returns:
true if the MOLs and LinguisticProperties match (without core GeneralLinguisticObject attributes)

bCompare

public boolean bCompare(MultiLingualObject mulObj,
                        boolean bCompareCoreAttributes)
bCompare compare this MUL against another MUL

Parameters:
mulObj - the MUL to compare against
bCompareCoreAttributes -
Returns:
true if the formattedSegment and language and LinguisticProperties match (including the core GeneralLinguisticObject attributes)

deleteObserver

public void deleteObserver(java.util.Observer o)
Overrides:
deleteObserver in class java.util.Observable

format

public java.lang.String format()
format formats a MultilingualObject

Overrides:
format in class GeneralLinguisticObject
Returns:
formatted MultilingualObject

formatAsXml

public java.lang.String formatAsXml()
Description copied from class: GeneralLinguisticObject
formatAsXml

Overrides:
formatAsXml in class GeneralLinguisticObject
Returns:

getMonoLingualObjects

public java.util.Map<java.lang.String,MonoLingualObject> getMonoLingualObjects()
Returns:
the monoLingualObjects

getMonoLingualObjectsAsVector

public java.util.Vector<MonoLingualObject> getMonoLingualObjectsAsVector()
getMonoLingualObjectsAsVector returns the MonoLingualObjects of the MultiLingualObject as a vector

Returns:
Vector of MonoLingualObjects

getMonoLingualObjectsAsVector

public java.util.Vector<MonoLingualObject> getMonoLingualObjectsAsVector(java.lang.String language)
getMonoLingualObjectsAsVector Method takes a language code (independent of lower / upper case) and returns the MonoLingualObjects of a specific language of the MultiLingualObject as a vector

Parameters:
language - the language to retrieve the MonoLingualObjects for
Returns:
returns the MonoLingualObjects of a specific language of the MultiLingualObject as a vector

getMonoLingualObjectsAsVector

public java.util.Vector<MonoLingualObject> getMonoLingualObjectsAsVector(java.lang.String language,
                                                                         boolean bFindAllSublanguages)
getMonoLingualObjectsAsVector Method takes a language code (independent of lower / upper case) and returns the MonoLingualObjects of a specific language of the MultiLingualObject as a vector

Parameters:
language - the language to retrieve the MonoLingualObjects for
language pattern used: de finds de-de de-DE; de-de only finds de-de de-DE
bFindAllSublanguages - if true applies language pattern as defined, if false only exact matches are found (independent of lower / upper case)
Returns:
returns the MonoLingualObjects of a specific language of the MultiLingualObject as a vector

getMonoLingualObjectsAsVector

public java.util.Vector<MonoLingualObject> getMonoLingualObjectsAsVector(java.lang.String[] language)
getMonoLingualObjectsAsVector Method takes an array of language codes (independent of lower / upper case) and returns the MonoLingualObjects for the specific languages of the MultiLingualObject as a vector

Parameters:
language - array the languages to retrieve the MonoLingualObjects for
Returns:
returns the MonoLingualObjects of a specific language of the MultiLingualObject as a vector

mapToJson

public java.lang.String mapToJson()
Description copied from class: GeneralLinguisticObject
mapToJson

Overrides:
mapToJson in class GeneralLinguisticObject
Returns:

mapToTermEntry

public java.lang.String mapToTermEntry()
mapToTermEntry

Returns:

mapToTransUnit

public java.lang.String mapToTransUnit()
mapToTu converts the MultiLingualObject into a tu formatted string

Returns:
the tu string

mapToTu

public java.lang.String mapToTu()
mapToTu converts the MultiLingualObject into a tu formatted string

Returns:
the tu string

mapToTuWithoutTUV

public java.lang.String mapToTuWithoutTUV()
mapToTuWithoutTUV converts the MultiLingualObject into a tu formatted string without the MonoLingualObjects

Returns:
the tu string

removeMonoLingualObject

public boolean removeMonoLingualObject(MonoLingualObject mono)
removeMonoLingualObject removes a MonoLingualObject to the given MultiLingualObject

Parameters:
mono - the MonoLingualObject to remove
Returns:
true = success / false could not be removed

removeMonoLingualObjects

public void removeMonoLingualObjects()
removeMonoLingualObjects remove all MOLs from the MUL


search

public java.util.Vector<MonoLingualObject> search(MonoLingualObject searchMonoLingualObject,
                                                  java.util.Hashtable<java.lang.String,java.lang.Object> searchParameters)
search searches for given MOL in the mul depending on language if searchParameters or searchMonoLingualObject contain a language; if no language is supplied all MOLs of th MUL are searched.

Parameters:
searchMonoLingualObject - the MOL (formattedSegment) to search for
searchParameters - currently used:
language = language (de, en etc.)
fuzzy = true / false & similarity = integer as String / 100% = exact match is used if not present
regexp = the regular expression to use (".*" is used if not present)
wordbased = true/false (as String)
priority of searchParameters in this order: fuzzy -> regexp -> wordbased
matchMonoLingualLinguisticProperties = a search criteria to be applied to matchLinguisticProperties; Example: "%OpenTMS% == \"FoltNew\"" or "b = true; b;"
Returns:
searchParameters Vector of matching MOLs or null ion case of error

setMonoLingualObjects

public void setMonoLingualObjects(java.util.Map<java.lang.String,MonoLingualObject> monoLingualObjects)
Parameters:
monoLingualObjects - the monoLingualObjects to set

setMonoLingualObjectsAsVector

public void setMonoLingualObjectsAsVector(java.util.Vector<MonoLingualObject> monovector)
setMonoLingualObjectsAsVector sets the MOls of this MUL to the MOLs of the given vector

Parameters:
monovector - a vetor of MOLs

x

public void x(java.lang.String jsonMulti)