Package org.nuiton.util
Class MatrixMap.AbstractMatrixMap<E>
java.lang.Object
org.nuiton.util.MatrixMap.AbstractMatrixMap<E>
- Type Parameters:
E- FIXME
- All Implemented Interfaces:
java.lang.Iterable<E>,MatrixMap<E>
- Direct Known Subclasses:
MatrixMap.MatrixMapFixed,MatrixMap.SubMatrix
public abstract static class MatrixMap.AbstractMatrixMap<E> extends java.lang.Object implements MatrixMap<E>
Classe abstraite permettant de facilement implanter les matrice fixe,
elastique et submatrix
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.nuiton.util.MatrixMap
MatrixMap.AbstractMatrixMap<E>, MatrixMap.Factory, MatrixMap.MapFunction<E>, MatrixMap.Matrix<E>, MatrixMap.MatrixHelper, MatrixMap.MatrixIterator<E>, MatrixMap.MatrixMapElastic<E>, MatrixMap.MatrixMapFixed<E>, MatrixMap.MatrixMapIterator<E>, MatrixMap.MatrixMapIteratorImpl<E>, MatrixMap.SemanticList<T>, MatrixMap.SubMatrix<E>, MatrixMap.Vector<E> -
Field Summary
Fields Modifier and Type Field Description protected int[]dimprotected java.lang.String[]dimNamesprotected java.lang.Stringnameprotected MatrixMap.SemanticList[]semantics -
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractMatrixMap(int[] dim)protectedAbstractMatrixMap(java.lang.String name, int[] dim)protectedAbstractMatrixMap(java.lang.String name, int[] dim, java.lang.String[] dimNames)AbstractMatrixMap(java.lang.String name, java.lang.String[] dimNames, java.util.List... semantics)AbstractMatrixMap(java.lang.String name, java.util.List... semantics)AbstractMatrixMap(java.util.List... semantics)AbstractMatrixMap(MatrixMap<E> matrix) -
Method Summary
Modifier and Type Method Description MatrixMapclone()MatrixMap<E>copy()Copy la matrice pour pouvoir la modifier sans perdre les donnees initiales.booleanequals(java.lang.Object o)booleanequals(MatrixMap mat)Verifie que deux matrices sont completement equals (dimension, semantique, nom, valeur, ...)booleanequalsValues(MatrixMap mat)Verifie si les matrices sont egales en ne regardant que les valeurs et pas les semantiquesMatrixMap<E>extend(java.lang.Object... sems)Permet de retourner une nouvelle matrice ayant les semantiques passées en parametre.int[]getDim()intgetDim(int d)intgetDimCount()java.lang.StringgetDimensionName(int dim)java.lang.String[]getDimensionNames()java.lang.StringgetName()MatrixMap.SemanticListgetSemantic(int dim)MatrixMap.SemanticList[]getSemantics()MatrixMap<E>getSubMatrix(int[]... elems)Permet de prendre une sous matrice dans la matrice courante.MatrixMap<E>getSubMatrix(int dim, int[] elem)Permet de prendre une sous matrice dans la matrice courante.MatrixMap<E>getSubMatrix(int dim, int start, int nb)Permet de prendre une sous matrice dans la matrice courante.MatrixMap<E>getSubMatrix(int dim, java.lang.Object... elem)Permet de prendre une sous matrice dans la matrice courante.MatrixMap<E>getSubMatrix(int dim, java.lang.Object start, int nb)Permet de prendre une sous matrice dans la matrice courante.MatrixMap<E>getSubMatrix(java.lang.Object[]... elems)Permet de prendre une sous matrice dans la matrice courante.MatrixMap<E>getSubMatrixOnSemantic(int dim, java.lang.Object... elem)Add to desambiguas some call with xpath engine, but do the same thinggetSubMatrix(int, Object[])EgetValue(java.lang.Object... coordinates)Retourne l'element a une certaine position en utilisant les semantiquesprotected voidinit(int[] dim)booleanisValidCoordinates(int[] dim)booleanisValidCoordinates(java.lang.Object[] semantics)Indique si les semantiques passées en argument sont valable pour la matrice couranteMatrixMap<E>map(MatrixMap.MapFunction<E> f)Retourne la matrice elle meme.protected MatrixMap<E>paste(int[] origin, MatrixMap<E> mat)MatrixMap<E>paste(MatrixMap<E> mat)Modifie la matrice actuel en metant les valeurs de mat passé en parametre La copie se fait en fonction de la semantique, si un element dans une dimension n'est pas trouvé, alors il est passéMatrixMappasteIndex(MatrixMap<E> mat)Copie une matrice dans la matrice actuelle.MatrixMap<E>reduce()Reduit la matrice de sorte que toutes les dimensions qui n'ont qu'un élement soit supprimée.MatrixMap<E>reduce(int minNbDim)Reduit la matrice de sorte que toutes les dimensions qui n'ont qu'un élement soit supprimée.protected MatrixMap<E>reduce(java.util.List<java.lang.String> dimName, java.util.List<java.util.List> sem, int[] correspondance)Create new matrice from the current matrix.MatrixMap<E>reduceDims(int... dims)Reduit le matrice seulement sur les dimensions passées en argument.voidsetDimensionName(int dim, java.lang.String name)voidsetDimensionNames(java.lang.String[] names)voidsetName(java.lang.String name)voidsetSemantic(int dim, java.util.List sem)voidsetValue(E value, java.lang.Object... coordinates)Modifie l'element a une certaine position en utilisant les semantiquesjava.lang.StringtoString()Si la matrice est 1Djava.lang.StringtoStringGeneric()Representation string de la matrice quelque soit le nombre de dimension
-
Field Details
-
Constructor Details
-
AbstractMatrixMap
protected AbstractMatrixMap(int[] dim) -
AbstractMatrixMap
public AbstractMatrixMap(java.util.List... semantics) -
AbstractMatrixMap
protected AbstractMatrixMap(java.lang.String name, int[] dim) -
AbstractMatrixMap
protected AbstractMatrixMap(java.lang.String name, int[] dim, java.lang.String[] dimNames) -
AbstractMatrixMap
public AbstractMatrixMap(java.lang.String name, java.util.List... semantics) -
AbstractMatrixMap
public AbstractMatrixMap(java.lang.String name, java.lang.String[] dimNames, java.util.List... semantics) -
AbstractMatrixMap
-
-
Method Details
-
init
protected void init(int[] dim) -
copy
Copy la matrice pour pouvoir la modifier sans perdre les donnees initiales. -
clone
- Overrides:
clonein classjava.lang.Object
-
getSemantics
- Specified by:
getSemanticsin interfaceMatrixMap<E>
-
getSemantic
- Specified by:
getSemanticin interfaceMatrixMap<E>
-
setSemantic
public void setSemantic(int dim, java.util.List sem)- Specified by:
setSemanticin interfaceMatrixMap<E>
-
setName
public void setName(java.lang.String name) -
getName
public java.lang.String getName() -
getDimensionNames
public java.lang.String[] getDimensionNames()- Specified by:
getDimensionNamesin interfaceMatrixMap<E>
-
setDimensionNames
public void setDimensionNames(java.lang.String[] names)- Specified by:
setDimensionNamesin interfaceMatrixMap<E>
-
setDimensionName
public void setDimensionName(int dim, java.lang.String name)- Specified by:
setDimensionNamein interfaceMatrixMap<E>
-
getDimensionName
public java.lang.String getDimensionName(int dim)- Specified by:
getDimensionNamein interfaceMatrixMap<E>
-
getDimCount
public int getDimCount()- Specified by:
getDimCountin interfaceMatrixMap<E>
-
getDim
public int[] getDim() -
getDim
public int getDim(int d) -
map
Retourne la matrice elle meme. Les modifications sont faites directement dessus -
getValue
Description copied from interface:MatrixMapRetourne l'element a une certaine position en utilisant les semantiques -
setValue
Description copied from interface:MatrixMapModifie l'element a une certaine position en utilisant les semantiques -
equals
public boolean equals(java.lang.Object o)- Overrides:
equalsin classjava.lang.Object
-
equals
Description copied from interface:MatrixMapVerifie que deux matrices sont completement equals (dimension, semantique, nom, valeur, ...) -
equalsValues
Verifie si les matrices sont egales en ne regardant que les valeurs et pas les semantiques- Specified by:
equalsValuesin interfaceMatrixMap<E>- Parameters:
mat- FIXME- Returns:
- equality on values
-
toString
public java.lang.String toString()Si la matrice est 1DMaMatrice(matrix1D) [ MaDimName: Dim1, Dim2, Dim3, v1, v2, v3 ]Si la matrice est 2D
MaMatrice(matrix2D) [ MaDimX MaDimY Dim1, Dim2, Dim3, DimA v1, v2, v3 DimB v4, v5, v6 DimC v7, v8, v9 ]Pour les autres types de matrice la methode
toStringGeneric()est utilise- Overrides:
toStringin classjava.lang.Object- Returns:
- FIXME
-
toStringGeneric
public java.lang.String toStringGeneric()Representation string de la matrice quelque soit le nombre de dimension- Specified by:
toStringGenericin interfaceMatrixMap<E>- Returns:
- FIXME
-
isValidCoordinates
public boolean isValidCoordinates(int[] dim) -
isValidCoordinates
public boolean isValidCoordinates(java.lang.Object[] semantics)Description copied from interface:MatrixMapIndique si les semantiques passées en argument sont valable pour la matrice courante- Specified by:
isValidCoordinatesin interfaceMatrixMap<E>- Parameters:
semantics- FIXME- Returns:
- FIXME
-
pasteIndex
Copie une matrice dans la matrice actuelle. La matrice à copier à le même nombre de dimension. Si la matrice à copier est trop grande seul les éléments pouvant être copier le seront.- Parameters:
mat- la matrice à copier- Returns:
- return la matrice courante.
-
paste
-
paste
Modifie la matrice actuel en metant les valeurs de mat passé en parametre La copie se fait en fonction de la semantique, si un element dans une dimension n'est pas trouvé, alors il est passé -
getSubMatrix
Permet de prendre une sous matrice dans la matrice courante. La sous matrice a le même nombre de dimensions mais sur une des dimensions on ne prend que certain élément.- Parameters:
dim- la dimension dans lequel on veut une sous matrice si dim est négatif alors la dimension est prise à partir de la fin par exemple si l'on veut la derniere dimension il faut passer -1 pour dimstart- la position dans dim d'ou il faut partir pour prendre la sous matrice.nb- le nombre d'élément à prendre dans la dimension. si nb est inférieur ou égal à 0 alors cela indique qu'il faut prendre tous les éléments jusqu'à la fin de la dimension.- Returns:
- new matrix
-
getSubMatrix
Permet de prendre une sous matrice dans la matrice courante. La sous matrice a le même nombre de dimensions mais sur une des dimensions on ne prend que certain élément.- Specified by:
getSubMatrixin interfaceMatrixMap<E>- Parameters:
dim- la dimension dans lequel on veut une sous matricestart- la position dans dim d'ou il faut partir pour prendre la sous matrice. 0 ≤ start < dim.size si start est négatif alors la position de départ est calculé par rapport à la fin de la dimension, pour avoir le dernier élément il faut passer -1nb- le nombre d'élément à prendre dans la dimension si nb est inférieur ou égal à 0 alors cela indique qu'il faut prendre tous les éléments jusqu'à la fin de la dimension.- Returns:
- new matrix
-
getSubMatrixOnSemantic
Add to desambiguas some call with xpath engine, but do the same thinggetSubMatrix(int, Object[])- Parameters:
dim- FIXMEelem- FIXME- Returns:
- new matrix
-
getSubMatrix
Permet de prendre une sous matrice dans la matrice courante. La sous matrice a le même nombre de dimensions mais sur une des dimensions on ne prend que certain élément.- Specified by:
getSubMatrixin interfaceMatrixMap<E>- Parameters:
dim- la dimension dans lequel on veut une sous matriceelem- les éléments dans la dimension à conserver- Returns:
- new matrix
-
getSubMatrix
Permet de prendre une sous matrice dans la matrice courante.Réalise plusieurs appels à
getSubMatrix(int, Object...)suivant l'implémentation.- Specified by:
getSubMatrixin interfaceMatrixMap<E>- Parameters:
elems- les éléments dans la dimension à conserver- Returns:
- new matrix
-
getSubMatrix
Permet de prendre une sous matrice dans la matrice courante. La sous matrice a le même nombre de dimensions mais sur une des dimensions on ne prend que certain élément.- Parameters:
dim- la dimension dans lequel on veut une sous matriceelem- les indices des éléments dans la dimension à conserver- Returns:
- new matrix
-
getSubMatrix
Permet de prendre une sous matrice dans la matrice courante.Réalise plusieurs appels a
getSubMatrix(int, int[])suivant l'implementation.- Parameters:
elems- les indices des éléments pour chaque dimension à conserver- Returns:
- new matrix
-
reduce
Reduit la matrice de sorte que toutes les dimensions qui n'ont qu'un élement soit supprimée. Au pire cette méthode retourne une matrice à une seule dimension à un seul élément. -
reduceDims
Reduit le matrice seulement sur les dimensions passées en argument. Si une des dimensions passées en arguement n'a pas qu'un seul élément, cette dimension n'est pas prise en compte.- Specified by:
reduceDimsin interfaceMatrixMap<E>- Parameters:
dims- les dimensions sur lequel il faut faire la reduction- Returns:
- une nouvelle matrice
-
reduce
Reduit la matrice de sorte que toutes les dimensions qui n'ont qu'un élement soit supprimée. Au pire cette méthode retourne une matrice à une seule dimension à un seul élément. -
reduce
protected MatrixMap<E> reduce(java.util.List<java.lang.String> dimName, java.util.List<java.util.List> sem, int[] correspondance)Create new matrice from the current matrix.- Parameters:
dimName- dimension name for new matrixsem- semantic for new matrixcorrespondance- array to do the link between current matrix and returned matrix- Returns:
- new matrix
-
extend
Description copied from interface:MatrixMapPermet de retourner une nouvelle matrice ayant les semantiques passées en parametre. La nouvelle matrice contient les données de l'ancienne matrice par copie en fonction des semantiques
-