Class FineGrainedPrivacyList
- java.lang.Object
-
- org.apache.sysds.runtime.privacy.finegrained.FineGrainedPrivacyList
-
- All Implemented Interfaces:
FineGrainedPrivacy
public class FineGrainedPrivacyList extends Object implements FineGrainedPrivacy
Simple implementation of retrieving fine-grained privacy constraints based on pairs in an ArrayList.
-
-
Constructor Summary
Constructors Constructor Description FineGrainedPrivacyList()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object other)Map<String,long[][][]>getAllConstraints()Get all fine-grained constraints as a map from privacy level to an array of data ranges represented as two-dimensional long arrays.ArrayList<Map.Entry<DataRange,PrivacyConstraint.PrivacyLevel>>getAllConstraintsList()Return all fine-grained privacy constraints as an arraylist.PrivacyConstraint.PrivacyLevel[]getColPrivacy(int numRows, int numCols)DataRange[]getDataRangesOfPrivacyLevel(PrivacyConstraint.PrivacyLevel privacyLevel)Get all data ranges for the given privacy level.Map<DataRange,PrivacyConstraint.PrivacyLevel>getPrivacyLevel(DataRange searchRange)Get the data ranges and related privacy levels within given data search range.Map<DataRange,PrivacyConstraint.PrivacyLevel>getPrivacyLevelOfElement(long[] searchIndex)Get the data ranges and related privacy levels of the element with the given index.PrivacyConstraint.PrivacyLevel[]getRowPrivacy(int numRows, int numCols)booleanhasConstraints()True if any fine-grained constraints has been set.voidput(DataRange dataRange, PrivacyConstraint.PrivacyLevel privacyLevel)Set privacy level of the given data range.voidputCol(int colIndex, int colLength, PrivacyConstraint.PrivacyLevel privacyLevel)voidputElement(int rowIndex, int colIndex, PrivacyConstraint.PrivacyLevel privacyLevel)voidputRow(int rowIndex, int rowLength, PrivacyConstraint.PrivacyLevel privacyLevel)voidremoveAllConstraints()Remove all fine-grained privacy constraints.StringtoString()
-
-
-
Method Detail
-
getRowPrivacy
public PrivacyConstraint.PrivacyLevel[] getRowPrivacy(int numRows, int numCols)
- Specified by:
getRowPrivacyin interfaceFineGrainedPrivacy
-
getColPrivacy
public PrivacyConstraint.PrivacyLevel[] getColPrivacy(int numRows, int numCols)
- Specified by:
getColPrivacyin interfaceFineGrainedPrivacy
-
put
public void put(DataRange dataRange, PrivacyConstraint.PrivacyLevel privacyLevel)
Description copied from interface:FineGrainedPrivacySet privacy level of the given data range.- Specified by:
putin interfaceFineGrainedPrivacy- Parameters:
dataRange- representing the range for which the privacy is setprivacyLevel- the level of privacy for the given data range
-
putRow
public void putRow(int rowIndex, int rowLength, PrivacyConstraint.PrivacyLevel privacyLevel)- Specified by:
putRowin interfaceFineGrainedPrivacy
-
putCol
public void putCol(int colIndex, int colLength, PrivacyConstraint.PrivacyLevel privacyLevel)- Specified by:
putColin interfaceFineGrainedPrivacy
-
putElement
public void putElement(int rowIndex, int colIndex, PrivacyConstraint.PrivacyLevel privacyLevel)- Specified by:
putElementin interfaceFineGrainedPrivacy
-
getPrivacyLevel
public Map<DataRange,PrivacyConstraint.PrivacyLevel> getPrivacyLevel(DataRange searchRange)
Description copied from interface:FineGrainedPrivacyGet the data ranges and related privacy levels within given data search range.- Specified by:
getPrivacyLevelin interfaceFineGrainedPrivacy- Parameters:
searchRange- the range from which all privacy levels are retrieved- Returns:
- all mappings from range to privacy level within the given search range
-
getPrivacyLevelOfElement
public Map<DataRange,PrivacyConstraint.PrivacyLevel> getPrivacyLevelOfElement(long[] searchIndex)
Description copied from interface:FineGrainedPrivacyGet the data ranges and related privacy levels of the element with the given index.- Specified by:
getPrivacyLevelOfElementin interfaceFineGrainedPrivacy- Parameters:
searchIndex- index of element- Returns:
- all mappings from range to privacy level for the given search element
-
getDataRangesOfPrivacyLevel
public DataRange[] getDataRangesOfPrivacyLevel(PrivacyConstraint.PrivacyLevel privacyLevel)
Description copied from interface:FineGrainedPrivacyGet all data ranges for the given privacy level.- Specified by:
getDataRangesOfPrivacyLevelin interfaceFineGrainedPrivacy- Parameters:
privacyLevel- for which data ranges are found- Returns:
- all data ranges with the given privacy level
-
removeAllConstraints
public void removeAllConstraints()
Description copied from interface:FineGrainedPrivacyRemove all fine-grained privacy constraints.- Specified by:
removeAllConstraintsin interfaceFineGrainedPrivacy
-
hasConstraints
public boolean hasConstraints()
Description copied from interface:FineGrainedPrivacyTrue if any fine-grained constraints has been set.- Specified by:
hasConstraintsin interfaceFineGrainedPrivacy- Returns:
- true if any fine-grained constraint is set
-
getAllConstraints
public Map<String,long[][][]> getAllConstraints()
Description copied from interface:FineGrainedPrivacyGet all fine-grained constraints as a map from privacy level to an array of data ranges represented as two-dimensional long arrays.- Specified by:
getAllConstraintsin interfaceFineGrainedPrivacy- Returns:
- map from privacy level to array of data ranges
-
getAllConstraintsList
public ArrayList<Map.Entry<DataRange,PrivacyConstraint.PrivacyLevel>> getAllConstraintsList()
Description copied from interface:FineGrainedPrivacyReturn all fine-grained privacy constraints as an arraylist.- Specified by:
getAllConstraintsListin interfaceFineGrainedPrivacy- Returns:
- all constraints
-
-