package com.tutego.insel.solutions.util;

import java.util.Arrays;
import java.util.Comparator;

class AdressComparator implements Comparator
{
  public int compare( Object o1, Object o2 )
  {
    Address a1 = (Address) o1;
    Address a2 = (Address) o2;

    int cityCompareTo = a1.getCity().compareTo( a2.getCity() );

    if ( cityCompareTo == 0 )
      return (a1.getPlz() < (a2.getPlz()) ? -1 : (a1.getPlz() == a2.getPlz() ? 0 : 1));
    else
      return cityCompareTo;
  }

  public static void main( String[] args )
  {
    Address[] addresses =
    {
        new Address( "Immengarten 6", "Hannover", 30177 ),
        new Address( "Petzelstrasse 84", "Langenhagen", 30855 ),
        new Address( "Friedrichswall 11", "Hannover", 30159 )
    };

    Arrays.sort( addresses, new AdressComparator() );

    for ( int i = 0; i < addresses.length; i++ )
      System.out.println( addresses[ i ] );
  }

}