Package net.simplace.sim.io.interfaces
Class FWSimInterface<T>
java.lang.Object
net.simplace.sim.io.interfaces.FWSimInterface<T>
- Type Parameters:
T
- Return type of the interface
- Direct Known Subclasses:
DatabaseInterface
,FILEInterface
,JSONInterface
,MEMORYInterface
IO integrates resources and output
Interface can be used by input and output components
Interface is able to abstract data access format as
Database via SQL
DatabaseInterface
Excel (csv) CSVInterface
XML XMLInterface
MEMORY MEMORYInterface
Uses File Access Pool and Connection Pool- Author:
- Andreas Enders
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
identifiers for different interface types -
Field Summary
Modifier and TypeFieldDescriptionprotected LinkedHashMap<String,
ColumnData> protected LinkedHashMap<Integer,
String> -
Constructor Summary
ModifierConstructorDescriptionprotected
FWSimInterface
(String aName, FWSimInterface.INTERFACE_TYPE aInterfaceType, int aPoolsize) Constructor has to be called from implementing interfacesprotected
FWSimInterface
(String aName, FWSimInterface.INTERFACE_TYPE aInterfaceType, org.jdom2.Element aInterfaceElement) Constructor has to be called from implementing interfaces -
Method Summary
Modifier and TypeMethodDescriptionprotected static MultiHashMap<Integer,
Integer> checkHeaderForColMode
(String[] aStrings, LinkedHashMap<String, FWSimVariable<?>> aHeaderVariables) static FWSimInterface<?>
createInterface
(String aName, FWSimInterface.INTERFACE_TYPE aInterfaceType, org.jdom2.Element aInterfaceElement) factory method creating an interface instance concerning the given data typestatic FWSimInterface<?>
createInterface
(org.jdom2.Element aInterfaceElement, FWSimSession aSession) factory method creating an interface instance concerning the given data typecreateStatisticInterface
(String aStatisticPrefix) factory method creating an interface instance concerning the given data typeabstract void
finalize()
abstract T
getInterface
(FWSimVarMap aVarMap, FWSimVariable.CONTENT_TYPE aContentType) getName()
int
abstract FWSimResourceCache
read
(FWSimSession aFwSimSession, String aProjectID, Object aCache, LinkedHashMap<String, String> aKeyMap, FWSimInputAdapter aResourceAdapter, String aUniqueID, FWSimInterface.INTERFACE_TYPE aInterfaceType) factory method creating an interface instance concerning the given data typeprotected static Object
readColArray
(String aProjectID, LinkedHashMap<String, FWSimVariable<?>> aHeaderVariables, MultiHashMap<Integer, Integer> aHeaderColModeMatch, List<?> aObjects, LinkedHashMap<String, String> aKeyMap, Object[] aArray) toString()
org.jdom2.Element
toXML()
protected static Object[]
transformArrays
(List<Object[]> tArrays, FWSimVariable<?>[] aHeaderVariables) Transforms the object[j]-List with size (i) to Object[j] of Object[i]protected void
writeToDatabase
(Object[] aValues, PreparedStatement aTargetStatement, boolean aAddIterationData)
-
Field Details
-
iColumnMap
-
iIntColumnNames
-
iColumnNamesInt
-
-
Constructor Details
-
FWSimInterface
protected FWSimInterface(String aName, FWSimInterface.INTERFACE_TYPE aInterfaceType, org.jdom2.Element aInterfaceElement) Constructor has to be called from implementing interfaces- Parameters:
aName
-aInterfaceType
-aInterfaceElement
-
-
FWSimInterface
Constructor has to be called from implementing interfaces- Parameters:
aName
-aInterfaceType
-aPoolsize
-
-
-
Method Details
-
createInterface
public static FWSimInterface<?> createInterface(org.jdom2.Element aInterfaceElement, FWSimSession aSession) factory method creating an interface instance concerning the given data type- Parameters:
aInterfaceElement
- jdom xml element- Returns:
- generic FWSimInterface
-
createStatisticInterface
factory method creating an interface instance concerning the given data type- Parameters:
aStatisticPrefix
-- Returns:
- generic FWSimInterface
-
createInterface
public static FWSimInterface<?> createInterface(String aName, FWSimInterface.INTERFACE_TYPE aInterfaceType, org.jdom2.Element aInterfaceElement) factory method creating an interface instance concerning the given data type- Parameters:
aName
-aInterfaceType
-aPoolSize
-aInterfaceElement
-- Returns:
- generic FWSimInterface
-
getInterface
- Parameters:
aVarMap
-aContentType
-- Returns:
- generic interface connection object. for example: database - connection; xml - fileinfo
-
read
public abstract FWSimResourceCache read(FWSimSession aFwSimSession, String aProjectID, Object aCache, LinkedHashMap<String, String> aKeyMap, FWSimInputAdapter aResourceAdapter, String aUniqueID, FWSimInterface.INTERFACE_TYPE aInterfaceType) throws MissingSimResourceExceptionfactory method creating an interface instance concerning the given data type- Parameters:
aFwSimSession
-aProjectID
-aCache
-aKeyMap
-aResourceAdapter
-aUniqueID
-aInterfaceType
-- Returns:
- generic
FWSimResourceCache
- Throws:
MissingSimResourceException
-
writeToDatabase
protected void writeToDatabase(Object[] aValues, PreparedStatement aTargetStatement, boolean aAddIterationData) throws SQLException - Throws:
SQLException
-
transformArrays
protected static Object[] transformArrays(List<Object[]> tArrays, FWSimVariable<?>[] aHeaderVariables) Transforms the object[j]-List with size (i) to Object[j] of Object[i]- Parameters:
tArrays
-aHeaderVariables
-- Returns:
- the transformed Array
-
readColArray
protected static Object readColArray(String aProjectID, LinkedHashMap<String, FWSimVariable<?>> aHeaderVariables, MultiHashMap<Integer, Integer> aHeaderColModeMatch, List<?> aObjects, LinkedHashMap<String, String> aKeyMap, Object[] aArray) -
checkHeaderForColMode
protected static MultiHashMap<Integer,Integer> checkHeaderForColMode(String[] aStrings, LinkedHashMap<String, FWSimVariable<?>> aHeaderVariables) -
getName
- Returns:
- the name
-
getPoolSize
public int getPoolSize()- Returns:
- the poolSize
-
getInterfaceType
- Returns:
- the inputType
-
finalize
-
toXML
public org.jdom2.Element toXML()- Returns:
- Element containing configuration for this Interface
-
toString
-