package de.gaalop.clucalc.input; import de.gaalop.annotation.AnnotationContainer; /** * This annotation contains information about the CluCalc header that was used to generate a certain * control dataflow graph. It includes the IPNS/OPNS mode and the DefVars that was used. */ public class CluCalcFileHeader { private static AnnotationContainer<CluCalcFileHeader> container = new AnnotationContainer<CluCalcFileHeader>(); private NullSpace nullSpace; /** * Returns the CLUCalc file header for the given object. * * @param object object index to be looked up * @return file header of given object */ public static CluCalcFileHeader get(Object object) { return container.get(object); } /** * Creates a CLUCalc file header and attaches it to the annotation container. * * @param object object to add */ public CluCalcFileHeader(Object object) { container.attachAnnotation(object, this); } /** * * @param object object index to be looked up * @return whether annotation is present */ public static boolean isAttached(Object object) { return container.isAnnotated(object); } public NullSpace getNullSpace() { return nullSpace; } public void setNullSpace(NullSpace nullSpace) { this.nullSpace = nullSpace; } /** * Removes this header from the annotation container. */ public void detach() { container.removeAnnotation(this); } }