Netzperlen vom 29.08.2010

Posted 29.08.2010 09:00 by Christian

Stuttgart 21

Capoeira vs. Kickboxing

The beauty of data visualization

Angular, ganz interessant was sich Google immer ausdenkt.

Veröffentlicht in: ,

Kommentare

Gwt UiBinder mit Java 1.5 verwenden

Posted 24.08.2010 20:15 by Christian

Seit neuestem verwende ich den UiBinder von GWT um deklarativ das Layout der GWT-Seiten zu beschreiben. Das funktioniert soweit auch ganz gut und hält vor allem den Quellcode sauber.

Nun, bin ich aber aufgrund von diversen Rahmenbedingen dazu gezwungen eine etwas ältere Version von Java zu benutzen. Nämlich Java 1.5. Normales GWT funktioniert damit auch ohne Probleme. Allerdings seitdem ich den UiBinder verwende bekomme ich immer folgende Exception:
java.lang.VerifyError: (class: com/google/gwt/core/client/Scheduler, method: signature: ()V) Illegal constant pool index

Irgendwie kommt also der UiBinder von GWT nicht mit Java 1.5 zurecht. Zum Glück gibt es dafür einen Workaround. Im EntryPoint eurer Applikation muss ein DeferredCommand benutzt werden um Methoden auf dem RootPanel aufzurufen. Wird das DefferedCommand eingesetzt, funktioniert der UiBinder auch mit Java 1.5.
Das ganze sieht dann in etwa so aus:

Java

  1. public class TestUiBinderGwt implements EntryPoint {
  2.   public void onModuleLoad() {
  3.     DeferredCommand.addCommand(new Command() {
  4.       public void execute() {
  5.         start();
  6.       }
  7.     });
  8.   }
  9.   private void start() {
  10.     //put your code here
  11.     RootPanel.get().add(new TestPage());
  12.   }
  13. }

Veröffentlicht in: ,

Kommentare

Netzperlen vom 22.08.2010

Posted 22.08.2010 09:00 by Christian

Oh der ist ech gut

Meet the Australien Submarine.

Lol

Veröffentlicht in: ,

Kommentare

YouTube BestOf - Awesome Videos

Posted 19.08.2010 19:00 by Christian

Hier mal eine kleine Auswahl an YouTube-Videos die ich in den letzten Tagen konsumiert habe. Ich fand einige ganz witzig, deswegen möchte ich die hier auch zeigen.

Awesome Yoyo

Porsche 918 Spyder

BMW Art Car

Omfg wer braucht denn so ein scharfes Schwert?

Veröffentlicht in: ,

Kommentare

Java InstanceOf mit Objekten verwenden

Posted 18.08.2010 20:34 by Christian

Heute hatte ich ein kleines Java Problem. Stellt euch mal vor ihr habt 3 Klassen. Eine abstrakte Klasse Planet, die nur eine Methode besitzt.
Dann gibt es 2 konkrete Klassen Mars und Venus. Die konkreten Klassen sollen mittels der Methode getImplClazz() die Klasse angeben welche zur Implementierung genutzt werden soll. Im Beispiel verweisen die Klassen immer auf sich selbst, es könnten hier aber im Prinzip beliebige Klassen zurückgegeben werden.

Java

  1. public abstract class Planet {
  2.   protected abstract Class getImplClazz();
  3. }
  4. public class Venus extends Planet {
  5.   public Class getImplClazz() {
  6.     return Venus.class;
  7.   }
  8. }
  9. public class Mars extends Planet {
  10.   @Override
  11.   protected Class getImplClazz() {
  12.     return Mars.class;
  13.   }
  14. }

Nun werden die Klassen instanziiert und ihr möchtet testen ob ein Objekt vom Typ Venus oder Mars ist.
Man sollte meinen, dies geht mittels instanceOf(). Es kommt aber zu einem Compilerfehler bei der Prüfung.

Java

  1. public static void main(String[] args) {
  2.     Planet mars = new Mars();
  3.     Planet venus = new Venus();
  4.     if(mars instanceof venus.getImplClazz()) { //Compilerfehler
  5.     }
  6.   }

Warum ist das so?
Der Trick ist, dass hier nicht instanceOf() verwendet werden darf, da instanceOf() nur mit referenzierten Typen arbeitet, nicht jedoch mit Objekten.
Wie lässt sich das Problem beheben?

Ganz einfach, es muss die Methode isInstance() auf die Klasse angewendet werden.

Java

  1. public static void main(String[] args) {
  2.     Planet mars = new Mars();
  3.     Planet venus = new Venus();
  4.     if(venus.getImplClazz().isInstance(mars)) { //OK
  5.     }
  6.   }

Ich hoffe dieses kleine Lösung hilft dem ein oder anderen, die vielleicht mal auf dieses Problem stoßen.

Veröffentlicht in: ,

Kommentare

Previous

Kategorien

Links

Feed

Suche