Il y a des cas où les nombres négatifs sont écrits comme «△ 100 000» dans les documents relatifs à la comptabilité. Yellowfin peut y parvenir avec ** Custom Formatter **.
** Les plugins Yellowfin ** tels que les formateurs personnalisés sont développés en Java. Cette fois, j'utilise Eclipse (Pleiades qui est une version japonaise d'Eclipse).
La méthode de développement est décrite dans le manuel en ligne de Yellowfin. Principes de base du développement de plug-ins Création d'un formateur personnalisé Dans cet article, nous procéderons au pliage, veuillez donc vous référer au manuel le cas échéant.
Créez un nouveau projet Java. Même si la version Java est 7, elle est écrite dans le manuel, donc JRE doit sélectionner java7. ..
Cliquez sur Suivant et remplacez le dossier de sortie par défaut par **
Cliquez avec le bouton droit sur le projet et sélectionnez Importer.
Sélectionnez Système de fichiers et cliquez sur Suivant.
** Accédez au <répertoire d'installation Yellowfin> / appserver / webapps / ROOT **. Sélectionnez ROOT et cliquez sur Ouvrir.
Sélectionnez tout sous ROOT et cochez la case "Créer des liens dans l'espace de travail" dans l'élément "Etendu".
Cliquez avec le bouton droit sur le projet et sélectionnez Build Path> Configure Build Path dans le menu.
Cliquez sur Bibliothèque.
Cliquez sur le bouton Ajouter JAR et saisissez i4 dans la barre de recherche. Sélectionnez "i4-core.jar" et "i4-mi.jar" dans les résultats de la recherche.
Créez un nouveau dossier avec le nom ** META-INF ** sous le dossier src. Créez un nouveau dossier nommé ** services ** sous ce dossier.
Créez un fichier appelé ** com.hof.mi.interfaces.CustomFormatter ** sous le dossier services.
Écrivez com.company.yellowfin.formatters.SankakuFormatter
dans le fichier créé. Ce sera le nom de classe complet du formateur personnalisé que vous créez.
Cliquez avec le bouton droit sur le projet et sélectionnez Nouveau> Package. Nommez le nouveau package ** com.company.yellowfin.formatters **. (Correspondance avec le nom de classe qualifié complet défini précédemment)
Cliquez avec le bouton droit sur le package que vous avez créé et sélectionnez Nouveau> Fichier. Le nom du fichier est ** SankakuFormatter.java **. (Ceci est également combiné avec le nom de classe complet)
Collez le code suivant dans SankakuFormatter.java.
SankakuFormatter.java
package com.company.yellowfin.formatters;
import java.text.NumberFormat;
import com.hof.mi.interfaces.CustomFormatter;
public class SankakuFormatter extends CustomFormatter {
public String getName() {
return "Formateur triangulaire";
}
public boolean acceptsNativeType(int type) {
// We only handle numeric types
if (type == TYPE_NUMERIC) return true;
return false;
}
public String render(Object value, int renderType) throws Exception {
if (value == null) return null;
if (renderType == RENDER_LINK) {
// Return a generic version of the value
return value.toString();
}
// Create a String representing the value
NumberFormat nf = NumberFormat.getNumberInstance();
String mark = "";
String valStr = value.toString();
double valNum = Double.parseDouble(valStr);
double val = valNum;
if (valNum < 0 ) {
mark = "△";
val = Math.abs(val);
}
return mark + nf.format(val);
}
}
À propos, l 'exemple de code auquel j'ai fait référence se trouve dans le manuel en ligne.
Cliquez avec le bouton droit sur le projet et sélectionnez Exporter.
Sélectionnez "Fichier JAR".
Sélectionnez tout ** sauf **. Paramètres et ROOT, spécifiez le nom du fichier JAR (ici ** SankakuFormatter.jar **) et exportez.
Depuis l'écran de gestion du plugin Yellowfin, ajoutez le fichier JAR créé en tant que nouveau plugin.
Le formateur personnalisé créé cette fois est nommé ** Triangle Formatter **. Le nom est spécifié dans ** getName () ** dans SankakuFormatter.java. Avec ce formateur, vous pouvez formater des nombres négatifs avec le symbole "△".
Par exemple, supposons que vous ayez les données simples suivantes.
Pour ce nombre, spécifiez «formateur triangulaire» dans le format.
Ensuite, le nombre négatif est affiché sous forme de triangle!
À première vue, il peut sembler qu'elle a été modifiée en une chaîne avec des symboles, mais en réalité, les données elles-mêmes restent un type numérique simplement en changeant le format apparent, il est donc possible d'appliquer une mise en forme conditionnelle.
J'ai mis le fichier JAR créé sur Github. Veuillez l'utiliser si vous le souhaitez! https://github.com/hadatuna/SankakuFormatter
Recommended Posts