http://www.jpicedt.org

jpicedt.graphic.io.formatter
Class AbstractFormatterFactory

java.lang.Object
  extended by jpicedt.graphic.io.formatter.AbstractFormatterFactory
All Implemented Interfaces:
FormatterFactory
Direct Known Subclasses:
DXFFormatter, JPICFormatter, LatexFormatter, PstricksFormatter, TikzFormatter

public abstract class AbstractFormatterFactory
extends Object
implements FormatterFactory

Classe de base des fabriques de formatteurs. Permet de mapper des classes d'éléments du modèle graphique sur leur formatteurs respectifs pour un ContentType donné.

Since:
jpicedt 1.5
Author:
Sylvain Reynal, Vincent Belaïche

Field Summary
protected  CommentFormatting commentFormatter
           
protected  HashMap<Class<? extends Element>,Class<? extends Formatter>> factoryMap
          a HashMap that associates Formatter's classes with Element's classes
protected  String lineSeparator
          le séparateur multi-ligne courant pour ce fichier de sauvegarde
 
Fields inherited from interface jpicedt.graphic.io.formatter.FormatterFactory
MAKE_STANDALONE_FILE
 
Constructor Summary
AbstractFormatterFactory()
           
 
Method Summary
 Formatter createFormatter(Element element)
           
 CommentFormatting getCommentFormatter()
          Renvoie un formatteur de commentaire, ce formatteur sert à encapsuler le code JPIC-XML dans un autre type de contenu sous la forme de commentaires forts (pour la délimitation du début et de la fin du code JPIC-XML) et faibles (pour le code JPIC-XML lui-même)
protected  String getFileWrapperEpilog()
          C'est juste pour avoir une implantation par défaut pour les types de contenu qui n'ont pas besoin de cette méthode d'interface.
protected  String getFileWrapperProlog()
          C'est juste pour avoir une implantation par défaut pour les types de contenu qui n'ont pas besoin de cette méthode d'interface.
protected  FormatterFactory getFormatterFactory()
          Renvoie le this.
 String getLineSeparator()
           
 Class<? extends Formatter> getMappedClass(Class<? extends Element> classElement)
          Returns the Formatter's class associated with the given Element's class in the hashmap responsible for creating Formatter's for Element's.
 void map(Class<? extends Element> classElement, Class<? extends Formatter> classFormatter)
          Associates the given Formatter's class with the given Element's class in the hashmap responsible for creating Formatter's for Element's.
 boolean revertedArrowsAttribute()
           
 void setCommentFormatter(CommentFormatting commentFormatter)
          Configure le formatteur de commentaire.
 void setLineSeparator(String lineSeparator)
           
 void stringWriteMultiLine(Writer out, String in)
          Écrit la chaîne in en respectant le séparateur de ligne du fichier de sauvegarde.
 void textWriteMultiLine(Writer out, PicText in)
           
 String toString()
           
 void unmap(Class<? extends Element> classElement)
          Remove the element/view mapping for the given Element's class in the hashmap responsible for creating Formatter's for Element's.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jpicedt.graphic.io.formatter.FormatterFactory
createFormatter
 

Field Detail

lineSeparator

protected String lineSeparator
le séparateur multi-ligne courant pour ce fichier de sauvegarde


commentFormatter

protected CommentFormatting commentFormatter

factoryMap

protected HashMap<Class<? extends Element>,Class<? extends Formatter>> factoryMap
a HashMap that associates Formatter's classes with Element's classes

Constructor Detail

AbstractFormatterFactory

public AbstractFormatterFactory()
Method Detail

getLineSeparator

public String getLineSeparator()
Specified by:
getLineSeparator in interface FormatterFactory
Returns:
le séparateur de ligne courant. Par exemple CR-LF pour MSWindows.

setLineSeparator

public void setLineSeparator(String lineSeparator)

stringWriteMultiLine

public void stringWriteMultiLine(Writer out,
                                 String in)
                          throws IOException
Écrit la chaîne in en respectant le séparateur de ligne du fichier de sauvegarde.

Throws:
IOException

textWriteMultiLine

public void textWriteMultiLine(Writer out,
                               PicText in)
                        throws IOException
Throws:
IOException

revertedArrowsAttribute

public boolean revertedArrowsAttribute()

toString

public String toString()
Overrides:
toString in class Object

map

public void map(Class<? extends Element> classElement,
                Class<? extends Formatter> classFormatter)
Associates the given Formatter's class with the given Element's class in the hashmap responsible for creating Formatter's for Element's.

Since:
jpicedt 1.5

unmap

public void unmap(Class<? extends Element> classElement)
Remove the element/view mapping for the given Element's class in the hashmap responsible for creating Formatter's for Element's.

Since:
jpicedt 1.5

getMappedClass

public Class<? extends Formatter> getMappedClass(Class<? extends Element> classElement)
Returns the Formatter's class associated with the given Element's class in the hashmap responsible for creating Formatter's for Element's.

Since:
jpicedt 1.5

createFormatter

public Formatter createFormatter(Element element)
Specified by:
createFormatter in interface FormatterFactory
Returns:
a Formatter able to format the given Element according to the format of this factory
Since:
jpicedt 1.5

getCommentFormatter

public CommentFormatting getCommentFormatter()
Renvoie un formatteur de commentaire, ce formatteur sert à encapsuler le code JPIC-XML dans un autre type de contenu sous la forme de commentaires forts (pour la délimitation du début et de la fin du code JPIC-XML) et faibles (pour le code JPIC-XML lui-même)

Specified by:
getCommentFormatter in interface FormatterFactory
Returns:
le formatteur de commentaire correspondant au types de contenu LaTeX, Epic/Eepic, et PsTrick.

setCommentFormatter

public void setCommentFormatter(CommentFormatting commentFormatter)
Configure le formatteur de commentaire. Utile seulement pour les format non dérivé TeX comme DXF car instancie par défaut un formatteur de type TeXCommentFormatter.


getFileWrapperProlog

protected String getFileWrapperProlog()
C'est juste pour avoir une implantation par défaut pour les types de contenu qui n'ont pas besoin de cette méthode d'interface.

Returns:
null pour le prologue de formatage d'un fichier autonome (stand-alone) correspondant au type de contenu offrant cette interface.

getFileWrapperEpilog

protected String getFileWrapperEpilog()
C'est juste pour avoir une implantation par défaut pour les types de contenu qui n'ont pas besoin de cette méthode d'interface.

Returns:
null l'épilogue de formatage d'un fichier autonome (stand-alone) correspondant au type de contenu offrant cette interface.

getFormatterFactory

protected FormatterFactory getFormatterFactory()
Renvoie le this. Utile pour les sous-classes non statiques.


http://www.jpicedt.org

Submit a bug : syd@jpicedt.org