Package io.jenetics.xml
Class Writers.Genotypes
- java.lang.Object
-
- io.jenetics.xml.Writers.Genotypes
-
- Enclosing class:
- Writers
public static final class Writers.Genotypes extends Object
This class contains static writer methods forGenotype
objects.Writer code
final Genotype<DoubleGene> gt = Genotype.of( DoubleChromosome.of(0.0, 1.0, 3), DoubleChromosome.of(0.0, 1.0, 2) ); final Writer<Collection<Genotype<DoubleGene>>> writer = Writers.Genotypes.writer(Writers.DoubleChromosome.writer()); try (AutoCloseableXMLStreamWriter xml = XML.writer(System.out, " ")) { writer.write(asList(value), xml); }
<genotypes length="1"> <genotype length="2" ngenes="5"> <double-chromosome length="3"> <min>0.0</min> <max>1.0</max> <alleles> <allele>0.27251556008507416</allele> <allele>0.003140816229067145</allele> <allele>0.43947528327497376</allele> </alleles> </double-chromosome> <double-chromosome length="2"> <min>0.0</min> <max>1.0</max> <alleles> <allele>0.4026521545744768</allele> <allele>0.36137605952663554</allele> <alleles> </double-chromosome> </genotype> </genotypes>
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <A,G extends Gene<A,G>,C extends Chromosome<G>>
voidwrite(OutputStream out, Collection<Genotype<G>> data, Writer<? super C> chromosomeWriter)
Write the givenGenotype
to the given output stream.static <A,G extends Gene<A,G>,C extends Chromosome<G>>
voidwrite(OutputStream out, Collection<Genotype<G>> data, String indent, Writer<? super C> chromosomeWriter)
Write the givenGenotype
to the given output stream.static <A,G extends Gene<A,G>,C extends Chromosome<G>>
Writer<Collection<Genotype<G>>>writer(Writer<? super C> writer)
Create a writer for genotypes of arbitrary chromosomes.
-
-
-
Method Detail
-
writer
public static <A,G extends Gene<A,G>,C extends Chromosome<G>> Writer<Collection<Genotype<G>>> writer(Writer<? super C> writer)
Create a writer for genotypes of arbitrary chromosomes. How to write the genotypes chromosomes is defined by the givenWriter
. The following writer allows to write double-gene chromosomes:final Writer<Collection<Genotype<DoubleGene>>> writer = Writers.Genotypes.writer(Writers.DoubleChromosome.writer());
- Type Parameters:
A
- the allele typeG
- the gene typeC
- the chromosome type- Parameters:
writer
- the chromosome writer- Returns:
- a new genotype writer
- Throws:
NullPointerException
- if the given chromosomewriter
isnull
-
write
public static <A,G extends Gene<A,G>,C extends Chromosome<G>> void write(OutputStream out, Collection<Genotype<G>> data, String indent, Writer<? super C> chromosomeWriter) throws XMLStreamException
Write the givenGenotype
to the given output stream.- Type Parameters:
A
- the allele typeG
- the gene typeC
- the chromosome type- Parameters:
out
- the target output streamdata
- the genotypes to writeindent
- the XML level indentationchromosomeWriter
- the chromosome writer used to write the genotypes- Throws:
XMLStreamException
- if an error occurs while writing the chromosomeNullPointerException
- if the one of the arguments isnull
-
write
public static <A,G extends Gene<A,G>,C extends Chromosome<G>> void write(OutputStream out, Collection<Genotype<G>> data, Writer<? super C> chromosomeWriter) throws XMLStreamException
Write the givenGenotype
to the given output stream.- Type Parameters:
A
- the allele typeG
- the gene typeC
- the chromosome type- Parameters:
out
- the target output streamdata
- the genotypes to writechromosomeWriter
- the chromosome writer used to write the genotypes- Throws:
XMLStreamException
- if an error occurs while writing the chromosomeNullPointerException
- if the one of the arguments isnull
-
-