00001 package edu.virtualschool.jwaa; 00002 00008 public abstract class GenericRole 00009 extends GenericIdentifiable 00010 implements RoleAbstraction 00011 { 00012 public final RoleAbstraction parent; 00013 00014 public GenericRole(String id, RoleAbstraction parent) 00015 { 00016 super(id); 00017 this.parent = parent; 00018 } 00019 public final RoleAbstraction getParent() 00020 { 00021 return parent; 00022 } 00023 public int getDepth() 00024 { 00025 int depth = 0; 00026 for (RoleAbstraction r = this; r != null; r = r.getParent()) 00027 depth++; 00028 return depth; 00029 } 00030 public final boolean meetsRequirementsOf(RoleAbstraction requiredRole) 00031 { 00032 for (RoleAbstraction r = this; r != null; r = r.getParent()) 00033 if (r == requiredRole) 00034 return true; 00035 return false; 00036 } 00037 }