Class FileAdapter

  • All Implemented Interfaces:
    Adapter

    public class FileAdapter
    extends java.lang.Object
    implements Adapter
    FileAdapter is the file adapter for Casbin. It can load policy from file or save policy to file.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.io.ByteArrayInputStream byteArrayInputStream  
      private java.lang.String filePath  
      private boolean readOnly  
    • Constructor Summary

      Constructors 
      Constructor Description
      FileAdapter​(java.io.InputStream inputStream)
      FileAdapter is the constructor for FileAdapter.
      FileAdapter​(java.lang.String filePath)
      FileAdapter is the constructor for FileAdapter.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addPolicy​(java.lang.String sec, java.lang.String ptype, java.util.List<java.lang.String> rule)
      addPolicy adds a policy rule to the storage.
      private java.util.List<java.lang.String> getModelPolicy​(Model model, java.lang.String ptype)  
      void loadPolicy​(Model model)
      loadPolicy loads all policy rules from the storage.
      private void loadPolicyData​(Model model, Helper.loadPolicyLineHandler<java.lang.String,​Model> handler, java.io.InputStream inputStream)  
      void removeFilteredPolicy​(java.lang.String sec, java.lang.String ptype, int fieldIndex, java.lang.String... fieldValues)
      removeFilteredPolicy removes policy rules that match the filter from the storage.
      void removePolicy​(java.lang.String sec, java.lang.String ptype, java.util.List<java.lang.String> rule)
      removePolicy removes a policy rule from the storage.
      void savePolicy​(Model model)
      savePolicy saves all policy rules to the storage.
      private void savePolicyFile​(java.lang.String text)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • filePath

        private java.lang.String filePath
      • readOnly

        private boolean readOnly
      • byteArrayInputStream

        private java.io.ByteArrayInputStream byteArrayInputStream
    • Constructor Detail

      • FileAdapter

        public FileAdapter​(java.lang.String filePath)
        FileAdapter is the constructor for FileAdapter.
        Parameters:
        filePath - the path of the policy file.
      • FileAdapter

        public FileAdapter​(java.io.InputStream inputStream)
        FileAdapter is the constructor for FileAdapter.
        Parameters:
        inputStream - the policy file.inputStream
    • Method Detail

      • loadPolicy

        public void loadPolicy​(Model model)
        loadPolicy loads all policy rules from the storage.
        Specified by:
        loadPolicy in interface Adapter
        Parameters:
        model - the model.
      • savePolicy

        public void savePolicy​(Model model)
        savePolicy saves all policy rules to the storage.
        Specified by:
        savePolicy in interface Adapter
        Parameters:
        model - the model.
      • getModelPolicy

        private java.util.List<java.lang.String> getModelPolicy​(Model model,
                                                                java.lang.String ptype)
      • savePolicyFile

        private void savePolicyFile​(java.lang.String text)
      • addPolicy

        public void addPolicy​(java.lang.String sec,
                              java.lang.String ptype,
                              java.util.List<java.lang.String> rule)
        addPolicy adds a policy rule to the storage.
        Specified by:
        addPolicy in interface Adapter
        Parameters:
        sec - the section, "p" or "g".
        ptype - the policy type, "p", "p2", .. or "g", "g2", ..
        rule - the rule, like (sub, obj, act).
      • removePolicy

        public void removePolicy​(java.lang.String sec,
                                 java.lang.String ptype,
                                 java.util.List<java.lang.String> rule)
        removePolicy removes a policy rule from the storage.
        Specified by:
        removePolicy in interface Adapter
        Parameters:
        sec - the section, "p" or "g".
        ptype - the policy type, "p", "p2", .. or "g", "g2", ..
        rule - the rule, like (sub, obj, act).
      • removeFilteredPolicy

        public void removeFilteredPolicy​(java.lang.String sec,
                                         java.lang.String ptype,
                                         int fieldIndex,
                                         java.lang.String... fieldValues)
        removeFilteredPolicy removes policy rules that match the filter from the storage.
        Specified by:
        removeFilteredPolicy in interface Adapter
        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.