|
Gephi Toolkit Javadoc | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.gephi.datalab.impl.AttributeColumnsControllerImpl
public class AttributeColumnsControllerImpl
Implementation of the AttributeColumnsController interface declared in the Data Laboratory API.
AttributeColumnsController
Constructor Summary | |
---|---|
AttributeColumnsControllerImpl()
|
Method Summary | |
---|---|
AttributeColumn |
addAttributeColumn(AttributeTable table,
java.lang.String title,
AttributeType type)
Adds a new column to the specified table with the given title and type of column. |
java.util.Map<java.lang.Object,java.lang.Integer> |
calculateColumnValuesFrequencies(AttributeTable table,
AttributeColumn column)
Calculates the absolute frequency of appearance of each value of the given column and returns a Map containing each different value mapped to its frequency of appearance. |
boolean |
canChangeColumnData(AttributeColumn column)
Indicates if the Data Laboratory API behaviour allows to change a value of the given column of a table. |
boolean |
canClearColumnData(AttributeColumn column)
Indicates if the Data Laboratory API behaviour allows to set as null a value of the given column of a table. |
boolean |
canDeleteColumn(AttributeColumn column)
Indicates if the Data Laboratory API behaviour allows to delete the given column of a table. |
void |
clearColumnData(AttributeTable table,
AttributeColumn column)
Clears all rows data for a given column of a table (nodes table or edges table) |
void |
clearEdgeData(Edge edge,
AttributeColumn[] columnsToClear)
Clears all edge attributes except computed attributes and id. |
void |
clearEdgesData(Edge[] edges,
AttributeColumn[] columnsToClear)
Clears all the edges attributes except computed attributes and id, checking first that the edges are in the graph. |
void |
clearNodeData(Node node,
AttributeColumn[] columnsToClear)
Clears all node attributes except computed attributes and id, checking first that the node is in the graph. |
void |
clearNodesData(Node[] nodes,
AttributeColumn[] columnsToClear)
Clears all the nodes attributes except computed attributes and id. |
void |
clearRowData(Attributes row,
AttributeColumn[] columnsToClear)
Clears row attributes except computed attributes and id if node/edge row. |
void |
copyColumnDataToOtherColumn(AttributeTable table,
AttributeColumn sourceColumn,
AttributeColumn targetColumn)
Copies all row values of a column to another column. |
void |
copyEdgeDataToOtherEdges(Edge edge,
Edge[] otherEdges,
AttributeColumn[] columnsToCopy)
Copies attributes data of the given edge to the other rows except computed attributes and id. |
void |
copyNodeDataToOtherNodes(Node node,
Node[] otherNodes,
AttributeColumn[] columnsToCopy)
Copies attributes data of the given node to the other rows except computed attributes and id. |
void |
copyRowDataToOtherRows(Attributes row,
Attributes[] otherRows,
AttributeColumn[] columnsToCopy)
Copies attributes data of the given row to the other rows except computed attributes and id if node/edge. |
AttributeColumn |
createBooleanMatchesColumn(AttributeTable table,
AttributeColumn column,
java.lang.String newColumnTitle,
java.util.regex.Pattern pattern)
Creates a new BOOLEAN column from the given column and regular expression
filling it with boolean values that indicate if each of the old column values match the regular expression. |
AttributeColumn |
createFoundGroupsListColumn(AttributeTable table,
AttributeColumn column,
java.lang.String newColumnTitle,
java.util.regex.Pattern pattern)
Creates a new LIST_STRING column from the given column and regular expression with values that are
the list of matching groups for the given regular expression for each row. |
void |
deleteAttributeColumn(AttributeTable table,
AttributeColumn column)
Deletes the specified column from a table if the table has the column and data laboratory behaviour allows to delete it (see canDeleteColumn method). |
AttributeColumn |
duplicateColumn(AttributeTable table,
AttributeColumn column,
java.lang.String title,
AttributeType type)
Duplicates a given column of a table and copies al row values. |
void |
fillColumnWithValue(AttributeTable table,
AttributeColumn column,
java.lang.String value)
Fills the data values of a given column of a table with a value as a String, parsing it for the AttributeType of the column. |
java.lang.Number[] |
getColumnNumbers(AttributeTable table,
AttributeColumn column)
Prepares an array with all not null numbers of all the rows of a given column. |
java.math.BigDecimal[] |
getNumberOrNumberListColumnStatistics(AttributeTable table,
AttributeColumn column)
Calculates all statistics at once from a number/number list column using MathUtils class. |
java.lang.Number[] |
getRowNumbers(Attributes row,
AttributeColumn[] columns)
Prepares an array with all not null numbers of a row using only the given columns. |
Attributes[] |
getTableAttributeRows(AttributeTable table)
Returns all rows of a given table (node or edges table). |
int |
getTableRowsCount(AttributeTable table)
Counts the number of rows of a table (nodes or edges table) and returns the result. |
void |
importCSVToEdgesTable(java.io.File file,
java.lang.Character separator,
java.nio.charset.Charset charset,
java.lang.String[] columnNames,
AttributeType[] columnTypes,
boolean createNewNodes)
Method for importing csv data to edges table. |
void |
importCSVToNodesTable(java.io.File file,
java.lang.Character separator,
java.nio.charset.Charset charset,
java.lang.String[] columnNames,
AttributeType[] columnTypes,
boolean assignNewNodeIds)
Method for importing CSV file data to nodes table. |
boolean |
isEdgeTable(AttributeTable table)
Checks if the given table is edges table. |
boolean |
isNodeTable(AttributeTable table)
Checks if the given table is nodes table. |
void |
negateBooleanColumn(AttributeTable table,
AttributeColumn column)
Negates not null values of a given BOOLEAN or LIST_BOOLEAN column. |
boolean |
setAttributeValue(java.lang.Object value,
Attributes row,
AttributeColumn column)
Sets a value to the given row,column pair (cell). |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public AttributeColumnsControllerImpl()
Method Detail |
---|
public boolean setAttributeValue(java.lang.Object value, Attributes row, AttributeColumn column)
AttributeColumnsController
Sets a value to the given row,column pair (cell). If the class of the value is not the column type class,
it will try to parse the toString
representation of the value.
Takes care to avoid parsing exceptions of the target column type.
Also, this will not set a null value to a column that can't have null values (see canClearColumnData
method) if the given object is null or the parsing fails.
setAttributeValue
in interface AttributeColumnsController
value
- Value to set, can be nullrow
- Rowcolumn
- Column
public AttributeColumn addAttributeColumn(AttributeTable table, java.lang.String title, AttributeType type)
AttributeColumnsController
Adds a new column to the specified table with the given title and type of column.
The title for the new column can't be repeated in the table, null or an empty string.
.The id of the column will be set to the same as the title, but if the first TimeInterval column of the table is created it will be given the default dynamic time interval id to be able to use dynamic filters.
The AttributeOrigin
of the column will be set to DATA
.
Default column value will be set to null.
addAttributeColumn
in interface AttributeColumnsController
table
- Table to add the columntitle
- Title for the new column, can't be repeated in the table, null or empty stringtype
- Type for the new column
public void deleteAttributeColumn(AttributeTable table, AttributeColumn column)
AttributeColumnsController
Deletes the specified column from a table if the table has the column and data laboratory behaviour allows to delete it (see canDeleteColumn
method).
deleteAttributeColumn
in interface AttributeColumnsController
table
- Table to delete the columncolumn
- Column to deletepublic AttributeColumn duplicateColumn(AttributeTable table, AttributeColumn column, java.lang.String title, AttributeType type)
AttributeColumnsController
Duplicates a given column of a table and copies al row values.
If the AttributeType
for the new column is different from the old column type, it will try to parse each value. If it is not possible, the value will be set to null.
The title for the new column can't be repeated in the table, null or an empty string.
.The id of the column will be set to the title.
The AttributeOrigin
of the column will be set to DATA
.
Default column value will be set to null.
duplicateColumn
in interface AttributeColumnsController
table
- Table of the column to duplicatecolumn
- Column to duplicatetitle
- Title for the new columntype
- AttributeType for the new column
public void copyColumnDataToOtherColumn(AttributeTable table, AttributeColumn sourceColumn, AttributeColumn targetColumn)
AttributeColumnsController
Copies all row values of a column to another column.
If the AttributeType
for the target is different from the source column type, it will try to parse each value. If it is not possible, the value will be set to null.
Source and target columns must be different.
copyColumnDataToOtherColumn
in interface AttributeColumnsController
table
- Table of the columnssourceColumn
- Source columntargetColumn
- Target columnpublic void fillColumnWithValue(AttributeTable table, AttributeColumn column, java.lang.String value)
AttributeColumnsController
Fills the data values of a given column of a table with a value as a String,
parsing it for the AttributeType
of the column. If it is not possible to parse,
the value will be set to null.
fillColumnWithValue
in interface AttributeColumnsController
table
- Table of the columncolumn
- Column to fillvalue
- String representation of the value for each row of the columnpublic void clearColumnData(AttributeTable table, AttributeColumn column)
AttributeColumnsController
Clears all rows data for a given column of a table (nodes table or edges table)
clearColumnData
in interface AttributeColumnsController
table
- Table to clear column datacolumn
- Column to clear datapublic java.util.Map<java.lang.Object,java.lang.Integer> calculateColumnValuesFrequencies(AttributeTable table, AttributeColumn column)
AttributeColumnsController
Calculates the absolute frequency of appearance of each value of the given column and returns a Map containing each different value mapped to its frequency of appearance.
calculateColumnValuesFrequencies
in interface AttributeColumnsController
table
- Table of the columncolumn
- Column to calculate values frequencies
public AttributeColumn createBooleanMatchesColumn(AttributeTable table, AttributeColumn column, java.lang.String newColumnTitle, java.util.regex.Pattern pattern)
AttributeColumnsController
Creates a new BOOLEAN
column from the given column and regular expression
filling it with boolean values that indicate if each of the old column values match the regular expression.
Title for the new column can't be repeated in the table, null or empty.
createBooleanMatchesColumn
in interface AttributeColumnsController
table
- Table of the column to matchcolumn
- Column to matchnewColumnTitle
- Title for the new boolean columnpattern
- Regular expression to match
public void negateBooleanColumn(AttributeTable table, AttributeColumn column)
AttributeColumnsController
Negates not null values of a given BOOLEAN
or LIST_BOOLEAN
column.
Throws IllegalArgumentException if the column does not have BOOLEAN
or LIST_BOOLEAN
AttributeType
.
negateBooleanColumn
in interface AttributeColumnsController
table
- Table of the column to negatecolumn
- Boolean column to negatepublic AttributeColumn createFoundGroupsListColumn(AttributeTable table, AttributeColumn column, java.lang.String newColumnTitle, java.util.regex.Pattern pattern)
AttributeColumnsController
Creates a new LIST_STRING
column from the given column and regular expression with values that are
the list of matching groups for the given regular expression for each row.
The title for the new column can't be repeated in the table, null or an empty string.
.
createFoundGroupsListColumn
in interface AttributeColumnsController
table
- Table of the column to matchcolumn
- Column to matchnewColumnTitle
- Title for the new boolean columnpattern
- Regular expression to match
public void clearNodeData(Node node, AttributeColumn[] columnsToClear)
AttributeColumnsController
Clears all node attributes except computed attributes and id, checking first that the node is in the graph.
Columns to clear can be specified, but id and computed columns will not be cleared.
clearNodeData
in interface AttributeColumnsController
node
- Node to clear datacolumnsToClear
- Columns of the node to clear. All columns will be cleared if it is nullpublic void clearNodesData(Node[] nodes, AttributeColumn[] columnsToClear)
AttributeColumnsController
Clears all the nodes attributes except computed attributes and id.
Columns to clear can be specified, but id and computed columns will not be cleared.
clearNodesData
in interface AttributeColumnsController
nodes
- Array of nodes to clear datacolumnsToClear
- Columns of the nodes to clear. All columns will be cleared if it is nullpublic void clearEdgeData(Edge edge, AttributeColumn[] columnsToClear)
AttributeColumnsController
Clears all edge attributes except computed attributes and id.
Columns to clear can be specified, but id and computed columns will not be cleared.
clearEdgeData
in interface AttributeColumnsController
edge
- Edge to clear datacolumnsToClear
- Columns of the edge to clear. All columns will be cleared if it is nullpublic void clearEdgesData(Edge[] edges, AttributeColumn[] columnsToClear)
AttributeColumnsController
Clears all the edges attributes except computed attributes and id, checking first that the edges are in the graph.
Columns to clear can be specified, but id and computed columns will not be cleared.
clearEdgesData
in interface AttributeColumnsController
edges
- Array of edges to clear datacolumnsToClear
- Columns of the edges to clear. All columns will be cleared if it is nullpublic void clearRowData(Attributes row, AttributeColumn[] columnsToClear)
AttributeColumnsController
Clears row attributes except computed attributes and id if node/edge row.
Columns to clear can be specified, but id of node/edge and computed columns will not be cleared.
clearRowData
in interface AttributeColumnsController
row
- Array of rows to clear datacolumnsToClear
- Columns of the row to clear. All columns will be cleared if it is nullpublic void copyNodeDataToOtherNodes(Node node, Node[] otherNodes, AttributeColumn[] columnsToCopy)
AttributeColumnsController
Copies attributes data of the given node to the other rows except computed attributes and id.
Columns to copy can be specified, but id node and computed columns will not be copied.
copyNodeDataToOtherNodes
in interface AttributeColumnsController
node
- Node to copy data fromotherNodes
- Nodes to copy data tocolumnsToCopy
- Columns of the node to copy. All columns will be copied if it is nullpublic void copyEdgeDataToOtherEdges(Edge edge, Edge[] otherEdges, AttributeColumn[] columnsToCopy)
AttributeColumnsController
Copies attributes data of the given edge to the other rows except computed attributes and id.
Columns to copy can be specified, but id edge and computed columns will not be copied.
copyEdgeDataToOtherEdges
in interface AttributeColumnsController
edge
- Edge to copy data fromotherEdges
- Edges to copy data tocolumnsToCopy
- Columns of the edge to copy. All columns will be copied if it is nullpublic void copyRowDataToOtherRows(Attributes row, Attributes[] otherRows, AttributeColumn[] columnsToCopy)
AttributeColumnsController
Copies attributes data of the given row to the other rows except computed attributes and id if node/edge.
Columns to copy can be specified, but id of node/edge and computed columns will not be copied.
copyRowDataToOtherRows
in interface AttributeColumnsController
row
- Row to copy data fromotherRows
- Rows to copy data tocolumnsToCopy
- Columns of the row to copy. All columns will be copied if it is nullpublic Attributes[] getTableAttributeRows(AttributeTable table)
AttributeColumnsController
Returns all rows of a given table (node or edges table).
Used for iterating through all attribute rows of a table
getTableAttributeRows
in interface AttributeColumnsController
table
- Table to get attribute rows
public int getTableRowsCount(AttributeTable table)
AttributeColumnsController
Counts the number of rows of a table (nodes or edges table) and returns the result.
Uses GraphElementsController
getNodesCount
and getEdgesCount
to calculate the result.
getTableRowsCount
in interface AttributeColumnsController
table
public boolean isNodeTable(AttributeTable table)
AttributeColumnsController
Checks if the given table is nodes table.
isNodeTable
in interface AttributeColumnsController
public boolean isEdgeTable(AttributeTable table)
AttributeColumnsController
Checks if the given table is edges table.
isEdgeTable
in interface AttributeColumnsController
public boolean canDeleteColumn(AttributeColumn column)
AttributeColumnsController
Indicates if the Data Laboratory API behaviour allows to delete the given column of a table.
The behaviour is: Any column that does not have a AttributeOrigin
of type PROPERTY
can be deleted.
canDeleteColumn
in interface AttributeColumnsController
column
- Column to check if it can be deleted
public boolean canChangeColumnData(AttributeColumn column)
AttributeColumnsController
Indicates if the Data Laboratory API behaviour allows to change a value of the given column of a table.
The behaviour is: Only values of columns with AttributeOrigin
of type DATA
or a node/edge label and weight column can be changed. (but weight can't be null. see canClearColumnData
method).
Also, columns with a DYNAMIC
or TIME_INTERVAL
AttributeType
are not allowed to be changed since they are only used for dynamic attributes purposes.
canChangeColumnData
in interface AttributeColumnsController
column
- Column to theck its values can be changed
public boolean canClearColumnData(AttributeColumn column)
AttributeColumnsController
Indicates if the Data Laboratory API behaviour allows to set as null a value of the given column of a table.
The behaviour is: Only values of columns with AttributeOrigin
of type DATA
or a node/edge label column can be set to null. Edge weight can't be null
Also, columns with a DYNAMIC
or TIME_INTERVAL
AttributeType are not allowed to be cleared since they are only used for dynamic attributes purposes.
canClearColumnData
in interface AttributeColumnsController
column
- Column to theck its values can be changed
public java.math.BigDecimal[] getNumberOrNumberListColumnStatistics(AttributeTable table, AttributeColumn column)
AttributeColumnsController
Calculates all statistics at once from a number/number list column using MathUtils
class.
Returns an array of length=8 of BigDecimal
numbers with the results in the following order:
The column can only be a number/number list column.
Otherwise, a IllegalArgumentException will be thrown.
getNumberOrNumberListColumnStatistics
in interface AttributeColumnsController
table
- Table of the columncolumn
- Column to get statistics
public java.lang.Number[] getColumnNumbers(AttributeTable table, AttributeColumn column)
AttributeColumnsController
Prepares an array with all not null numbers of all the rows of a given column.
The column can only be a number/number list column.
Otherwise, a IllegalArgumentException will be thrown.
getColumnNumbers
in interface AttributeColumnsController
table
- Table of the column to get numberscolumn
- Column to get numbers
public java.lang.Number[] getRowNumbers(Attributes row, AttributeColumn[] columns)
AttributeColumnsController
Prepares an array with all not null numbers of a row using only the given columns.
The columns can only be number/dynamic number/number list columns (in any combination).
All numbers intervals of a dynamic number column will be used.
Otherwise, a IllegalArgumentException will be thrown.
getRowNumbers
in interface AttributeColumnsController
row
- Row to get numberscolumns
- Columns of the row to use
public void importCSVToNodesTable(java.io.File file, java.lang.Character separator, java.nio.charset.Charset charset, java.lang.String[] columnNames, AttributeType[] columnTypes, boolean assignNewNodeIds)
AttributeColumnsController
Method for importing CSV file data to nodes table.
Only special case is treating columns is id columns: first column found named 'id' (case insensitive) will be used as node id, others will be ignored.
No special column must be provided.
If a column name is not already in nodes table, it will be created with the corresponding columnType index.
If a node id already exists, depending on assignNewNodeIds, a new id will be assigned to it or instead, the already existing node attributes will be updated with the CSV data
importCSVToNodesTable
in interface AttributeColumnsController
file
- CSV fileseparator
- Separator of values of the CSV filecharset
- Charset of the CSV filecolumnNames
- Names of the columns in the CSV file to usecolumnTypes
- Types of the columns in the CSV file to use when creating columnsassignNewNodeIds
- Indicates if nodes should be assigned new ids when the ids are already in nodes table or not provided.public void importCSVToEdgesTable(java.io.File file, java.lang.Character separator, java.nio.charset.Charset charset, java.lang.String[] columnNames, AttributeType[] columnTypes, boolean createNewNodes)
AttributeColumnsController
Method for importing csv data to edges table.
Column named 'Source' and 'Target' (case insensitive) should be provided. Any row that does not provide a source and target nodes ids will be ignored.
If no 'Type' (case insensitive) column is provided, all edges will be directed.
If an edge already exists or cannot be created, it will be ignored, and no data will be updated.
Special cases are id, source, target and type columns:
importCSVToEdgesTable
in interface AttributeColumnsController
file
- CSV fileseparator
- Separator of values of the CSV filecharset
- Charset of the CSV filecolumnNames
- Names of the columns in the CSV file to usecolumnTypes
- Types of the columns in the CSV file to use when creating columnscreateNewNodes
- Indicates if missing nodes should be created when an edge declares a source or target id not already existing
|
Gephi Toolkit Javadoc | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |