Package org.ujmp.core.objectmatrix.impl
Class BufferedObjectMatrix
- java.lang.Object
-
- java.lang.Number
-
- org.ujmp.core.AbstractMatrix
-
- org.ujmp.core.genericmatrix.stub.AbstractGenericMatrix<java.lang.Object>
-
- org.ujmp.core.objectmatrix.stub.AbstractObjectMatrix
-
- org.ujmp.core.objectmatrix.stub.AbstractSparseObjectMatrix
-
- org.ujmp.core.objectmatrix.impl.BufferedObjectMatrix
-
- All Implemented Interfaces:
java.io.Flushable
,java.io.Serializable
,java.lang.Cloneable
,java.lang.Comparable<Matrix>
,HasMetaData
,BaseMatrix
,BooleanCalculations
,CanPerformCalculations
,DenseMatrix
,DenseMatrix2D
,DenseMatrixMultiD
,BasicDoubleCalculations
,DoubleCalculations
,BasicEntrywiseDoubleCalculations
,CreatorDoubleCalculations
,EntrywiseDoubleCalculations
,HyperbolicDoubleCalculations
,MiscEntrywiseDoubleCalculations
,RoundingDoubleCalculations
,TrigonometricDoubleCalculations
,DecompositionDoubleCalculations
,DiscretizeCalculations
,GeneralDoubleCalculations
,MiscGeneralDoubleCalculations
,MissingValueDoubleCalculations
,StatisticalDoubleCalculations
,BaseGenericMatrix<java.lang.Object>
,DenseGenericMatrix<java.lang.Object>
,DenseGenericMatrix2D<java.lang.Object>
,DenseGenericMatrixMultiD<java.lang.Object>
,GenericMatrix<java.lang.Object>
,GenericMatrix2D<java.lang.Object>
,GenericMatrixMultiD<java.lang.Object>
,SparseGenericMatrix<java.lang.Object>
,SparseGenericMatrix2D<java.lang.Object>
,SparseGenericMatrixMultiD<java.lang.Object>
,BaseMatrixProperties
,Clearable
,Conversions
,CoordinateFunctions
,CoreObject
,DistanceMeasures
,ExtendedMatrixProperties
,GettersAndSetters
,HasDescription
,HasGUIObject
,HasId
,HasLabel
,IntCalculations
,Matrix
,Matrix2D
,MatrixMultiD
,BaseObjectMatrix
,ObjectCalculations
,DenseObjectMatrix
,DenseObjectMatrix2D
,DenseObjectMatrixMultiD
,ObjectMatrix
,ObjectMatrix2D
,ObjectMatrixMultiD
,SparseObjectMatrix
,SparseObjectMatrix2D
,SparseObjectMatrixMultiD
,SparseMatrix
,SparseMatrix2D
,SparseMatrixMultiD
,StringCalculations
public class BufferedObjectMatrix extends AbstractSparseObjectMatrix implements java.io.Flushable
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
BufferedObjectMatrix.ReadThread
(package private) class
BufferedObjectMatrix.WriteThread
-
Field Summary
Fields Modifier and Type Field Description private static EmptyObject
EMPTYOBJECT
private Matrix
inputBuffer
private java.util.SortedSet<Coordinates>
inputToDoBuffer
private boolean
lazy
private Matrix
original
private int
outputBufferSize
private java.util.SortedSet<Coordinates>
outputToDoBuffer
private java.lang.Thread
readThread
private static long
serialVersionUID
private java.lang.Thread
writeThread
-
Fields inherited from class org.ujmp.core.AbstractMatrix
guiObject, size
-
Fields inherited from interface org.ujmp.core.BaseMatrix
ALL, COLUMN, LINK, NEW, NONE, ORIG, ROW, X, Y, Z
-
Fields inherited from interface org.ujmp.core.DenseMatrix
Factory
-
Fields inherited from interface org.ujmp.core.DenseMatrix2D
Factory
-
Fields inherited from interface org.ujmp.core.interfaces.HasDescription
DESCRIPTION
-
Fields inherited from interface org.ujmp.core.annotation.HasMetaData
DIMENSIONMETADATA
-
Fields inherited from interface org.ujmp.core.Matrix
chol, divideMatrix, divideScalar, eig, Factory, inv, lu, minusMatrix, minusScalar, mtimes, plusMatrix, plusScalar, qr, solve, svd, timesMatrix, timesScalar, transpose
-
Fields inherited from interface org.ujmp.core.objectmatrix.ObjectMatrix
Factory
-
Fields inherited from interface org.ujmp.core.SparseMatrix
Factory
-
Fields inherited from interface org.ujmp.core.SparseMatrix2D
Factory
-
-
Constructor Summary
Constructors Constructor Description BufferedObjectMatrix(Matrix original)
BufferedObjectMatrix(Matrix original, int outputBufferSize)
BufferedObjectMatrix(Matrix original, int outputBufferSize, int inputBufferSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Iterable<long[]>
availableCoordinates()
Returns an Iterator that only goes over the coordinates in the Matrix that are stored.void
clear()
boolean
containsCoordinates(long... coordinates)
Determines if the given Coordinates are part of the Matrix.void
flush()
java.lang.Object
getObject(long... coordinates)
int
getOutputBufferSize()
long[]
getSize()
long
getValueCount()
boolean
isReadOnly()
void
setInputBufferSize(int numElements)
void
setObject(java.lang.Object value, long... coordinates)
void
setOutputBufferSize(int numElements)
-
Methods inherited from class org.ujmp.core.objectmatrix.stub.AbstractSparseObjectMatrix
getFactory, isSparse
-
Methods inherited from class org.ujmp.core.objectmatrix.stub.AbstractObjectMatrix
getAsDouble, getValueType, setAsDouble
-
Methods inherited from class org.ujmp.core.genericmatrix.stub.AbstractGenericMatrix
getAsObject, getObject, getObject, setAsObject, setObject, setObject
-
Methods inherited from class org.ujmp.core.AbstractMatrix
abs, addMissing, allCoordinates, allValues, and, and, append, appendHorizontally, appendVertically, atimes, bigDecimalValue, bigIntegerValue, booleanValue, bootstrap, bootstrap, ceil, center, charValue, chebyshevDistanceTo, chol, clone, compareTo, containsBigDecimal, containsBigInteger, containsBoolean, containsByte, containsChar, containsDate, containsDouble, containsFloat, containsInt, containsLong, containsMissingValues, containsNull, containsObject, containsShort, containsString, convert, convertEncoding, corrcoef, cos, cosh, cosineSimilarity, cosineSimilarityTo, countMissing, cov, cumprod, cumsum, dateValue, delete, delete, delete, deleteColumns, deleteColumns, deleteColumnsWithMissingValues, deleteRows, deleteRows, deleteRowsWithMissingValues, det, diag, diff, discretize, discretize, discretizeToBoolean, discretizeToColumns, divide, divide, divide, divide, doubleValue, eig, eigSymm, eq, eq, equals, equalsAnnotation, equalsContent, euklideanDistance, euklideanDistanceTo, exp, exportTo, extractAnnotation, eye, fadeIn, fadeOut, fill, fireValueChanged, fireValueChanged, fireValueChanged, flipdim, floatValue, floor, ge, ge, getAbsoluteValueMean, getAbsoluteValueSum, getAsBigDecimal, getAsBigInteger, getAsBoolean, getAsByte, getAsByteArray, getAsChar, getAsDate, getAsFloat, getAsInt, getAsLong, getAsMatrix, getAsShort, getAsString, getColumnCount, getColumnForLabel, getColumnLabel, getColumnList, getCoordinatesOfMaximum, getCoordinatesOfMinimum, getCoreObjectId, getDescription, getDimensionCount, getDimensionLabel, getDimensionMetaData, getEuklideanValue, getGUIObject, getId, getLabel, getLabelObject, getMaxValue, getMeanValue, getMetaData, getMetaData, getMetaDataDimensionMatrix, getMetaDataDouble, getMetaDataMatrix, getMetaDataString, getMinValue, getPositionForLabel, getPreferredObject, getRMS, getRowCount, getRowForLabel, getRowLabel, getRowList, getSize, getStdValue, getValueSum, getZCount, ginv, grayScale, gt, gt, importFrom, impute, includeAnnotation, indexOfMax, indexOfMin, intValue, inv, invSPD, invSymm, isColumnVector, isDiagonal, isEmpty, isMultidimensionalMatrix, isResizable, isRowVector, isScalar, isSingular, isSPD, isSquare, isSymmetric, isTransient, le, le, log, log10, log2, logistic, longValue, lowerCase, lt, lt, lu, manhattenDistance, manhattenDistanceTo, max, mean, min, minkowskiDistance, minkowskiDistanceTo, minus, minus, minus, minus, mtimes, mtimes, mutualInf, nans, ne, ne, nonZeroCoordinates, norm1, norm2, normalize, normF, normInf, not, ones, or, or, pairedTTest, pdet, pinv, pinv, plus, plus, plus, plus, power, power, princomp, prod, qr, rand, randn, rank, removePunctuation, removeWords, replace, replaceMissingBy, replaceRegex, replaceRegex, reshape, round, save, save, select, select, select, selectColumns, selectColumns, selectedCoordinates, selectedCoordinates, selectRows, selectRows, setAsBigDecimal, setAsBigInteger, setAsBoolean, setAsByte, setAsByteArray, setAsChar, setAsDate, setAsFloat, setAsInt, setAsLong, setAsMatrix, setAsShort, setAsString, setColumnLabel, setContent, setDescription, setDimensionLabel, setDimensionMetaData, setId, setLabel, setMetaData, setMetaData, setMetaDataDimensionMatrix, setRowLabel, setSize, share, share, showGUI, shuffle, sign, sin, sinh, solve, solveSPD, solveSymm, sortrows, sqrt, squeeze, standardize, std, stem, stringValue, subMatrix, sum, svd, svd, swap, tan, tanh, tanh, tfIdf, times, times, times, times, toBigDecimalArray, toBigDecimalMatrix, toBigIntegerArray, toBigIntegerMatrix, toBooleanArray, toBooleanMatrix, toByteArray, toByteMatrix, toCharArray, toCharMatrix, toColumnVector, toDateArray, toDoubleArray, toDoubleMatrix, toFloatArray, toFloatMatrix, toHtml, toIntArray, toIntMatrix, toListMatrix, toLongArray, toLongMatrix, toMapMatrix, toObjectArray, toObjectMatrix, toRowVector, toSetMatrix, toShortArray, toShortMatrix, toString, toStringArray, toStringMatrix, trace, translate, transpose, transpose, transpose, tril, triu, unique, uniqueValueCount, upperCase, var, xor, xor, zeros
-
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.ujmp.core.interfaces.BaseMatrixProperties
allValues, equals, equalsAnnotation, equalsContent, getColumnCount, getColumnList, getDimensionCount, getRowCount, getRowList, getSize, getValueType, getZCount, isColumnVector, isDiagonal, isEmpty, isMultidimensionalMatrix, isResizable, isRowVector, isScalar, isSingular, isSquare, isSymmetric, isTransient, setSize, toString
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.basic.BasicDoubleCalculations
atimes, divide, divide, divide, divide, minus, minus, minus, minus, mtimes, mtimes, plus, plus, plus, plus, times, times, times, times
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.entrywise.basic.BasicEntrywiseDoubleCalculations
abs, exp, log, log10, log2, logistic, power, power, sign, sqrt
-
Methods inherited from interface org.ujmp.core.booleanmatrix.calculation.BooleanCalculations
and, and, eq, eq, ge, ge, gt, gt, le, le, lt, lt, ne, ne, not, or, or, xor, xor
-
Methods inherited from interface org.ujmp.core.interfaces.Conversions
toBigDecimalMatrix, toBigIntegerMatrix, toBooleanMatrix, toByteMatrix, toCharMatrix, toDoubleMatrix, toFloatMatrix, toIntMatrix, toListMatrix, toLongMatrix, toMapMatrix, toObjectMatrix, toSetMatrix, toShortMatrix, toStringMatrix
-
Methods inherited from interface org.ujmp.core.interfaces.CoordinateFunctions
allCoordinates, getCoordinatesOfMaximum, getCoordinatesOfMinimum, nonZeroCoordinates, selectedCoordinates, selectedCoordinates
-
Methods inherited from interface org.ujmp.core.interfaces.CoreObject
getCoreObjectId
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.entrywise.creators.CreatorDoubleCalculations
eye, nans, ones, rand, randn, zeros
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.general.decomposition.DecompositionDoubleCalculations
chol, eig, eigSymm, ginv, inv, invSPD, invSymm, lu, pinv, pinv, princomp, qr, solve, solveSPD, solveSymm, svd, svd
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.general.discretize.DiscretizeCalculations
discretize, discretize, discretizeToBoolean, discretizeToColumns
-
Methods inherited from interface org.ujmp.core.interfaces.DistanceMeasures
chebyshevDistanceTo, cosineSimilarity, cosineSimilarityTo, euklideanDistance, euklideanDistanceTo, manhattenDistance, manhattenDistanceTo, minkowskiDistance, minkowskiDistanceTo
-
Methods inherited from interface org.ujmp.core.interfaces.ExtendedMatrixProperties
bigDecimalValue, bigIntegerValue, booleanValue, byteValue, charValue, containsBigDecimal, containsBigInteger, containsBoolean, containsByte, containsChar, containsDate, containsDouble, containsFloat, containsInt, containsLong, containsMissingValues, containsNull, containsObject, containsShort, containsString, dateValue, det, doubleValue, floatValue, getAbsoluteValueMean, getAbsoluteValueSum, getEuklideanValue, getMaxValue, getMeanValue, getMinValue, getRMS, getStdValue, getValueSum, intValue, isSPD, longValue, norm1, norm2, normF, normInf, pdet, rank, setContent, shortValue, stringValue, trace
-
Methods inherited from interface org.ujmp.core.interfaces.GettersAndSetters
getAsBigDecimal, getAsBigInteger, getAsBoolean, getAsByte, getAsByteArray, getAsChar, getAsDate, getAsDouble, getAsFloat, getAsInt, getAsLong, getAsMatrix, getAsObject, getAsShort, getAsString, getPreferredObject, setAsBigDecimal, setAsBigInteger, setAsBoolean, setAsByte, setAsByteArray, setAsChar, setAsDate, setAsDouble, setAsFloat, setAsInt, setAsLong, setAsMatrix, setAsObject, setAsShort, setAsString, toBigDecimalArray, toBigIntegerArray, toBooleanArray, toByteArray, toCharArray, toDateArray, toDoubleArray, toFloatArray, toIntArray, toLongArray, toObjectArray, toShortArray, toStringArray
-
Methods inherited from interface org.ujmp.core.interfaces.HasDescription
getDescription, setDescription
-
Methods inherited from interface org.ujmp.core.interfaces.HasGUIObject
getGUIObject, showGUI
-
Methods inherited from interface org.ujmp.core.interfaces.HasLabel
getLabel, getLabelObject, setLabel
-
Methods inherited from interface org.ujmp.core.annotation.HasMetaData
getColumnForLabel, getColumnLabel, getDimensionLabel, getDimensionMetaData, getMetaData, getMetaData, getMetaDataDimensionMatrix, getMetaDataDouble, getMetaDataMatrix, getMetaDataString, getPositionForLabel, getRowForLabel, getRowLabel, setColumnLabel, setDimensionLabel, setDimensionMetaData, setMetaData, setMetaData, setMetaDataDimensionMatrix, setRowLabel
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.entrywise.hyperbolic.HyperbolicDoubleCalculations
cosh, sinh, tanh, tanh
-
Methods inherited from interface org.ujmp.core.Matrix
clone, exportTo, fireValueChanged, fireValueChanged, fireValueChanged, importFrom, save, save, share, share, toHtml
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.entrywise.misc.MiscEntrywiseDoubleCalculations
grayScale
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.general.misc.MiscGeneralDoubleCalculations
append, appendHorizontally, appendVertically, center, fadeIn, fadeOut, normalize, replaceMissingBy, standardize
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.general.missingvalues.MissingValueDoubleCalculations
addMissing, countMissing, deleteColumnsWithMissingValues, deleteRowsWithMissingValues, impute
-
Methods inherited from interface org.ujmp.core.objectmatrix.calculation.ObjectCalculations
bootstrap, bootstrap, convert, delete, delete, delete, deleteColumns, deleteColumns, deleteRows, deleteRows, diag, extractAnnotation, fill, flipdim, includeAnnotation, replace, reshape, select, select, select, selectColumns, selectColumns, selectRows, selectRows, shuffle, sortrows, squeeze, subMatrix, swap, toColumnVector, toRowVector, transpose, transpose, transpose, tril, triu, unique, uniqueValueCount
-
Methods inherited from interface org.ujmp.core.objectmatrix.ObjectMatrix2D
getObject, getObject, setObject, setObject
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.entrywise.rounding.RoundingDoubleCalculations
ceil, floor, round
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.general.statistical.StatisticalDoubleCalculations
corrcoef, cov, cumprod, cumsum, diff, indexOfMax, indexOfMin, max, mean, min, mutualInf, pairedTTest, prod, std, sum, var
-
Methods inherited from interface org.ujmp.core.stringmatrix.calculation.StringCalculations
convertEncoding, lowerCase, removePunctuation, removeWords, replaceRegex, replaceRegex, stem, tfIdf, translate, upperCase
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.entrywise.trigonometric.TrigonometricDoubleCalculations
cos, sin, tan
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
lazy
private boolean lazy
-
inputBuffer
private Matrix inputBuffer
-
outputToDoBuffer
private java.util.SortedSet<Coordinates> outputToDoBuffer
-
inputToDoBuffer
private java.util.SortedSet<Coordinates> inputToDoBuffer
-
outputBufferSize
private int outputBufferSize
-
original
private Matrix original
-
writeThread
private java.lang.Thread writeThread
-
readThread
private java.lang.Thread readThread
-
EMPTYOBJECT
private static final EmptyObject EMPTYOBJECT
-
-
Method Detail
-
availableCoordinates
public java.lang.Iterable<long[]> availableCoordinates()
Description copied from interface:CoordinateFunctions
Returns an Iterator that only goes over the coordinates in the Matrix that are stored. For most Matrices, this is the same as allCoordinates(). For sparse Matrices, it iterates only over the entries in it.- Specified by:
availableCoordinates
in interfaceCoordinateFunctions
- Returns:
- Iterable over the saved entries in a Matrix.
-
getSize
public long[] getSize()
- Specified by:
getSize
in interfaceBaseMatrixProperties
- Overrides:
getSize
in classAbstractMatrix
-
getObject
public java.lang.Object getObject(long... coordinates)
- Specified by:
getObject
in interfaceGenericMatrixMultiD<java.lang.Object>
-
getValueCount
public long getValueCount()
- Specified by:
getValueCount
in interfaceBaseMatrixProperties
- Overrides:
getValueCount
in classAbstractMatrix
-
setObject
public void setObject(java.lang.Object value, long... coordinates)
- Specified by:
setObject
in interfaceGenericMatrixMultiD<java.lang.Object>
- Overrides:
setObject
in classAbstractGenericMatrix<java.lang.Object>
-
setInputBufferSize
public void setInputBufferSize(int numElements)
-
setOutputBufferSize
public void setOutputBufferSize(int numElements)
-
flush
public void flush() throws java.io.IOException
- Specified by:
flush
in interfacejava.io.Flushable
- Throws:
java.io.IOException
-
getOutputBufferSize
public int getOutputBufferSize()
-
containsCoordinates
public boolean containsCoordinates(long... coordinates)
Description copied from interface:CoordinateFunctions
Determines if the given Coordinates are part of the Matrix. If the Matrix is dense, true is returned for all Coordinates smaller than the Matrix's size. For sparse Matrices, this function checks if the coordinates are actually stored in the matrix or not.- Specified by:
containsCoordinates
in interfaceCoordinateFunctions
- Parameters:
coordinates
- The coordinates to check- Returns:
- a boolean stating if the coordinates are part of the Matrix
-
isReadOnly
public boolean isReadOnly()
- Specified by:
isReadOnly
in interfaceBaseMatrixProperties
- Overrides:
isReadOnly
in classAbstractMatrix
-
-