Package fr.abes.cbs.notices
Class Notice
- java.lang.Object
-
- fr.abes.cbs.notices.Notice
-
- All Implemented Interfaces:
INotice
- Direct Known Subclasses:
Autorite,Biblio,DonneeLocale,Exemplaire,NoticeConcrete
public abstract class Notice extends Object implements INotice
-
-
Field Summary
Fields Modifier and Type Field Description protected com.google.common.collect.ListMultimap<String,Zone>listeZones
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddSousZone(String zone, String sousZone, String valeur)Méthode d'ajout d'une sous zone dans une zone.voidaddSousZone(String zone, String sousZone, String valeur, Integer index)Méthode d'ajout d'une sous zone dans une zone.voidaddSousZone(String zone, String sousZone, String valeur, String sousZoneBefore, String valeurBefore)Ajout d'une sous zone dans une zone.voidaddZone(Zone zone)Méthode d'ajout d'une zone à partir d'un objet zone déjà constituévoidaddZone(String zone, String valeur)Méthode d'ajout d'une zone dans le cas zone + valeurvoidaddZone(String zone, String sousZone, String valeur)Méthode d'ajout d'une zone à la noticevoidaddZone(String zone, String sousZone, String valeur, char[] indicateurs)Méthode d'ajout d'une zone à la noticevoidaddZoneEtatCollection(String zone, String sousZone, String valeur, char[] indicateurs)Méthode d'ajout d'une zone d'état de collection à la noticeprotected voidcreateNoticeFromXml(String noticeXml)voiddeleteSousZone(String zone, String sousZone)Méthode de suppression d'une sous zone dans une zone en cas de zone répétée, toutes les sous zones qui se trouvent dans l'une des zones seront suppriméesvoiddeleteZone(String zone)Méthode de suppression d'une zone de la notice (en cas de zones répétées, toutes les zones sont supprimées)voiddeleteZone(String zone, Integer index)Méthode de suppression d'une zone à l'index donnéevoiddeleteZoneWithValue(String zone, String sousZone, String valeur)ZonefindZone(String label, Integer index)Récupération de la nième zone dont le label est passé en paramètreList<Zone>findZones(String label)Retourne une liste de zones dont le label est passé en paramètreList<Zone>findZoneWithPattern(String zone, String sousZone, String pattern)Méthode permettant de trouver une zone en spécifiant une sous zone contenant une valeur correspondant au patternprotected voidgenererZonesSansSousZone(String lineZone, String labelZone)Méthode de génération d'une zone sans sous zone (uniquement zone + valeur) à partir d'une chaine Unimarcstatic char[]getIndicateurs(org.dom4j.Node zone)Méthode de récupération des indicateurs (attributs ind1 et ind2 du noeud en cours) de la zone XMLprotected voidinitListeZones()voidreplaceSousZone(String zone, String sousZone, String valeur)Méthode de remplacement de la valeur d'une sous zone dans toutes les zones concernéesvoidreplaceSousZoneWithValue(String zone, String sousZone, String valeurInit, String newValeur)Remplacer la valeur d'une sous zone contenant une valeur donnée par une nouvelle valeurStringtoString()protected voidtraiterSousZonesXml(String zoneId, char[] indicateurs, List<org.dom4j.Node> listeSousZones, Integer indexZone)Méthode de traitement des sous zones d'une zone formattée en xml-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface fr.abes.cbs.notices.INotice
getListeZones, getNumEx, getType
-
-
-
-
Method Detail
-
initListeZones
protected void initListeZones()
-
createNoticeFromXml
protected void createNoticeFromXml(String noticeXml) throws org.dom4j.DocumentException, ZoneException
- Throws:
org.dom4j.DocumentExceptionZoneException
-
traiterSousZonesXml
protected void traiterSousZonesXml(String zoneId, char[] indicateurs, List<org.dom4j.Node> listeSousZones, Integer indexZone) throws ZoneException
Méthode de traitement des sous zones d'une zone formattée en xml- Parameters:
zoneId- : Objet XML correspondant à la zoneindicateurs- : tableau contenant les 2 indicateurslisteSousZones- : liste de nodes contenant l'ensemble des sous zones de la zoneindexZone- : index ou placer la zone dans la liste multimap- Throws:
ZoneException
-
getIndicateurs
public static char[] getIndicateurs(org.dom4j.Node zone)
Méthode de récupération des indicateurs (attributs ind1 et ind2 du noeud en cours) de la zone XML- Parameters:
zone-- Returns:
- tableau de caractères contenant les 2 indicateurs
-
addZone
public void addZone(String zone, String sousZone, String valeur) throws ZoneException
Méthode d'ajout d'une zone à la notice- Specified by:
addZonein interfaceINotice- Parameters:
zone- intitulé de la zone à ajoutersousZone- intitulé de la première sous zone à ajoutervaleur- valeur à affecter à la sous zone- Throws:
ZoneException
-
addZone
public void addZone(String zone, String sousZone, String valeur, char[] indicateurs) throws ZoneException
Méthode d'ajout d'une zone à la notice- Specified by:
addZonein interfaceINotice- Parameters:
zone- intitulé de la zone à ajoutersousZone- intitulé de la première sous zone à ajoutervaleur- valeur à affecter à la sous zoneindicateurs- tableau des indicateurs de la zone- Throws:
ZoneException
-
addZone
public void addZone(String zone, String valeur) throws ZoneException
Méthode d'ajout d'une zone dans le cas zone + valeur- Specified by:
addZonein interfaceINotice- Parameters:
zone- intitulé de la zone à créervaleur- valeur à affecter à la zone- Throws:
ZoneException
-
addZone
public void addZone(Zone zone)
Méthode d'ajout d'une zone à partir d'un objet zone déjà constitué
-
addZoneEtatCollection
public void addZoneEtatCollection(String zone, String sousZone, String valeur, char[] indicateurs) throws ZoneException
Méthode d'ajout d'une zone d'état de collection à la notice- Specified by:
addZoneEtatCollectionin interfaceINotice- Parameters:
zone- : intitulé de la zone d'état de collection : 955, 956, 957 ou 959sousZone- : sous zone à ajouter (la zone ne peut pas être créée sans sous zone)valeur- : valeur à affecter à la sous zoneindicateurs- : indicateurs- Throws:
ZoneException
-
findZones
public List<Zone> findZones(String label)
Retourne une liste de zones dont le label est passé en paramètre
-
findZone
public Zone findZone(String label, Integer index)
Récupération de la nième zone dont le label est passé en paramètre
-
findZoneWithPattern
public List<Zone> findZoneWithPattern(String zone, String sousZone, String pattern)
Méthode permettant de trouver une zone en spécifiant une sous zone contenant une valeur correspondant au pattern- Specified by:
findZoneWithPatternin interfaceINotice- Parameters:
zone- zone sur laquelle cherchersousZone- sous zone dans laquelle chercherpattern- valeur valeur devant être contenue dans la sous zone- Returns:
- liste des zones correspondant à la recherche
-
replaceSousZoneWithValue
public void replaceSousZoneWithValue(String zone, String sousZone, String valeurInit, String newValeur)
Remplacer la valeur d'une sous zone contenant une valeur donnée par une nouvelle valeur- Specified by:
replaceSousZoneWithValuein interfaceINotice- Parameters:
zone- zone sur laquelle effectuer le remplacementsousZone- sous zone sur laquelle effectuer le remplacementvaleurInit- valeur devant être contenue dans la sous zonenewValeur- nouvelle valeur à affecter (remplace l'intégralité de la valeur de la sous zone)
-
addSousZone
public void addSousZone(String zone, String sousZone, String valeur) throws ZoneException
Méthode d'ajout d'une sous zone dans une zone. En cas de zone répétée, toutes les zones seront concernées par l'ajout- Specified by:
addSousZonein interfaceINotice- Parameters:
zone- zone dans laquelle rajouter la sous zonesousZone- sous zone à ajoutervaleur- valeur à affecter à la sous zone- Throws:
ZoneException
-
addSousZone
public void addSousZone(String zone, String sousZone, String valeur, Integer index) throws ZoneException
Méthode d'ajout d'une sous zone dans une zone. En cas de zone répétée, uniquement la zone située à l'index en paramètre sera concernée- Specified by:
addSousZonein interfaceINotice- Parameters:
zone-sousZone-valeur- valeur à placer dans la sous zoneindex- de la zone en cours sur laquelle créer la sous zone (pour zones répétées uniquement)- Throws:
ZoneException
-
addSousZone
public void addSousZone(String zone, String sousZone, String valeur, String sousZoneBefore, String valeurBefore) throws ZoneException
Ajout d'une sous zone dans une zone. La sous zone sera placée après une sous zone contenant une valeur précise- Specified by:
addSousZonein interfaceINotice- Parameters:
zone-sousZone-valeur- valeur à placer dans la sous zonesousZoneBefore- sous zone précédentevaleurBefore- valeur de la sous zone précédente, après laquelle sera placée la nouvelle sous zone- Throws:
ZoneException
-
deleteZone
public void deleteZone(String zone, Integer index)
Méthode de suppression d'une zone à l'index donnée- Specified by:
deleteZonein interfaceINotice- Parameters:
zone-index- index de la zone à supprimer en cas de zone répétée. Si null, suppression de toutes les zones répétées concernées
-
deleteZone
public void deleteZone(String zone)
Méthode de suppression d'une zone de la notice (en cas de zones répétées, toutes les zones sont supprimées)- Specified by:
deleteZonein interfaceINotice- Parameters:
zone-
-
deleteZoneWithValue
public void deleteZoneWithValue(String zone, String sousZone, String valeur)
- Specified by:
deleteZoneWithValuein interfaceINotice
-
deleteSousZone
public void deleteSousZone(String zone, String sousZone)
Méthode de suppression d'une sous zone dans une zone en cas de zone répétée, toutes les sous zones qui se trouvent dans l'une des zones seront supprimées- Specified by:
deleteSousZonein interfaceINotice- Parameters:
zone-sousZone-
-
replaceSousZone
public void replaceSousZone(String zone, String sousZone, String valeur)
Méthode de remplacement de la valeur d'une sous zone dans toutes les zones concernées- Specified by:
replaceSousZonein interfaceINotice- Parameters:
zone- zone dans laquelle remplacer la sous zonesousZone- sous zone à remplacervaleur- nouvelle valeur à affecter à la sous zone
-
genererZonesSansSousZone
protected void genererZonesSansSousZone(String lineZone, String labelZone) throws ZoneException
Méthode de génération d'une zone sans sous zone (uniquement zone + valeur) à partir d'une chaine Unimarc- Parameters:
lineZone-labelZone-- Throws:
ZoneException
-
-