package com.github.bot.curiosone.core.knowledge;

import com.github.bot.curiosone.core.knowledge.interfaces.Edge;
import com.github.bot.curiosone.core.knowledge.interfaces.Vertex;
/**
 *
 * @author Christian
 *
 */
public class SemanticRelation implements Edge
{
  private Vertex sorgente;
  private Vertex destinazione;
  private SemanticRelationType collegamento;
  /**
   *
   * @param v1 vertice Sorgente
   * @param v2 Vertice Destinazione
   * @param type Tipo dell'arco
   */
  public SemanticRelation(Vertex v1,Vertex v2, SemanticRelationType type)
  {
    this.sorgente = v1;
    this.destinazione = v2;
    this.collegamento = type;
  }

  @Override
  public Vertex getSource() {return sorgente;}             		//
  @Override										         		//
  public Vertex getTarget() {return destinazione;}         		//    Getter
  @Override										         		//
  public SemanticRelationType getType() {return collegamento;} 	//

  /**
   * metodo toString utilizzato per varie prove di debug
   */
  @Override
  public String toString()
  {
    return sorgente.getId()+" - > "+ collegamento + " - > " + destinazione.getId();
  }

  @Override
  public boolean equals(Object o)
  {
    return this.hashCode() == ((SemanticRelation)o).hashCode();
  }

  /**
   *  HashCode basato sull'hashCode del vertice di destinazione e vertice sorgente,
   */
  @Override
  public int hashCode()
  {
    int result = 42;
        result = 31 * result + sorgente.hashCode();
        result = 31 * result + destinazione.hashCode();
        return result;
  }


}

@@ -177,14 +177,79 @@
 ex;%0A
+%0A
 /**%0A *
+ This class implements a Semantic Relation between two Concepts.
 %0A * 
@@ -265,19 +265,22 @@
 hristian
-%0A *
+ Sordi
 %0A */%0Apub
@@ -321,17 +321,17 @@
 nts Edge
-%0A
+ 
 %7B%0A  priv
@@ -427,16 +427,17 @@
 amento;%0A
+%0A
   /**%0A  
@@ -438,16 +438,43 @@
 /**%0A   *
+ Default class constructor.
 %0A   * @p
@@ -645,18 +645,16 @@
 pe type)
-%0A 
  %7B%0A    t
@@ -772,24 +772,29 @@
 etSource() %7B
+%0A    
 return sorge
@@ -801,61 +801,25 @@
 nte;
-%7D             %09%09//%0A  @Override%09%09%09%09%09%09%09%09%09%09         %09%09//
+%0A  %7D%0A%0A  @Override
 %0A  p
@@ -840,24 +840,29 @@
 etTarget() %7B
+%0A    
 return desti
@@ -873,67 +873,25 @@
 one;
-%7D         %09%09//    Getter%0A  @Override%09%09%09%09%09%09%09%09%09%09         %09%09//
+%0A  %7D%0A%0A  @Override
 %0A  p
@@ -928,16 +928,21 @@
 Type() %7B
+%0A    
 return c
@@ -957,13 +957,12 @@
 nto;
-%7D %09//
+%0A  %7D
 %0A%0A  
@@ -970,17 +970,17 @@
 **%0A   * 
-m
+M
 etodo to
@@ -1021,16 +1021,17 @@
 di debug
+.
 %0A   */%0A 
@@ -1067,18 +1067,16 @@
 String()
-%0A 
  %7B%0A    r
@@ -1101,16 +1101,19 @@
 Id()
-+
+ + 
 %22 - %3E %22
+ 
 + co
@@ -1132,16 +1132,24 @@
  %22 - %3E %22
+%0A       
  + desti
@@ -1215,18 +1215,16 @@
 bject o)
-%0A 
  %7B%0A    r
@@ -1297,17 +1297,16 @@
 /**%0A   *
- 
  HashCod
@@ -1365,16 +1365,21 @@
  vertice
+%0A   *
  sorgent
@@ -1379,17 +1379,17 @@
 sorgente
-,
+.
 %0A   */%0A 
@@ -1422,18 +1422,16 @@
 shCode()
-%0A 
  %7B%0A    i
@@ -1446,20 +1446,16 @@
 t = 42;%0A
-    
     resu
@@ -1498,20 +1498,16 @@
 ();%0A    
- 
-   
 result =
@@ -1546,20 +1546,16 @@
 Code();%0A
-    
     retu
@@ -1569,12 +1569,10 @@
 lt;%0A  %7D%0A
-%0A%0A
 %7D%0A

fix SemanticRelation class codestyle errors