City class that describe a city as an object (used to retreive a city from the database and use it in the java code)
This commit is contained in:
parent
8f336520c9
commit
bd5e6bb9cc
82
app/src/main/java/fr/romanet/vj/apps/myweather/bo/City.java
Normal file
82
app/src/main/java/fr/romanet/vj/apps/myweather/bo/City.java
Normal file
@ -0,0 +1,82 @@
|
||||
package fr.romanet.vj.apps.myweather.bo;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.PrimaryKey;
|
||||
import java.io.Serializable;
|
||||
import java.util.Comparator;
|
||||
import java.util.Objects;
|
||||
|
||||
//This class is used in order to represent a city
|
||||
@Entity
|
||||
final public class City implements Serializable
|
||||
{
|
||||
//Class CityComparator that implements Comparator interface in order to compare two cities
|
||||
public static final class CityComparator implements Comparator<City>
|
||||
{
|
||||
/**
|
||||
* Compare function that compare two city by their name
|
||||
* @param o1 The first city to compare
|
||||
* @param o2 Second city to compare with the first
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public int compare(City o1, City o2)
|
||||
{
|
||||
return o1.nameCity.compareTo(o2.nameCity);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* The primary key of the city in our datbase which is automatically incremented
|
||||
*/
|
||||
@PrimaryKey(autoGenerate = true)
|
||||
public int id;
|
||||
|
||||
/**
|
||||
* The name of the city
|
||||
*/
|
||||
@NonNull
|
||||
public String nameCity;
|
||||
|
||||
/**
|
||||
* Constructor of the city class
|
||||
* @param nameCity The name of the new city
|
||||
*/
|
||||
public City(@NonNull String nameCity)
|
||||
{
|
||||
id = 0;
|
||||
this.nameCity = nameCity;
|
||||
}
|
||||
|
||||
/**
|
||||
* Equals function that return true or false weither both name are same and both object belongs to City class
|
||||
* @param o The object to compare
|
||||
* @return true or false
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (o == null || getClass() != o.getClass())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
City city1 = (City) o;
|
||||
|
||||
return nameCity.equals(city1.nameCity);
|
||||
}
|
||||
|
||||
/**
|
||||
* hashCode function
|
||||
* @return Clé de hashage (int)
|
||||
*/
|
||||
@Override
|
||||
public int hashCode()
|
||||
{
|
||||
return Objects.hash(nameCity);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user