core/src/main/java/org/springframework/security/access/hierarchicalroles/RoleHierarchyImpl.java
public void setHierarchy(String roleHierarchyStringRepresentation) {
		this.roleHierarchyStringRepresentation = roleHierarchyStringRepresentation;

		logger.debug("setHierarchy() - The following role hierarchy was set: "
				+ roleHierarchyStringRepresentation);

		buildRolesReachableInOneStepMap();
		buildRolesReachableInOneOrMoreStepsMap();
	}
public void setHierarchy(String roleHierarchyStringRepresentation) {
		this.roleHierarchyStringRepresentation = roleHierarchyStringRepresentation;

		logger.debug("setHierarchy() - The following role hierarchy was set: "
				+ roleHierarchyStringRepresentation);

		buildRolesReachableInOneStepMap();
		buildRolesReachableInOneOrMoreStepsMap();
	}
public void setHierarchy ( String roleHierarchyStringRepresentation ) { this . roleHierarchyStringRepresentation = roleHierarchyStringRepresentation ; logger . debug ( "setHierarchy() - The following role hierarchy was set: " + roleHierarchyStringRepresentation ) ; buildRolesReachableInOneStepMap ( ) ; buildRolesReachableInOneOrMoreStepsMap ( ) ; }
Set the role hierarchy and pre-calculate for every role the set of all reachable
roles, i.e. all roles lower in the hierarchy of every given role. Pre-calculation
is done for performance reasons (reachable roles can then be calculated in O(1)
time). During pre-calculation, cycles in role hierarchy are detected and will cause
a <tt>CycleInRoleHierarchyException</tt> to be thrown.

@param roleHierarchyStringRepresentation - String definition of the role hierarchy.
Set the role hierarchy and pre - calculate for every role the set of all reachable roles i . e . all roles lower in the hierarchy of every given role . Pre - calculation is done for performance reasons ( reachable roles can then be calculated in O ( 1 ) time ) . During pre - calculation cycles in role hierarchy are detected and will cause a <tt > CycleInRoleHierarchyException< / tt > to be thrown .