public class TypeFileManager
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.util.HashMap<java.lang.String,AssignmentFileManager> |
aFMMap
Stores all AssigmentFileManagers with the "path" of the RouterConfiguration it belongs to as
key.
|
private java.util.Map<java.lang.String,VariableAssignment> |
allAssignments
Stores all Assignments.
|
private java.util.Map<java.lang.String,NamedVariableType> |
alltypes
Combined HashMap of all NamedVariableTypes provided by the TypeFile-Objects.
|
private java.util.ArrayList<TypeFile> |
typeFileList
List of all TypeFiles.
|
Constructor and Description |
---|
TypeFileManager()
Constructor for TypeFileManager.
|
Modifier and Type | Method and Description |
---|---|
void |
addAssignmentFileManager(java.lang.String path,
AssignmentFileManager aFM)
Adds a AssigmentFileManager to the aFMMap.
|
void |
addTypeFile(TypeFile typeFile)
Adds a TypeFile to the list and provides the TypeFile with a Reference to the
TypeFileManager.
|
void |
checkCycle()
detects cycles in typeList.
|
void |
extend()
Extend all the type extension.
|
java.util.Map<java.lang.String,VariableAssignment> |
getAllAssignments()
Get the allAssignments.
|
java.util.Map<java.lang.String,NamedVariableType> |
getAlltypes()
Getter for the allTypes HashMap.
|
java.lang.String |
getAssignmentValue(NamedVariableType namedVariableType)
Get the value of the variable.
|
AbstractType |
getTypeByName(java.lang.String name) |
java.util.ArrayList<TypeFile> |
getTypeFileList()
Getter for the TypeFileList.
|
void |
initAllAssignments()
Stores all assignments once at the beginning of initialization.
|
void |
resolve()
Combines all the HashMaps of the TypeFiles and resolves all the NamedVariableTypes in them
afterwards.
|
private final java.util.ArrayList<TypeFile> typeFileList
private final java.util.Map<java.lang.String,NamedVariableType> alltypes
private final java.util.HashMap<java.lang.String,AssignmentFileManager> aFMMap
private final java.util.Map<java.lang.String,VariableAssignment> allAssignments
public TypeFileManager()
public void addTypeFile(TypeFile typeFile)
typeFile
- The TypeFile to add.public void resolve() throws TypeDoesNotExistException, TypeExceptions
TypeDoesNotExistException
- if some referenced type is not found.TypeExceptions
- if a cycle is detected or the reference is unresolved.public void checkCycle() throws TypeExceptions, TypeDoesNotExistException
TypeExceptions
- if a cycle is detected or the reference is unresolved.TypeDoesNotExistException
- if some referenced type is not found.public void extend() throws TypeDoesNotExistException, TypeExceptions
TypeDoesNotExistException
- if some referenced type is not found.TypeExceptions
- if a cycle is detected or the reference is unresolved.public java.util.Map<java.lang.String,NamedVariableType> getAlltypes()
public java.util.ArrayList<TypeFile> getTypeFileList()
public java.lang.String getAssignmentValue(NamedVariableType namedVariableType)
namedVariableType
- The NamedVariableType.public void addAssignmentFileManager(java.lang.String path, AssignmentFileManager aFM)
aFM
- AssignmentFileManagerpath
- String of RouterConfiguration path.public void initAllAssignments()
public java.util.Map<java.lang.String,VariableAssignment> getAllAssignments()
public AbstractType getTypeByName(java.lang.String name)