public class TypeFile
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.util.List<Comment> |
comments
HashMap of all comments from the AssignmentFile.
|
private java.util.Map<java.lang.String,java.util.ArrayList<TypeExtension>> |
extensions
Hashmap for the typeextensions.
|
private java.util.Map<java.lang.String,java.util.ArrayList<TempTypeExtension>> |
tempTypExtension
Hashmap for the typeextensions.
|
private TypeFileManager |
typeFileManager
TypeFileManager.
|
private java.util.Map<java.lang.String,NamedVariableType> |
types
HashMap of all types from the TypeFile.
|
Constructor and Description |
---|
TypeFile()
Default constructor.
|
TypeFile(java.util.Map<java.lang.String,NamedVariableType> types2,
java.util.List<Comment> comments)
Constructor, just sets fields.
|
TypeFile(java.util.Map<java.lang.String,NamedVariableType> types2,
java.util.List<Comment> comments,
java.util.Map<java.lang.String,java.util.ArrayList<TempTypeExtension>> tempextensionsMap)
Constructor, just sets fields.
|
Modifier and Type | Method and Description |
---|---|
void |
convertExtension()
Convert the TempTypExtension to TypExtension.
|
private java.util.Map<Position,Comment> |
createPosCommentMap()
Creates a Map containing comment.getPosition() as Key and comment as Value.No side effects to
fields.
|
private java.util.Map<Position,NamedVariableType> |
createPosTypeMap()
Creates a Map containing assignment.getPosition() as Key and assignment as Value.
|
void |
cycleDetector(NamedVariableType type,
java.util.List<java.lang.String> cycleTypeList)
Detectes cycles.
|
void |
cycleListdetect()
detects cycles in typeList.
|
boolean |
equals(java.lang.Object obj) |
java.util.List<Comment> |
getComments() |
java.util.Map<java.lang.String,java.util.ArrayList<TypeExtension>> |
getExtensions() |
TypeFileManager |
getTypeFileManager()
Getter for the TypeFileManager.
|
java.util.Map<java.lang.String,NamedVariableType> |
getTypes()
Returns the field type.
|
int |
hashCode() |
private void |
iterateOverTypes(java.util.Iterator<? extends AbstractType> iterator)
Iterates over AbstractType and resolves the references.
|
private java.lang.StringBuffer |
prepareStringToPrint()
Prepares the StringBuffer for printing.
|
java.lang.String |
print(java.lang.String pathToPrint)
Prints an TypeFile containing the VariableTypes and Comments.
|
private void |
printTheLinesToFile(java.lang.String pathToPrint,
java.lang.StringBuffer stringBuffer)
The only one method, that real prints lines into the file.
|
private void |
resolveRegEx(RegEx expression)
Iterates over Parts and resolves the references.
|
void |
resolveTypes()
Resolves the unresolved RegExparts of the types.
|
void |
setTypeFileManager(TypeFileManager typeFileManager)
Setter for the TypeFileManager.
|
private java.util.List<Position> |
sortPositions()
Sorts the Positions of VariableAssignments and Comments in one List.
|
private TypeFileManager typeFileManager
private final java.util.List<Comment> comments
private final java.util.Map<java.lang.String,NamedVariableType> types
private final java.util.Map<java.lang.String,java.util.ArrayList<TypeExtension>> extensions
private final java.util.Map<java.lang.String,java.util.ArrayList<TempTypeExtension>> tempTypExtension
public TypeFile()
public TypeFile(java.util.Map<java.lang.String,NamedVariableType> types2, java.util.List<Comment> comments)
types2
- the types to set.comments
- The comments to set.public TypeFile(java.util.Map<java.lang.String,NamedVariableType> types2, java.util.List<Comment> comments, java.util.Map<java.lang.String,java.util.ArrayList<TempTypeExtension>> tempextensionsMap)
types2
- the types to set.comments
- The comments to set.tempextensionsMap
- The Typfileextensions.public void convertExtension()
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public void resolveTypes() throws TypeDoesNotExistException, TypeExceptions
TypeDoesNotExistException
- if a part is unresolvable cause the type to resolve doesnt exit.TypeExceptions
- if a cycle is detected or the reference is unresolvedprivate void iterateOverTypes(java.util.Iterator<? extends AbstractType> iterator) throws TypeDoesNotExistException, TypeExceptions
iterator
- Iterator over which should be iteratedTypeDoesNotExistException
- if a part is unresolvable cause the type to resolve doesnt exit.TypeExceptions
- if a cycle is detected or the reference is unresolvedprivate void resolveRegEx(RegEx expression) throws TypeDoesNotExistException, TypeExceptions
expression
- The RegEx to resolveTypeDoesNotExistException
- if a part is unresolvable cause the type to resolve doesnt exit.TypeExceptions
- if a cycle is detected or the reference is unresolvedpublic void cycleListdetect() throws TypeExceptions, TypeDoesNotExistException
TypeExceptions
- TypeExceptionsTypeDoesNotExistException
- TypeDoesNotExistExceptionpublic void cycleDetector(NamedVariableType type, java.util.List<java.lang.String> cycleTypeList) throws TypeExceptions, TypeDoesNotExistException
type
- string to testcycleTypeList
- List with NamedVariableTypesTypeExceptions
- typeexceptionsTypeDoesNotExistException
- TypeDoesNotExistExceptionpublic java.util.Map<java.lang.String,NamedVariableType> getTypes()
public java.lang.String print(java.lang.String pathToPrint) throws PrinterException
pathToPrint
- The path where to print the file.PrinterException
- If a IOException is thrown.PrinterException
private java.lang.StringBuffer prepareStringToPrint()
private java.util.Map<Position,NamedVariableType> createPosTypeMap()
private java.util.Map<Position,Comment> createPosCommentMap()
private void printTheLinesToFile(java.lang.String pathToPrint, java.lang.StringBuffer stringBuffer) throws PrinterException
pathToPrint
- The path where to print the file-stringBuffer
- The buffer with the lines to print.PrinterException
- If an IOException is caused by the printer.private java.util.List<Position> sortPositions()
public java.util.List<Comment> getComments()
public java.util.Map<java.lang.String,java.util.ArrayList<TypeExtension>> getExtensions()
public TypeFileManager getTypeFileManager()
public void setTypeFileManager(TypeFileManager typeFileManager)
typeFileManager
- TypeFileManager for this TypeFile