Package edu.sc.seis.seisFile.mseed
Class SeedRecord
java.lang.Object
edu.sc.seis.seisFile.mseed.SeedRecord
- Direct Known Subclasses:
ControlRecord
,DataRecord
public abstract class SeedRecord
extends java.lang.Object
-
Field Summary
Fields Modifier and Type Field Description protected static BlocketteFactory
blocketteFactory
protected java.util.List<Blockette>
blockettes
protected ControlHeader
header
protected int
RECORD_SIZE
-
Constructor Summary
Constructors Constructor Description SeedRecord(ControlHeader header)
-
Method Summary
Modifier and Type Method Description void
addBlockette(Blockette b)
static BlocketteFactory
getBlocketteFactory()
Blockette[]
getBlockettes()
Blockette[]
getBlockettes(int type)
ControlHeader
getControlHeader()
PartialBlockette
getFirstPartialBlockette()
if a seed blockette is continued in this record, a PartialBlockette will exist here.PartialBlockette
getLastPartialBlockette()
if a seed blockette is continued in the next record, a PartialBlockette will exist here.int
getNumBlockettes(int type)
int
getRecordSize()
Blockette
getUniqueBlockette(int type)
static SeedRecord
read(byte[] bytes)
static SeedRecord
read(java.io.DataInput inStream)
static SeedRecord
read(java.io.DataInput inStream, int defaultRecordSize)
allows setting of a default record size, making reading of miniseed that lack a Blockette1000.static void
setBlocketteFactory(BlocketteFactory bf)
java.lang.String
toString()
void
writeASCII(java.io.PrintWriter out)
void
writeASCII(java.io.PrintWriter out, java.lang.String indent)
-
Field Details
-
blocketteFactory
-
header
-
blockettes
-
RECORD_SIZE
protected int RECORD_SIZE
-
-
Constructor Details
-
Method Details
-
setBlocketteFactory
-
getBlocketteFactory
-
read
public static SeedRecord read(java.io.DataInput inStream) throws java.io.IOException, SeedFormatException- Throws:
java.io.IOException
SeedFormatException
-
read
- Throws:
java.io.IOException
SeedFormatException
-
read
public static SeedRecord read(java.io.DataInput inStream, int defaultRecordSize) throws java.io.IOException, SeedFormatExceptionallows setting of a default record size, making reading of miniseed that lack a Blockette1000. Compression is still unknown, but at least the record can be read in and manipulated. A value of 0 for defaultRecordSize means there must be a blockette 1000 or a MissingBlockette1000 will be thrown. If an exception is thrown and the underlying stream supports it, the stream will be reset to its state prior to any bytes being read. The buffer in the underlying stream must be large enough buffer any values read prior to the exception. A buffer sized to be the largest seed record expected is sufficient and so 4096 is a reasonable buffer size.- Throws:
java.io.IOException
SeedFormatException
-
addBlockette
- Throws:
SeedFormatException
-
getBlockettes
-
getUniqueBlockette
- Throws:
SeedFormatException
-
getNumBlockettes
- Throws:
SeedFormatException
-
getBlockettes
-
getFirstPartialBlockette
if a seed blockette is continued in this record, a PartialBlockette will exist here. It will know its type and length, but will not have all its needed bytes. The prior Seed Record, possibly with reading the subsequent Seed Record should allow the remaining portion of the data to be read. This returns null in the case of no first partial blockette existing. -
getLastPartialBlockette
if a seed blockette is continued in the next record, a PartialBlockette will exist here. It will know its type and length, but will not have all its needed bytes. Reading the subsequent Seed Record should allow the remaining portion of the data to be read. This returns null in the case of no partial blockette existing. -
getControlHeader
-
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-
writeASCII
public void writeASCII(java.io.PrintWriter out) throws java.io.IOException- Throws:
java.io.IOException
-
writeASCII
public void writeASCII(java.io.PrintWriter out, java.lang.String indent) throws java.io.IOException- Throws:
java.io.IOException
-
getRecordSize
public int getRecordSize()
-