org.openpermis.policy.io.xml
Class PermisXmlWriter

java.lang.Object
  extended by org.openpermis.policy.io.xml.PermisXmlWriter
All Implemented Interfaces:
PolicyWriter

public final class PermisXmlWriter
extends Object
implements PolicyWriter

Policy writer implementation for Permis XML policies.

Since:
0.1.0

Field Summary
private static String DEFAULT_ENCODING
          The default output encoding written to the XML file.
private  String encoding
          The output encoding to write.
private  int id
          The id counter.
private static String PERMIS_DOCTYPE
          The DOCTYPE of Permis XML files.
private  Writer writer
          The underlying writer used by this policy writer.
 
Constructor Summary
PermisXmlWriter(Writer writer)
          Creates a new policy writer that uses the specified writer.
PermisXmlWriter(Writer writer, String encoding)
          Creates a new policy writer that uses the specified writer and output encoding.
 
Method Summary
protected  Map<ActionBean,String> buildActionIdMap(TargetAccessRuleBeanCollection targetAccessRules)
           
protected  Map<String,String> buildDomainIdMap(TargetAccessRuleBeanCollection targetAccessRules)
           
protected  Map<RoleHierarchyBean,String> buildHierachyIdMap(RoleHierarchyBeanCollection roleHierarchies)
           
protected  Map<Obligation,String> buildObligationIdMap(TargetAccessRuleBeanCollection targetAccessRules)
           
protected  Map<String,String> buildSoaIdMap(RoleAssignmentRuleBeanCollection roleAssignmentRules)
           
protected  Map<String,String> buildSubjectDomainIdMap(RoleAssignmentRuleBeanCollection roleAssignmentRules)
           
protected  Map<TargetBean,String> buildTargetIdMap(TargetAccessRuleBeanCollection targetAccessRules)
           
protected  void writeActionPolicy(Map<ActionBean,String> actionIdMap, com.generationjava.io.xml.XmlWriter xmlWriter)
           
 void writeCondition(Predicate condition, com.generationjava.io.xml.XmlWriter xmlWriter)
           
protected  void writeDomainPolicy(Map<String,String> targetDomainIDMap, com.generationjava.io.xml.XmlWriter xmlWriter)
           
protected  void writeObligationPolicy(Map<Obligation,String> obligationIdMap, com.generationjava.io.xml.XmlWriter xmlWriter)
           
 void writePolicy(PolicyBean policy)
          Writes the specified policy.
protected  void writeRoleAssignmentPolicy(RoleAssignmentRuleBeanCollection roleAssignmentRules, Map<String,String> subjectDomainIdsMap, Map<String,String> soaIdMap, Map<RoleHierarchyBean,String> hierarchyIdMap, com.generationjava.io.xml.XmlWriter xmlWriter)
           
protected  void writeRoleHierarchyPolicy(Map<RoleHierarchyBean,String> hierarchyIdMap, com.generationjava.io.xml.XmlWriter xmlWriter)
           
protected  void writeSoaPolicy(RoleAssignmentRuleBeanCollection roleAssignmentRules, Map<String,String> soaIdMap, com.generationjava.io.xml.XmlWriter xmlWriter)
           
protected  void writeSubjectPolicy(RoleAssignmentRuleBeanCollection roleAssignmentRules, Map<String,String> subjectDomainIdMap, com.generationjava.io.xml.XmlWriter xmlWriter)
           
protected  void writeTargetAccessPolicy(TargetAccessRuleBeanCollection targetAccessRules, Map<String,String> targetDomainIDMap, Map<ActionBean,String> actionIdMap, Map<TargetBean,String> targetIdMap, Map<RoleHierarchyBean,String> hierarchyIdMap, Map<Obligation,String> obligationIdMap, com.generationjava.io.xml.XmlWriter xmlWriter)
           
protected  void writeTargetPolicy(Map<String,String> domainIdMap, Map<ActionBean,String> actionIdMap, Map<TargetBean,String> targetIdMap, com.generationjava.io.xml.XmlWriter xmlWriter)
           
protected  void writeValidity(TimePeriodConstraint validity, com.generationjava.io.xml.XmlWriter xmlWriter)
           
private  void writeValues(List<Value<?>> values, com.generationjava.io.xml.XmlWriter xmlWriter)
           
private  void writeValueSets(List<ValueSet> valuesets, com.generationjava.io.xml.XmlWriter xmlWriter)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_ENCODING

private static final String DEFAULT_ENCODING
The default output encoding written to the XML file.

Constant Field Value:
"UTF-8"

PERMIS_DOCTYPE

private static final String PERMIS_DOCTYPE
The DOCTYPE of Permis XML files.

Constant Field Value:
"\n"

writer

private final Writer writer
The underlying writer used by this policy writer.


encoding

private final String encoding
The output encoding to write.


id

private int id
The id counter.

Constructor Detail

PermisXmlWriter

public PermisXmlWriter(Writer writer)
Creates a new policy writer that uses the specified writer.

Notes:
Uses the default XML encoding UTF-8.
Parameters:
writer - the writer to write the policy to.
Since:
0.1.0

PermisXmlWriter

public PermisXmlWriter(Writer writer,
                       String encoding)
Creates a new policy writer that uses the specified writer and output encoding.

Parameters:
writer - the writer to write the policy to.
encoding - the encoding to write to the generated XML output.
Since:
0.1.0
Method Detail

buildSubjectDomainIdMap

