package de.geeksfactory.opacclient.utils; import android.content.Context; import com.samskivert.mustache.Mustache; import com.samskivert.mustache.Template; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.StringWriter; import de.geeksfactory.opacclient.R; import de.geeksfactory.opacclient.objects.DetailedItem; public class PrintUtils { public static String printDetails(DetailedItem detailedItem, Context context) { InputStream is = context.getResources().openRawResource(R.raw.print_template); BufferedReader r = new BufferedReader(new InputStreamReader(is)); Template tmpl = Mustache.compiler().compile(r); StringWriter sw = new StringWriter(); tmpl.execute(new PrintData(detailedItem, context), sw); return sw.toString(); } private static class PrintData { public DetailedItem item; public Strings strings; public PrintData(DetailedItem item, Context context) { this.item = item; this.strings = new Strings(context); } private static class Strings { public String details_head; public String copies_head; public String volumes; public String barcode; public String department; public String branch; public String status; public String location; public String return_date; public String reservations; public String shelfmark; public String url; public Strings(Context context) { this.details_head = context.getString(R.string.details_head); this.copies_head = context.getString(R.string.copies_head); this.volumes = context.getString(R.string.volumes); this.barcode = context.getString(R.string.barcode); this.department = context.getString(R.string.department); this.branch = context.getString(R.string.branch); this.status = context.getString(R.string.status); this.location = context.getString(R.string.location); this.return_date = context.getString(R.string.return_date); this.reservations = context.getString(R.string.reservations); this.shelfmark = context.getString(R.string.shelfmark); this.url = context.getString(R.string.url); } } } }