Rechercher : dans
Par :

[Java debutant] Aide pour écrire des méthodes

Dernière réponse le 11 jun 2006 à 20:10:18 Jacques, le 9 jun 2006 à 18:10:41 
 Signaler ce message aux modérateurs

Salut,

Pourriez-vous s'il vous plait m'indiquer comment faire pour coder les méthodes de ces différentes interfaces

En vous remerciant par avance

Ligne de Commande du Logiciel
La ligne de commande permet d'effectuer des requêtes sur un index

java -jar foogle.jar query [-n count] fichier.ext.idx expr
effectue une requête expr sur l'index fichier.ext.idx et affiche l'ensemble des lignes satisfaisant la requête.
-n permet de spécifier le nombre de résultat voulu.
Les requêtes sur l'index correspond à un arbre au format préfixé,
exemple "& toto | titi @t?t?" est équivalent à l'arbre

    
          &
toto            | 
        titi           @t?t?

L'opérateur ET ('&') reporte la ligne uniquement si les deux mots appartiennent à la ligne.
L'opérateur OU ('|') reporte la ligne si un des deux mots appartient à la ligne.
L'opérateur @ permet d'indiquer une expression régulière (au format PERL) pour rechercher les mots.
Lors de requête concernant beaucoup de résultat possible, il est possible de manipuler des itérateurs plutôt que des listes pour éviter d'avoir de grosses structures de données intermédiaires.

Les quelques interfaces à implémenter
import java.util.Collection;
public interface ContextStrategy {
  public Collection<? extends CharSequence> getContext(Result result);
}

--------------------------------------------------------------------------

import java.io.File;
import java.io.IOException;
import java.io.Reader;

import java.util.Map;
import java.util.regex.Pattern;


public interface FoogleFacade {
  public Index loadIndex(File indexFile)  throws IOException;
  
  public QueryFactory createQueryFactory(Index index);
}


public interface Index {
  public String getFilename();

  public ContextStrategy getContextStrategy();
}


public interface Query {
  public Iterable<? extends Result> execute();

  public Iterable<? extends Result> execute(int maxCount);
}

--------------------------------------------------------------------------

import java.util.regex.Pattern;

public interface QueryFactory {
 
  public Query query(CharSequence word);
  
  public Query query(Pattern pattern);
  
  public Query or(Query query1,Query query2);
  
  public Query and(Query query1,Query query2);
}


public interface Result {
  public int getLine();
}



pour pouvoir avoir comme main ceci:
FoogleFacade foogle = new FoogleFacadeImpl();

Index index=foogle.loadIndex(new File("bbe.idx"));
System.out.println("indexed filename:"+index.getFilename());

QueryFactory factory=foogle.createQueryFactory(index);
Query query=factory.and(factory2.query("God"),
    factory.query("solid"));

ContextStrategy contextStrategy=index.getContextStrategy();
for(Result result:query.execute(10)) {
    System.out.println("line:"+result.getLine());
    System.out.println("ctx:"+contextStrategy.getContext(result));
}

Meilleures réponses pour « [Java debutant] Aide pour écrire des méthodes » dans :
Java - L'héritage Voir La notion d'héritage Le concept d'héritage est un des concepts les plus importants de la programmation orientée objet, car il conditionne irréversiblement la façon selon laquelle un code Java est écrit. L'héritage est un mécanisme permettant de...
[Programmation] Comment débuter, quel langage? VoirComment débuter, quel langage? Introduction Ceux que l'on peut utiliser Delphi/Pascal Java Python .Net Smalltalk Ceux que l'on peut utiliser à la rigueur C/C++ PHP Ada Lisp/Caml/... Ceux que l'on peut ne pas utiliser
Début du vidage de mémoire physique (Kernel-stack-inpage-error) VoirSi Windows affiche un écran bleu avec le message suivant :kernel_stack_inpage errorAvec également des informations similaires à celles-ci : ***stop: 0x0000007 (0x000000e.0x00000000.0x00901000) début du vidage de la mémoire physique La page...
Le mot-clé static ou les attributs et méthodes de classe en POO Voir(NOTE: Cet article explique la signification du mot-clé static au sein d'une classe. La signification de "static" en C n'a par exemple rien à voir.) Vous êtes débutant en programmation orientée objet. En Java, en C++...ou que sais-je encore,...
Java: Les méthodes VoirLa notion de fonction et de méthode On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instruction par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs...
Java - L'accessibilité VoirLa notion d'accessibilité Le concept d'accessibilité (généralement appelé encapsulation) définit la possibilité qu'a le concepteur d'une classe de restreindre l'accès à certaines données, ou plus généralement à certains éléments (méthodes, classes,...
Java - Les objets VoirLa création d'objets Un objet est une instance de classe, la création d'objets s'appelle donc l'instanciation. Cette instanciation se fait grâce à l'opérateur new suivi du nom de la classe à instancier et de parenthèses contenant les paramètres...

1

G_inc, le 10 jun 2006 à 01:11:44

Merci de me contacter si tu veux faire de la programmation a temps perdu en ligne en direct.
@+

Répondre à G_inc

2

Jacques, le 10 jun 2006 à 08:57:07

Bonjour,

Est-ce que tu peux m'aider pour mon problème ?

Sinon, comment te contacter ?

Répondre à Jacques

3

 Jacques, le 11 jun 2006 à 20:10:18
  • +1

Bonjour,

j'aurais besoin d'aide pour coder la méthode createQueryFactory car je ne sais pas très bien comment il faut que je m'y prenne

Merci

Voici les quelques classes qui implémentent des interfaces:
interface:

import java.io.File;
import java.io.IOException;

public interface FoogleFacade {
  public Index loadIndex(File indexFile)  throws IOException;

 public QueryFactory createQueryFactory(Index index);
}



import java.io.File;

public interface Index {
	public String getFilename();
}


classe:
import java.io.*;

public class FacadeImpl implements Facade{
	public Index loadIndex(File indexFile)  throws IOException{
	String line = null;		
	
	Index index = new IndexImpl(indexFile.getAbsolutePath()); 
	LineNumberReader reader = new LineNumberReader(new FileReader(indexFile)); 
	while ((line=reader.readLine()) != null) { 
		System.out.println("#" + reader.getLineNumber() + " : " + line); 
	} 
	reader.close(); 
	
	return index; 
	} 
}


public class IndexImpl implements Index{

	String filename = ""; 
	
	public IndexImpl(String filename){
	
		super(); this.filename = filename; 
	
	} 
	public String getFileName(){

		return filename; 
	
	} 

}


Mon main :
import java.io.*;


public class Main{
	public static void main(String [] args){
	Facade facade = new FacadeImpl();
	try{
		Index index=facade.loadIndex(new File("bbe.idx"));
		System.out.println("indexed filename:"+index.getFilename());
	}catch(IOException e){
		System.out.println(e.getMessage());
	}
	}
}

Répondre à Jacques