package org.overture.codegen.vdm2jml.util;
import java.util.Comparator;
import org.overture.ast.util.ClonableString;
import org.overture.codegen.vdm2jml.JmlGenerator;
public class JmlAnnotationComparator implements Comparator<ClonableString>
{
@Override
public int compare(ClonableString left, ClonableString right)
{
int leftOrder = getOrder(left.value);
int rightOrder = getOrder(right.value);
return leftOrder - rightOrder;
}
public int getOrder(String annotation)
{
if (annotation.equals(JmlGenerator.JML_NULLABLE_BY_DEFAULT))
{
return 10;
} else if (annotation.equals(JmlGenerator.JML_SPEC_PUBLIC))
{
return 9;
} else if (annotation.equals(JmlGenerator.JML_HELPER))
{
return 8;
} else if (annotation.equals(JmlGenerator.JML_PURE))
{
return 7;
} else
{
return 0;
}
}
}