protected Map<String,String> buildSubjectDomainIdMap(RoleAssignmentRuleBeanCollection roleAssignmentRules)
Since:
0.1.0

buildSoaIdMap

protected Map<String,String> buildSoaIdMap(RoleAssignmentRuleBeanCollection roleAssignmentRules)
Since:
0.1.0

buildDomainIdMap

protected Map<String,String> buildDomainIdMap(TargetAccessRuleBeanCollection targetAccessRules)
Since:
0.3.0

buildObligationIdMap

protected Map<Obligation,String> buildObligationIdMap(TargetAccessRuleBeanCollection targetAccessRules)
Since:
0.3.0

buildActionIdMap

protected Map<ActionBean,String> buildActionIdMap(TargetAccessRuleBeanCollection targetAccessRules)
Since:
0.3.0

buildTargetIdMap

protected Map<TargetBean,String> buildTargetIdMap(TargetAccessRuleBeanCollection targetAccessRules)
Since:
0.3.0

buildHierachyIdMap

protected Map<RoleHierarchyBean,String> buildHierachyIdMap(RoleHierarchyBeanCollection roleHierarchies)
Since:
0.3.0

writeSubjectPolicy

protected void writeSubjectPolicy(RoleAssignmentRuleBeanCollection roleAssignmentRules,
                                  Map<String,String> subjectDomainIdMap,
                                  com.generationjava.io.xml.XmlWriter xmlWriter)
                           throws IOException
Throws:
IOException
Since:
0.1.0

writeRoleHierarchyPolicy

protected void writeRoleHierarchyPolicy(Map<RoleHierarchyBean,String> hierarchyIdMap,
                                        com.generationjava.io.xml.XmlWriter xmlWriter)
                                 throws IOException
Throws:
IOException
Since:
0.1.0

writeSoaPolicy

protected void writeSoaPolicy(RoleAssignmentRuleBeanCollection roleAssignmentRules,
                              Map<String,String> soaIdMap,
                              com.generationjava.io.xml.XmlWriter xmlWriter)
                       throws IOException
Throws:
IOException
Since:
0.1.0

writeRoleAssignmentPolicy

protected void writeRoleAssignmentPolicy(RoleAssignmentRuleBeanCollection roleAssignmentRules,
                                         Map<String,String> subjectDomainIdsMap,
                                         Map<String,String> soaIdMap,
                                         Map<RoleHierarchyBean,String> hierarchyIdMap,
                                         com.generationjava.io.xml.XmlWriter xmlWriter)
                                  throws IOException
Throws:
IOException
Since:
0.1.0

writeDomainPolicy

protected void writeDomainPolicy(Map<String,String> targetDomainIDMap,
                                 com.generationjava.io.xml.XmlWriter xmlWriter)
                          throws IOException
Throws:
IOException
Since:
0.3.0

writeActionPolicy

protected void writeActionPolicy(Map<ActionBean,String> actionIdMap,
                                 com.generationjava.io.xml.XmlWriter xmlWriter)
                          throws IOException
Throws:
IOException
Since:
0.3.0

writeObligationPolicy

protected void writeObligationPolicy(Map<Obligation,String> obligationIdMap,
                                     com.generationjava.io.xml.XmlWriter xmlWriter)
                              throws IOException
Throws:
IOException
Since:
0.3.0

writeTargetPolicy

protected void writeTargetPolicy(Map<String,String> domainIdMap,
                                 Map<ActionBean,String> actionIdMap,
                                 Map<TargetBean,String> targetIdMap,
                                 com.generationjava.io.xml.XmlWriter xmlWriter)
                          throws IOException
Throws:
IOException
Since:
0.3.0

writeTargetAccessPolicy

protected void writeTargetAccessPolicy(TargetAccessRuleBeanCollection targetAccessRules,
                                       Map<String,String> targetDomainIDMap,
                                       Map<ActionBean,String> actionIdMap,
                                       Map<TargetBean,String> targetIdMap,
                                       Map<RoleHierarchyBean,String> hierarchyIdMap,
                                       Map<Obligation,String> obligationIdMap,
                                       com.generationjava.io.xml.XmlWriter xmlWriter)
                                throws IOException
Throws:
IOException
Since:
0.1.0

writeValidity

protected void writeValidity(TimePeriodConstraint validity,
                             com.generationjava.io.xml.XmlWriter xmlWriter)
                      throws IOException
Throws:
IOException
Since:
0.3.0

writeCondition

public void writeCondition(Predicate condition,
                           com.generationjava.io.xml.XmlWriter xmlWriter)
                    throws IOException
Throws:
IOException
Since:
0.1.0

writeValueSets

private void writeValueSets(List<ValueSet> valuesets,
                            com.generationjava.io.xml.XmlWriter xmlWriter)
                     throws IOException
Throws:
IOException
Since:
0.3.0

writeValues

private void writeValues(List<Value<?>> values,
                         com.generationjava.io.xml.XmlWriter xmlWriter)
                  throws IOException
Throws:
IOException
Since:
0.1.0

writePolicy

public void writePolicy(PolicyBean policy)
                 throws PolicyException
Description copied from interface: PolicyWriter
Writes the specified policy.

Specified by:
writePolicy in interface PolicyWriter
Parameters:
policy - the policy to write.
Throws:
PolicyException - if there is an error writing the policy.
Since:
0.1.0


PERMIS Role Based Access Control 0.3.0 (Build 14)
2009/05/08 09:06:22
Copyright (c) 2002-2007 Ergon Informatik AG