Class FilteredAdapter
java.lang.Object
org.casbin.jcasbin.persist.file_adapter.FilteredAdapter
- All Implemented Interfaces:
Adapter
,FilteredAdapter
FilteredAdapter is the filtered file adapter for Casbin.
It can load policy from a file or save policy to a file and
supports loading of filtered policies.
- Since:
- 2020/6/8
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addPolicy adds a policy rule to the storage.private boolean
filterLine
(String line, FilteredAdapter.Filter filter) match the line.private boolean
filterWords
(String[] line, String[] filter) match the words in the specific line.boolean
IsFiltered returns true if the loaded policy has been filtered.void
loadFilteredPolicy
(Model model, Object filter) loadFilteredPolicy loads only policy rules that match the filter.private void
loadFilteredPolicyFile
(Model model, FilteredAdapter.Filter filter, Helper.loadPolicyLineHandler<String, Model> handler) loadFilteredPolicyFile loads only policy rules that match the filter from file.void
loadPolicy
(Model model) loadPolicy loads all policy rules from the storage.void
removeFilteredPolicy
(String sec, String ptype, int fieldIndex, String... fieldValues) removeFilteredPolicy removes policy rules that match the filter from the storage.void
removePolicy
(String sec, String ptype, List<String> rule) removePolicy removes a policy rule from the storage.void
savePolicy
(Model model) savePolicy saves all policy rules to the storage.
-
Field Details
-
adapter
-
isFiltered
private boolean isFiltered -
filepath
-
-
Constructor Details
-
FilteredAdapter
-
-
Method Details
-
loadFilteredPolicy
loadFilteredPolicy loads only policy rules that match the filter.- Specified by:
loadFilteredPolicy
in interfaceFilteredAdapter
- Parameters:
model
- the model.filter
- the filter used to specify which type of policy should be loaded.- Throws:
CasbinAdapterException
- if the file path or the type of the filter is incorrect.
-
loadFilteredPolicyFile
private void loadFilteredPolicyFile(Model model, FilteredAdapter.Filter filter, Helper.loadPolicyLineHandler<String, Model> handler) throws CasbinAdapterExceptionloadFilteredPolicyFile loads only policy rules that match the filter from file.- Throws:
CasbinAdapterException
-
filterLine
match the line. -
filterWords
match the words in the specific line. -
isFiltered
public boolean isFiltered()Description copied from interface:FilteredAdapter
IsFiltered returns true if the loaded policy has been filtered.- Specified by:
isFiltered
in interfaceFilteredAdapter
- Returns:
- true if have any filter roles.
-
loadPolicy
loadPolicy loads all policy rules from the storage.- Specified by:
loadPolicy
in interfaceAdapter
- Parameters:
model
- the model.
-
savePolicy
savePolicy saves all policy rules to the storage.- Specified by:
savePolicy
in interfaceAdapter
- Parameters:
model
- the model.
-
addPolicy
addPolicy adds a policy rule to the storage. -
removePolicy
removePolicy removes a policy rule from the storage.- Specified by:
removePolicy
in interfaceAdapter
- Parameters:
sec
- the section, "p" or "g".ptype
- the policy type, "p", "p2", .. or "g", "g2", ..rule
- the rule, like (sub, obj, act).
-
removeFilteredPolicy
removeFilteredPolicy removes policy rules that match the filter from the storage.- Specified by:
removeFilteredPolicy
in interfaceAdapter
- Parameters:
sec
- the section, "p" or "g".ptype
- the policy type, "p", "p2", .. or "g", "g2", ..fieldIndex
- the policy rule's start index to be matched.fieldValues
- the field values to be matched, value "" means not to match this field.
-