1 30 31 34 package com.nightlabs.notification; 35 36 import java.util.HashSet ; 37 import java.util.Set ; 38 39 42 public class SubjectCarrier 43 { 45 private Object subject; 46 private Set subjectClasses = new HashSet (); 47 private boolean inheritanceIgnored; 48 private boolean interfacesIgnored; 49 private boolean breakOnFirstFound = false; 50 51 public SubjectCarrier(Object subject) 52 { 53 this(subject, false, false); 54 } 55 56 public SubjectCarrier(Object subject, boolean inheritanceIgnored) 57 { 58 this(subject, inheritanceIgnored, false); 59 } 60 61 public SubjectCarrier(Object subject, boolean inheritanceIgnored, boolean interfacesIgnored) 62 { 63 if (subject == null) 64 throw new NullPointerException ("Cannot use subject=null without specifying a class!"); 65 66 this.subject = subject; 67 subjectClasses.add(subject.getClass()); 68 this.inheritanceIgnored = inheritanceIgnored; 69 this.interfacesIgnored = interfacesIgnored; 70 } 71 72 public SubjectCarrier(Class subjectClass) 73 { 74 this(subjectClass, false, false); 75 } 76 77 public SubjectCarrier(Class subjectClass, boolean inheritanceIgnored) { 78 this(subjectClass, inheritanceIgnored, false); 79 } 80 81 public SubjectCarrier(Class subjectClass, boolean inheritanceIgnored, boolean interfacesIgnored) 82 { 83 if (subjectClass == null) 84 throw new NullPointerException ("Parameter subjectClass must not be null!"); 85 86 subject = null; 87 subjectClasses.add(subjectClass); 88 this.inheritanceIgnored = inheritanceIgnored; 89 this.interfacesIgnored = interfacesIgnored; 90 } 91 92 99 public SubjectCarrier(Object subject, Class subjectClass) 100 { 101 this.subject = subject; 102 103 if (subject != null) 104 subjectClasses.add(subject.getClass()); 105 } 106 107 110 public Object getSubject() 111 { 112 return subject; 113 } 114 117 public Set getSubjectClasses() 118 { 119 return subjectClasses; 120 } 121 122 135 138 public boolean isInheritanceIgnored() 139 { 140 return inheritanceIgnored; 141 } 142 145 public void setInheritanceIgnored(boolean inheritanceIgnored) 146 { 147 this.inheritanceIgnored = inheritanceIgnored; 148 } 149 150 153 public boolean isInterfacesIgnored() { 154 return interfacesIgnored; 155 } 156 157 160 public void setInterfacesIgnored(boolean interfacesIgnored) { 161 this.interfacesIgnored = interfacesIgnored; 162 } 163 164 public boolean isBreakOnFirstFound() { 165 return breakOnFirstFound; 166 } 167 168 public void setBreakOnFirstFound(boolean breakOnFirstFound) { 169 this.breakOnFirstFound = breakOnFirstFound; 170 } 171 } 172 | Popular Tags |