001/* 002 * BioJava development code 003 * 004 * This code may be freely distributed and modified under the 005 * terms of the GNU Lesser General Public Licence. This should 006 * be distributed with the code. If you do not have a copy, 007 * see: 008 * 009 * http://www.gnu.org/copyleft/lesser.html 010 * 011 * Copyright for this code is held jointly by the individual 012 * authors. These should be listed in @author doc comments. 013 * 014 * For more information on the BioJava project and its aims, 015 * or to join the biojava-l mailing list, visit the home page 016 * at: 017 * 018 * http://www.biojava.org/ 019 * 020 */ 021package org.biojavax.bio.phylo.io.nexus; 022 023import org.biojava.bio.seq.io.ParseException; 024 025/** 026 * Builds Nexus distances blocks. 027 * 028 * @author Richard Holland 029 * @author Tobias Thierer 030 * @author Jim Balhoff 031 * @since 1.6 032 */ 033public class DistancesBlockBuilder extends NexusBlockBuilder.Abstract implements 034 DistancesBlockListener { 035 036 private DistancesBlock block; 037 038 protected void addComment(final NexusComment comment) { 039 this.block.addComment(comment); 040 } 041 042 protected NexusBlock startBlockObject() { 043 this.block = new DistancesBlock(); 044 this.resetStatus(); 045 return this.block; 046 } 047 048 private void resetStatus() { 049 // Nothing to do. 050 } 051 052 public void endBlock() { 053 // Don't care. 054 } 055 056 public void endTokenGroup() { 057 // Nothing to do. 058 } 059 060 public void addMatrixEntry(String taxa) { 061 this.block.addMatrixEntry(taxa); 062 } 063 064 public void addTaxLabel(String taxLabel) throws ParseException { 065 this.block.addTaxLabel(taxLabel); 066 } 067 068 public void appendMatrixData(String taxa, Object data) { 069 this.block.appendMatrixData(taxa, data); 070 } 071 072 public void setDimensionsNChar(int dimensionsNChar) { 073 this.block.setDimensionsNChar(dimensionsNChar); 074 } 075 076 public void setDimensionsNTax(int dimensionsNTax) { 077 this.block.setDimensionsNTax(dimensionsNTax); 078 } 079 080 public void setInterleaved(boolean interleaved) { 081 this.block.setInterleaved(interleaved); 082 } 083 084 public void setLabels(boolean labels) { 085 this.block.setLabels(labels); 086 } 087 088 public void setMissing(String missing) { 089 this.block.setMissing(missing); 090 } 091 092 public void setDiagonal(boolean diagonal) { 093 this.block.setDiagonal(diagonal); 094 } 095 096 public void setTriangle(String triangle) { 097 this.block.setTriangle(triangle); 098 } 099 100}