ViewLogRenderer.java 880 B

1234567891011121314151617181920212223242526272829
  1. package de.tudarmstadt.informatik.hostage.render;
  2. import de.tudarmstadt.informatik.hostage.R;
  3. import de.tudarmstadt.informatik.hostage.ui.MainActivity;
  4. public class ViewLogRenderer {
  5. public static String render(String protocol, String packet) {
  6. return getRenderer(protocol).render(packet);
  7. }
  8. private static ProtocolRenderer getRenderer(String protocol) {
  9. String[] protocols = MainActivity.getContext().getResources().getStringArray(R.array.renderer);
  10. String packageName = ProtocolRenderer.class.getPackage().getName();
  11. ProtocolRenderer renderer = new DefaultRenderer();
  12. for (String prot : protocols) {
  13. try {
  14. if(protocol.equals(prot)) renderer = (ProtocolRenderer) Class.forName(
  15. String.format("%s.%s", packageName, protocol+"Renderer"))
  16. .newInstance();
  17. } catch (Exception e) {
  18. e.printStackTrace();
  19. }
  20. }
  21. return renderer;
  22. }
  23. }