From dce46b4d5e157deb9b8a407dcee207776ed5e18f Mon Sep 17 00:00:00 2001 From: JulietteSCHILLING <juliette.schilling2@etu.univ-lorraine.fr> Date: Wed, 23 Nov 2022 19:21:53 +0100 Subject: [PATCH] javadoc --- .../myhabitat/CreationOuvertureActivity.java | 31 +++++ .../com/example/myhabitat/MainActivity.java | 71 ++++------- .../myhabitat/ModeConceptionActivity.java | 28 +++++ .../myhabitat/ModeImmersionActivity.java | 42 +++++++ app/src/main/java/habitat/Habitat.java | 93 +++++++++++++- app/src/main/java/habitat/Mur.java | 81 ++++++++++++- app/src/main/java/habitat/Orientation.java | 3 + app/src/main/java/habitat/Ouverture.java | 114 ++++++++++++++++-- app/src/main/java/habitat/Piece.java | 76 ++++++++++++ app/src/main/java/outils/FabriqueId.java | 21 ++++ .../java/outils/GestionnaireEditHabitat.java | 34 +++++- 11 files changed, 527 insertions(+), 67 deletions(-) diff --git a/app/src/main/java/com/example/myhabitat/CreationOuvertureActivity.java b/app/src/main/java/com/example/myhabitat/CreationOuvertureActivity.java index 39c37bc..d0cd584 100644 --- a/app/src/main/java/com/example/myhabitat/CreationOuvertureActivity.java +++ b/app/src/main/java/com/example/myhabitat/CreationOuvertureActivity.java @@ -30,6 +30,13 @@ public class CreationOuvertureActivity extends AppCompatActivity{ private Rect rectArrivee; private Button buttonConfirmer; + /** + * onCreate de CreationOuvertureActivity + * @param savedInstanceState If the activity is being re-initialized after + * previously being shut down then this Bundle contains the data it most + * recently supplied in {@link #onSaveInstanceState}. <b><i>Note: Otherwise it is null.</i></b> + * + */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -161,6 +168,9 @@ public class CreationOuvertureActivity extends AppCompatActivity{ }); } + /** + * Fonction qui initialise la surface pour la selection + */ private void setSurfaceForSelect() { SurfaceView surfaceViewDepart = findViewById(R.id.surfaceViewDepart); surfaceViewDepart.setZOrderOnTop(true); @@ -229,6 +239,9 @@ public class CreationOuvertureActivity extends AppCompatActivity{ } + /** + * Fonction qui affiche la piece de depart + */ public void affichePieceDepart(){ if(pieceDepart != null && orientationPieceDepart != null){ Mur mur = pieceDepart.getMurOrientation(orientationPieceDepart); @@ -255,6 +268,9 @@ public class CreationOuvertureActivity extends AppCompatActivity{ } + /** + * Fonction qui affiche la piece d'arrivee + */ public void affichePieceArrivee(){ if(pieceArrivee != null && orientationPieceArrivee != null){ Mur mur = pieceArrivee.getMurOrientation(orientationPieceArrivee); @@ -274,16 +290,28 @@ public class CreationOuvertureActivity extends AppCompatActivity{ } } + /** + * Selection de la piece de depart comme piece courante + * @param view + */ public void setSDepart(View view) { pieceEnCours = pieceDepart; affichePieceDepart(); } + /** + * Selection de la piece d'arrivee comme piece courante + * @param view + */ public void setSArrivee(View view) { pieceEnCours = pieceArrivee; affichePieceArrivee(); } + /** + * Confirme l'ajout de l'ouverture + retour a l'activite precedente + * @param view + */ public void confirmer(View view) { Ouverture ouverture = new Ouverture(pieceDepart.getMurOrientation(orientationPieceDepart), pieceArrivee.getMurOrientation(orientationPieceArrivee), rectDepart, rectArrivee); habitat.addOuverture(ouverture); @@ -295,6 +323,9 @@ public class CreationOuvertureActivity extends AppCompatActivity{ } + /** + * Enregistrement de habitat sous format JSON + */ public void enregistrement(){ JSONObject enregistrement = new JSONObject(); enregistrement = habitat.toJSON(); diff --git a/app/src/main/java/com/example/myhabitat/MainActivity.java b/app/src/main/java/com/example/myhabitat/MainActivity.java index 276b052..829de11 100644 --- a/app/src/main/java/com/example/myhabitat/MainActivity.java +++ b/app/src/main/java/com/example/myhabitat/MainActivity.java @@ -5,14 +5,9 @@ import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; -import androidx.activity.result.ActivityResult; -import androidx.activity.result.ActivityResultCallback; -import androidx.activity.result.ActivityResultLauncher; -import androidx.activity.result.contract.ActivityResultContracts; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import habitat.Habitat; -import habitat.Mur; import habitat.Ouverture; import habitat.Piece; import org.json.JSONArray; @@ -25,40 +20,19 @@ public class MainActivity extends AppCompatActivity { private Habitat habitat; private TextView textView; - private ActivityResultLauncher<Intent> launcher; + /** + * onCreate de MainActivity + * @param savedInstanceState If the activity is being re-initialized after + * previously being shut down then this Bundle contains the data it most + * recently supplied in {@link #onSaveInstanceState}. <b><i>Note: Otherwise it is null.</i></b> + * + */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - /* - launcher = registerForActivityResult( - // Contrat qui détermine le type de l'interaction - new ActivityResultContracts.StartActivityForResult(), - // Callback appelé lorsque le résultat sera disponible - new ActivityResultCallback<ActivityResult>() { - @Override - public void onActivityResult(ActivityResult result) { - //On récupère les données de habitat - Intent intent = result.getData(); - if(intent != null) { - Bundle extras = intent.getExtras(); - habitat = (Habitat) extras.get("Habitat"); - habitat.setCorrectly(); - ouvrirJSON(); - textView.setText(habitat.toJSON().toString()); - - } - - } - } - ); - - */ - - - textView = findViewById(R.id.textTest); ouvrirJSON(); @@ -74,30 +48,29 @@ public class MainActivity extends AppCompatActivity { } + /** + * Permet de lancer l'activite de conception + * @param view + */ public void conception(View view) { Intent intent = new Intent(this, ModeConceptionActivity.class); intent.putExtra("Habitat", habitat); startActivity(intent); - /* - if (intent.resolveActivity(getPackageManager()) != null){ - launcher.launch(intent); - } - - */ } + /** + * Permet de lancer l'activite d'immersion + * @param view + */ public void immersion(View view) { Intent intent = new Intent(this, ModeImmersionActivity.class); intent.putExtra("Habitat", habitat); startActivity(intent); - /* - if (intent.resolveActivity(getPackageManager()) != null){ - launcher.launch(intent); - } - - */ } + /** + * Permet de recuperer l'habitat enregistre + */ public void ouvrirJSON(){ habitat = new Habitat(); FileInputStream fis = null; @@ -136,6 +109,11 @@ public class MainActivity extends AppCompatActivity { textView.setText(habitat.toString()); } + /** + * Fonction permettant de recuperer le texte dans un texte + * @param fis + * @return + */ public String getFileContent(FileInputStream fis) { StringBuilder sb = new StringBuilder(); Reader r = null; @@ -154,6 +132,9 @@ public class MainActivity extends AppCompatActivity { return sb.toString(); } + /** + * Fonction de 1er demarrage de l'activite + */ @Override protected void onPostResume() { ouvrirJSON(); diff --git a/app/src/main/java/com/example/myhabitat/ModeConceptionActivity.java b/app/src/main/java/com/example/myhabitat/ModeConceptionActivity.java index 31ba040..ddedd42 100644 --- a/app/src/main/java/com/example/myhabitat/ModeConceptionActivity.java +++ b/app/src/main/java/com/example/myhabitat/ModeConceptionActivity.java @@ -30,6 +30,13 @@ public class ModeConceptionActivity extends AppCompatActivity { private ImageButton photoEnCours; //Detecte à quel mur associer la photo en cours + /** + * onCreate de ModeConceptionActivity + * @param savedInstanceState If the activity is being re-initialized after + * previously being shut down then this Bundle contains the data it most + * recently supplied in {@link #onSaveInstanceState}. <b><i>Note: Otherwise it is null.</i></b> + * + */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -89,6 +96,9 @@ public class ModeConceptionActivity extends AppCompatActivity { ); } + /** + * Permet d'afficher l'ensemble des pieces de l'habitat + */ private void affichePieces() { gestionnaire.reset(); LinearLayout ll = findViewById(R.id.linearLayout); @@ -175,6 +185,10 @@ public class ModeConceptionActivity extends AppCompatActivity { } } + /** + * Permet d'ajouter une piece a l'habitat et de l'afficher + * @param view + */ public void addPiece(View view) { Piece piece1 = new Piece("p"); habitat.addPiece(piece1); @@ -182,12 +196,18 @@ public class ModeConceptionActivity extends AppCompatActivity { majHabitat(); } + /** + * Mise à jour de l'habitat + */ public void majHabitat(){ Intent intent = new Intent().putExtra("Habitat", habitat); setResult(RESULT_OK, intent); enregistrement(); } + /** + * Enregistrement de l'habitat sous format JSON + */ public void enregistrement(){ JSONObject enregistrement = new JSONObject(); enregistrement = habitat.toJSON(); @@ -215,10 +235,18 @@ public class ModeConceptionActivity extends AppCompatActivity { } } + /** + * Permet un retour à l'activite precedente + * @param view + */ public void confirmer(View view) { finish(); } + /** + * Ajoute une Ouverture à Habitat + * @param view + */ public void addOuverture(View view) { Intent intent = new Intent(this, CreationOuvertureActivity.class); intent.putExtra("Habitat", habitat); diff --git a/app/src/main/java/com/example/myhabitat/ModeImmersionActivity.java b/app/src/main/java/com/example/myhabitat/ModeImmersionActivity.java index 34af0c1..e0ccdc0 100644 --- a/app/src/main/java/com/example/myhabitat/ModeImmersionActivity.java +++ b/app/src/main/java/com/example/myhabitat/ModeImmersionActivity.java @@ -38,6 +38,13 @@ public class ModeImmersionActivity extends AppCompatActivity implements SensorEv private ArrayList<Rect> rectangles; private HashMap<Rect, Piece> pieceArriveeRect; + /** + * onCreate de ModeImmersionActivity + * @param savedInstanceState If the activity is being re-initialized after + * previously being shut down then this Bundle contains the data it most + * recently supplied in {@link #onSaveInstanceState}. <b><i>Note: Otherwise it is null.</i></b> + * + */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -100,6 +107,12 @@ public class ModeImmersionActivity extends AppCompatActivity implements SensorEv }); } + /** + * Cree le menu de l'activite + * @param menu The options menu in which you place your items. + * + * @return + */ public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_immersion, menu); @@ -121,6 +134,10 @@ public class ModeImmersionActivity extends AppCompatActivity implements SensorEv return true; } + /** + * selectionne la piece en cours + * @param piece + */ public void affichePiece(Piece piece){ pieceEnCours = piece; imageViewMur = findViewById(R.id.imageViewMur); @@ -129,6 +146,9 @@ public class ModeImmersionActivity extends AppCompatActivity implements SensorEv afficheMur(); } + /** + * Affiche le mur en cours + */ public void afficheMur(){ textViewPiece = findViewById(R.id.textViewPiece); textViewPiece.setText("piece="+pieceEnCours.getNom()); @@ -149,6 +169,10 @@ public class ModeImmersionActivity extends AppCompatActivity implements SensorEv afficheOuvertures(); } + + /** + * Affiche l'ensemble des ouvertures du mur courant + */ public void afficheOuvertures(){ ArrayList<Ouverture> ouvertures = habitat.getOuvertureDeMur(murEnCours); Log.i("testOuvertures", ouvertures+""); @@ -201,6 +225,10 @@ public class ModeImmersionActivity extends AppCompatActivity implements SensorEv } } + /** + * Gere la sensibilite du Sensor = affichage de la mur + màj mur en cours + * @param event the {@link android.hardware.SensorEvent SensorEvent}. + */ @Override public void onSensorChanged(SensorEvent event) { @@ -247,17 +275,31 @@ public class ModeImmersionActivity extends AppCompatActivity implements SensorEv } + /** + * Fonction du sensor + * @param sensor + * @param accuracy The new accuracy of this sensor, one of + * {@code SensorManager.SENSOR_STATUS_*} + */ @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } + /** + * Fonction appelee lors du changement d'activite + * Permet de desactiver le Sensor + */ @Override protected void onPause() { sensorManager.unregisterListener(this); super.onPause(); } + /** + * Fonction appelee lors de l'arrive dans l'activite + * Permet d'activer le Sensor + */ @Override protected void onResume() { sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_GAME); diff --git a/app/src/main/java/habitat/Habitat.java b/app/src/main/java/habitat/Habitat.java index 31574e6..b865055 100644 --- a/app/src/main/java/habitat/Habitat.java +++ b/app/src/main/java/habitat/Habitat.java @@ -14,14 +14,28 @@ import java.util.Objects; public class Habitat implements Parcelable { + /** + * Attribut qui stocke l'ensemble des pieces de l'habitat + */ private ArrayList<Piece> pieces; + /** + * Attribut qui stocke l'ensemble des ouvertures de l'habitat + */ private ArrayList<Ouverture> ouvertures; + + /** + * Constructeur d'Habitat + */ public Habitat() { this.pieces = new ArrayList<Piece>(); this.ouvertures = new ArrayList<Ouverture>(); } + /** + * Constructeur d'Habitat quand on récupère via intent + * @param in + */ protected Habitat(Parcel in) { pieces = new ArrayList<Piece>(); ouvertures = new ArrayList<Ouverture>(); @@ -29,10 +43,9 @@ public class Habitat implements Parcelable { in.readList(ouvertures, Ouverture.class.getClassLoader()); } - public Habitat(Piece... pieces) { - this.pieces = new ArrayList<>(Arrays.asList(pieces)); - } - + /** + * Creator utile implementant Parcelable + */ public static final Creator<Habitat> CREATOR = new Creator<Habitat>() { @Override public Habitat createFromParcel(Parcel in) { @@ -46,22 +59,42 @@ public class Habitat implements Parcelable { }; + /** + * getter des pieces + * @return les pieces + */ public ArrayList<Piece> getPieces() { return pieces; } + /** + * setter des pieces + * @param pieces + */ public void setPieces(ArrayList<Piece> pieces) { this.pieces = pieces; } + /** + * getter des ouvertures + * @return les ouvertures + */ public ArrayList<Ouverture> getOuvertures() { return ouvertures; } + /** + * setter des ouvertures + * @param ouvertures + */ public void setOuvertures(ArrayList<Ouverture> ouvertures) { this.ouvertures = ouvertures; } + /** + * toString d'Habitat + * @return le toString d'Habitat + */ @Override public String toString() { return "Habitat{" + @@ -70,28 +103,49 @@ public class Habitat implements Parcelable { '}'; } + /** + * fonction implementant Parcelable + * @return 0 + */ @Override public int describeContents() { return 0; } + /** + * fonction pour ecrire pour Parcelable + * @param dest The Parcel in which the object should be written. + * @param flags Additional flags about how the object should be written. + * May be 0 or {@link #PARCELABLE_WRITE_RETURN_VALUE}. + */ @Override public void writeToParcel(Parcel dest, int flags) { dest.writeList(pieces); dest.writeList(ouvertures); } - //Fonction utile quand on recupere via Intent pour re-set correctement + /** + * Set correctement les elements de habitat + * Fonction utile quand on recupere via Intent pour re-set correctement + */ public void setCorrectly(){ for(Piece piece : pieces){ piece.setCorrectly(); } } + /** + * Fonction qui ajoute une piece à l'habitat + * @param piece + */ public void addPiece(Piece piece) { pieces.add(piece); } + /** + * Fonction qui ajoute une ouverture à l'habitat + * @param ouverture + */ public void addOuverture(Ouverture ouverture){ ouvertures.add(ouverture); for(Piece piece : pieces){ @@ -106,10 +160,18 @@ public class Habitat implements Parcelable { } } + /** + * Fonction qui enlève une ouverture à l'habitat + * @param ouverture + */ public void removeOuverture(Ouverture ouverture){ ouvertures.remove(ouverture); } + /** + * Fonction qui enlève une pièce à l'habitat + * @param piece + */ public void removePiece(Piece piece){ pieces.remove(piece); //On vérifie qu'il n'existe pas d'ouvertures @@ -123,6 +185,10 @@ public class Habitat implements Parcelable { } } + /** + * Fonction qui retourne le JSON de habitat + * @return le JSON de habitat + */ public JSONObject toJSON(){ JSONObject jsonObject = new JSONObject(); JSONArray jsonArrayPiece = new JSONArray(); @@ -142,22 +208,39 @@ public class Habitat implements Parcelable { return jsonObject; } + /** + * Fonction qui permet de reinitialiser habitat + */ public void reset(){ pieces.clear(); ouvertures.clear(); } + /** + * Fonction equals + * @param o + * @return true si egaux, faux sinon + */ @Override public boolean equals(Object o) { if (this == o) return true; return false; } + /** + * Retourne le hashCode de habitat + * @return le hashCode de habitat + */ @Override public int hashCode() { return Objects.hash(pieces, ouvertures); } + /** + * Fonction qui permet de retrouver toutes les ouvertures du mur + * @param mur + * @return les ouvertures du mur + */ public ArrayList<Ouverture> getOuvertureDeMur(Mur mur){ ArrayList<Ouverture> ouvertureArrayList = new ArrayList<Ouverture>(); for(Ouverture ouverture : ouvertures){ diff --git a/app/src/main/java/habitat/Mur.java b/app/src/main/java/habitat/Mur.java index 7936465..26ddca9 100644 --- a/app/src/main/java/habitat/Mur.java +++ b/app/src/main/java/habitat/Mur.java @@ -11,16 +11,35 @@ import outils.FabriqueId; import java.util.Objects; public class Mur implements Parcelable { + /** + * Attribut qui stocke la piece du mur + */ private Piece piece; + /** + * Attribut qui stocke l'orientation du mur + */ private Orientation orientation; - private int id; //Utile pour stocker la photo associée au mur - + /** + * Attribut qui stocke l'id du mur + * Utile pour la sauvegarde de la photo associee au mur + */ + private int id; + + /** + * Constructeur de Mur avec la piece et l'orientation associes + * @param piece + * @param orientation + */ public Mur(Piece piece, Orientation orientation) { this.piece = piece; this.orientation = orientation; id = FabriqueId.getInstance().getId(); } + /** + * Constructeur de Mur à partir du JSON + * @param jsonObjectMur + */ public Mur(JSONObject jsonObjectMur){ try { id = (int) jsonObjectMur.get("Id"); @@ -47,12 +66,19 @@ public class Mur implements Parcelable { } } + /** + * Constructeur de Mur pour Parcelable + * @param in + */ protected Mur(Parcel in) { orientation = (Orientation) in.readSerializable(); id = in.readInt(); piece = new Piece(""); } + /** + * Creator de Mur pour Parcelable + */ public static final Creator<Mur> CREATOR = new Creator<Mur>() { @Override public Mur createFromParcel(Parcel in) { @@ -65,30 +91,58 @@ public class Mur implements Parcelable { } }; + /** + * getter de la piece associee au mur + * @return la piece associee au mur + */ public Piece getPiece() { return piece; } + /** + * setter de la piece associee au mur + * @param piece + */ public void setPiece(Piece piece) { this.piece = piece; } + /** + * getter de l'orientation du mur + * @return l'orientation du mur + */ public Orientation getOrientation() { return orientation; } + /** + * setter de l'orientation du mur + * @param orientation + */ public void setOrientation(Orientation orientation) { this.orientation = orientation; } + /** + * getter de l'id du mur + * @return l'id du mur + */ public int getId() { return id; } + /** + * setter de l'id du mur + * @param id + */ public void setId(int id) { this.id = id; } + /** + * Fonction toString du mur + * @return le toString du mur + */ @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -100,17 +154,31 @@ public class Mur implements Parcelable { return sb.toString(); } + /** + * Fonction utile pour Parcelable + * @return 0 + */ @Override public int describeContents() { return 0; } + /** + * Fonction permettant d'ecrire le mur pour Parcelable + * @param dest The Parcel in which the object should be written. + * @param flags Additional flags about how the object should be written. + * May be 0 or {@link #PARCELABLE_WRITE_RETURN_VALUE}. + */ @Override public void writeToParcel(Parcel dest, int flags) { dest.writeSerializable(orientation); dest.writeInt(id); } + /** + * Fonction qui genere le JSON du mur + * @return le JSON du mur + */ public JSONObject toJSON() { JSONObject jsonObject = new JSONObject(); try { @@ -123,6 +191,11 @@ public class Mur implements Parcelable { return jsonObject; } + /** + * Fonction equals du mur + * @param o + * @return true si egaux, false sinon + */ @Override public boolean equals(Object o) { if (this == o) return true; @@ -130,6 +203,10 @@ public class Mur implements Parcelable { return id == ((Mur) o).getId() && Objects.equals(piece, ((Mur) o).getPiece()) && orientation == ((Mur) o).getOrientation(); } + /** + * Retourne le hashCode de mur + * @return le hashCode de mur + */ @Override public int hashCode() { return Objects.hash(piece, orientation, id); diff --git a/app/src/main/java/habitat/Orientation.java b/app/src/main/java/habitat/Orientation.java index cf9b3d5..04ee63c 100644 --- a/app/src/main/java/habitat/Orientation.java +++ b/app/src/main/java/habitat/Orientation.java @@ -6,6 +6,9 @@ public enum Orientation { SUD, OUEST; + /** + * Constructeur vide d'Orientation + */ Orientation() { } } diff --git a/app/src/main/java/habitat/Ouverture.java b/app/src/main/java/habitat/Ouverture.java index f48c951..d762416 100644 --- a/app/src/main/java/habitat/Ouverture.java +++ b/app/src/main/java/habitat/Ouverture.java @@ -11,11 +11,27 @@ import java.util.Objects; public class Ouverture implements Parcelable { + /** + * Attribut stockant le mur de depart de l'ouverture + */ private Mur murDepart; + /** + * Attribut stockant le mur d'arrivee de l'ouverture + */ private Mur murArrivee; + /** + * Attribut stockant le rectangle de depart de l'ouverture + */ private Rect rectDepart; + /** + * Attribut stockant le rectangle d'arrivee de l'ouverture + */ private Rect rectArrivee; + /** + * Constructeur de Ouverture a partir du JSON + * @param jsonObject + */ public Ouverture(JSONObject jsonObject) { try { murDepart = new Mur((JSONObject) jsonObject.get("MurDepart")); @@ -29,6 +45,13 @@ public class Ouverture implements Parcelable { } } + /** + * Constructeur d'Ouverture avec les 2 murs et les 2 rectangles associes + * @param murDepart + * @param murArrivee + * @param rectDepart + * @param rectArrivee + */ public Ouverture(Mur murDepart, Mur murArrivee, Rect rectDepart, Rect rectArrivee){ this.murDepart = murDepart; this.murArrivee = murArrivee; @@ -36,6 +59,10 @@ public class Ouverture implements Parcelable { this.rectArrivee = rectArrivee; } + /** + * Constructeur d'Ouverture pour Parcelable + * @param in + */ protected Ouverture(Parcel in){ murDepart = in.readParcelable(Mur.class.getClassLoader()); murArrivee = in.readParcelable(Mur.class.getClassLoader()); @@ -43,6 +70,9 @@ public class Ouverture implements Parcelable { rectArrivee = in.readParcelable(Rect.class.getClassLoader()); } + /** + * Creator d'Ouverture pour Parcelable + */ public static final Creator<Ouverture> CREATOR = new Creator<Ouverture>() { @Override public Ouverture createFromParcel(Parcel in) { @@ -55,6 +85,10 @@ public class Ouverture implements Parcelable { } }; + /** + * Fonction qui genere le JSON d'Ouverture + * @return le JSON d'Ouverture + */ public JSONObject toJSON() { JSONObject jsonObject = new JSONObject(); JSONArray jsonArrayD = new JSONArray(); @@ -78,15 +112,24 @@ public class Ouverture implements Parcelable { throw new RuntimeException(e); } - return jsonObject; } + /** + * Fonction utile pour Parcelable + * @return 0 + */ @Override public int describeContents() { return 0; } + /** + * Fonction qui ecrit Ouverture pour Parcelable + * @param dest The Parcel in which the object should be written. + * @param flags Additional flags about how the object should be written. + * May be 0 or {@link #PARCELABLE_WRITE_RETURN_VALUE}. + */ @Override public void writeToParcel(Parcel dest, int flags) { dest.writeParcelable(murDepart, flags); @@ -95,50 +138,95 @@ public class Ouverture implements Parcelable { dest.writeParcelable(rectArrivee, flags); } - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - return Objects.equals(murDepart, ((Ouverture) o).getMurDepart()) && Objects.equals(murArrivee, ((Ouverture) o).getMurArrivee()) && Objects.equals(rectDepart, ((Ouverture) o).getRectDepart()) && Objects.equals(rectArrivee, ((Ouverture) o).getRectArrivee()); - } - - @Override - public int hashCode() { - return Objects.hash(murDepart, murArrivee, rectDepart, rectArrivee); - } - + /** + * getter du mur de depart + * @return le mur de depart de l'ouverture + */ public Mur getMurDepart() { return murDepart; } + /** + * setter du mur de depart + * @param murDepart + */ public void setMurDepart(Mur murDepart) { this.murDepart = murDepart; } + /** + * getter du mur d'arrivee + * @return le mur d'arrivee de l'ouverture + */ public Mur getMurArrivee() { return murArrivee; } + /** + * setter du mur d'arrivee + * @param murArrivee + */ public void setMurArrivee(Mur murArrivee) { this.murArrivee = murArrivee; } + /** + * getter du rectangle de depart + * @return le rectangle de depart de l'ouverture + */ public Rect getRectDepart() { return rectDepart; } + /** + * setter du rectangle de depart + * @param rectDepart + */ public void setRectDepart(Rect rectDepart) { this.rectDepart = rectDepart; } + /** + * getter du rectangle d'arrivee + * @return le rectangle d'arrivee + */ public Rect getRectArrivee() { return rectArrivee; } + /** + * setter du rectangle d'arrivee + * @param rectArrivee + */ public void setRectArrivee(Rect rectArrivee) { this.rectArrivee = rectArrivee; } + /** + * Fonction equals de Ouverture + * @param o + * @return true si egaux, false sinon + */ + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + return Objects.equals(murDepart, ((Ouverture) o).getMurDepart()) && Objects.equals(murArrivee, ((Ouverture) o).getMurArrivee()) && Objects.equals(rectDepart, ((Ouverture) o).getRectDepart()) && Objects.equals(rectArrivee, ((Ouverture) o).getRectArrivee()); + } + + /** + * Retourne le hashCode de Ouverture + * @return le hashCode de Ouverure + */ + @Override + public int hashCode() { + return Objects.hash(murDepart, murArrivee, rectDepart, rectArrivee); + } + + /** + * Fonction toString d'ouverture + * @return le toString d'Ouverture + */ @Override public String toString() { return "Ouverture{" + diff --git a/app/src/main/java/habitat/Piece.java b/app/src/main/java/habitat/Piece.java index c9a5c8d..80cc039 100644 --- a/app/src/main/java/habitat/Piece.java +++ b/app/src/main/java/habitat/Piece.java @@ -11,9 +11,19 @@ import java.util.ArrayList; import java.util.Objects; public class Piece implements Parcelable { + /** + * Attribut qui stocke le nom de la Piece + */ private String nom; + /** + * Attribut qui stocke les 4 murs de la Piece + */ private ArrayList<Mur> murs; + /** + * Constructeur de Piece avec uniquement le nom + * @param nom + */ public Piece(String nom) { this.nom = nom; murs = new ArrayList<>(4); @@ -26,6 +36,10 @@ public class Piece implements Parcelable { setMurs(murS, murO, murN, murE); } + /** + * Constructeur de Piece a partir du JSON + * @param jsonObjectPiece + */ public Piece(JSONObject jsonObjectPiece){ murs = new ArrayList<Mur>(); try { @@ -42,6 +56,10 @@ public class Piece implements Parcelable { } } + /** + * Constructeur de la Piece pour Parcelable + * @param in + */ protected Piece(Parcel in) { //habitat = new Habitat(); nom = new String(); @@ -50,6 +68,9 @@ public class Piece implements Parcelable { in.readList(murs, Mur.class.getClassLoader()); } + /** + * Creator de Piece pour Parcelable + */ public static final Creator<Piece> CREATOR = new Creator<Piece>() { @Override public Piece createFromParcel(Parcel in) { @@ -62,24 +83,45 @@ public class Piece implements Parcelable { } }; + /** + * getter du nom de la Piece + * @return le nom de la Piece + */ public String getNom() { return nom; } + /** + * setter du nom de la Piece + * @param nom + */ public void setNom(String nom) { this.nom = nom; } + /** + * getter des murs de la Piece + * @return + */ public ArrayList<Mur> getMurs() { return murs; } + /** + * Setter des murs de la Piece + * @param murs + */ public void setMurs(Mur... murs) { for(int i=0; i< murs.length; i++){ this.murs.add(murs[i]); } } + /** + * getter d'un mur de la Piece en fonction de l'orientation + * @param orientation + * @return + */ public Mur getMurOrientation(Orientation orientation){ Mur result = murs.get(0); for(Mur mur : murs){ @@ -90,6 +132,10 @@ public class Piece implements Parcelable { return result; } + /** + * Fonction toString de Piece + * @return le toString de la Piece + */ @Override public String toString() { return "Piece{nom=" + nom + @@ -97,28 +143,49 @@ public class Piece implements Parcelable { '}'; } + /** + * Fonction utile pour Parcelable + * @return 0 + */ @Override public int describeContents() { return 0; } + /** + * Fonction qui ecrit la Piece pour Parcelable + * @param dest The Parcel in which the object should be written. + * @param flags Additional flags about how the object should be written. + * May be 0 or {@link #PARCELABLE_WRITE_RETURN_VALUE}. + */ @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(nom); dest.writeList(murs); } + /** + * Fonction qui set la piece aux murs + */ public void setCorrectly() { for(Mur mur : murs){ mur.setPiece(this); } } + /** + * Fonction qui ajoute un Mur e à la Piece + * @param e + */ public void addMur(Mur e){ murs.add(e); e.setPiece(this); } + /** + * Fonctio qui genere le JSON de la Piece + * @return + */ public JSONObject toJSON() { JSONObject jsonObject = new JSONObject(); JSONArray jsonArray = new JSONArray(); @@ -134,6 +201,11 @@ public class Piece implements Parcelable { return jsonObject; } + /** + * Fonction equals de Piece + * @param o + * @return true si egaux, false sinon + */ @Override public boolean equals(Object o) { if (this == o) return true; @@ -141,6 +213,10 @@ public class Piece implements Parcelable { return Objects.equals(nom, ((Piece) o).getNom()) && Objects.equals(murs, ((Piece) o).getMurs()); } + /** + * Fonction qui retourne le hashCode de Piece + * @return le hashCode de Piece + */ @Override public int hashCode() { return Objects.hash(nom, murs); diff --git a/app/src/main/java/outils/FabriqueId.java b/app/src/main/java/outils/FabriqueId.java index 79d1f09..7a51668 100644 --- a/app/src/main/java/outils/FabriqueId.java +++ b/app/src/main/java/outils/FabriqueId.java @@ -1,22 +1,43 @@ package outils; public class FabriqueId { + /** + * Attribut qui stocke l'id + */ private int id; + /** + * Attribut instance de la FabriqueId + */ private static FabriqueId instance = new FabriqueId(); + /** + * getter de l'instance de la FabriqueId + * @return l'instance de la FabriqueId + */ + public static FabriqueId getInstance(){ return instance; } + /** + * Constructeur prive de FabriqueId + */ private FabriqueId() { id = 0; } + /** + * retourne un id unique + * @return un id unique + */ public int getId() { id++; return id; } + /** + * Fonction qui met à 0 la FabriqueIdentifiant + */ public void reset(){ id = 0; } diff --git a/app/src/main/java/outils/GestionnaireEditHabitat.java b/app/src/main/java/outils/GestionnaireEditHabitat.java index 7ded93d..729929b 100644 --- a/app/src/main/java/outils/GestionnaireEditHabitat.java +++ b/app/src/main/java/outils/GestionnaireEditHabitat.java @@ -9,32 +9,62 @@ import java.util.HashMap; public class GestionnaireEditHabitat { + /** + * Attribut qui stocke une Piece en fonction de l'EditPiece associe + */ private HashMap<EditText, Piece> hmapEditText; + /** + * Attribut qui stocke le Mur en fonction de l'ImageButton associe + */ private HashMap<ImageButton, Mur> hmapEditMur; + /** + * Constructeur de GestionnaireEditHabitat + */ public GestionnaireEditHabitat() { hmapEditText = new HashMap<EditText, Piece>(); hmapEditMur = new HashMap<ImageButton, Mur>(); } + /** + * Ajoute l'element <editText, piece> au Gestionnaire + * @param editText + * @param piece + */ public void addEditText(EditText editText, Piece piece){ hmapEditText.put(editText, piece); } + /** + * getter de Piece en fonction d'editText + * @param editText + * @return + */ public Piece getPiece(EditText editText){ return hmapEditText.get(editText); } + /** + * Ajoute l'element <imageButton, mur> au Gestionnaire + * @param imageButton + * @param mur + */ public void addEditMur(ImageButton imageButton, Mur mur){ hmapEditMur.put(imageButton, mur); } + /** + * getter de mur en fonction de imageButton + * @param imageButton + * @return + */ public Mur getMur(ImageButton imageButton){ return hmapEditMur.get(imageButton); } - - + /** + * Fonction qui reset le Gestionnaire + */ public void reset(){ hmapEditText.clear(); hmapEditMur.clear(); -- GitLab