Ordenando por medio de una cadena!!

Rock
22 de Septiembre del 2005
Hola a todos!!

Tengo un problema, lo que pasa es que debo de formar un formato configurable de un folio, ejemplo "dddd-aaaa-00001"

dddd=clave de un documento
aaaa=clave de un area
nnnn=es un numero consecutivo que ira incrementandose dependiendo de la alta de un asunto

voy a poner el codigo en java:

public class GeneracionFolio{
public static void setOrdenaFolio()
{
String folioFormado = "";
String doc="ML";
String are="JAVA";
String conse="10";
String orden = "DAC" // es un orden en el que el usuario puede configurar,osea D=doc, A=are, C=conse
ejemplo si el valor de orden=DAC el folio formado seria "ML-JAVA-10", si orden=CAD el folio formado seria "10-JAVA-ML"

folioFormado = GeneracionFolio.getGeneraOrdenFolio(orden, doc, are, conse);
}

public static String getGeneraOrdenFolio(String orden, String claveDocto, String claveFolio, String consecutivo)
{
//funcion que retorne un String con el folio ya ordenado
}
}

alguine me podria orientar como podria ordenar mis datos a partir del valor de la variable orden="DAC" o "DCA" o "ACD", etc.

Gracias