00001
00004 package cast.architecture;
00005
00006 import cast.cdl.FilterRestriction;
00007 import cast.cdl.WorkingMemoryAddress;
00008 import cast.cdl.WorkingMemoryChangeFilter;
00009 import cast.cdl.WorkingMemoryOperation;
00010 import cast.core.CASTUtils;
00011
00025 public class ChangeFilterFactory {
00026
00027 public static WorkingMemoryChangeFilter createAddressFilter(String _id,
00028 String _subarch) {
00029 return createAddressFilter(_id, _subarch,
00030 WorkingMemoryOperation.WILDCARD);
00031 }
00032
00033 public static WorkingMemoryChangeFilter createAddressFilter(String _id,
00034 String _subarch, WorkingMemoryOperation _operation) {
00035 return createChangeFilter("", _operation, "", _id, _subarch,
00036
00037
00038
00039
00040 FilterRestriction.ALLSA);
00041 }
00042
00047 public static WorkingMemoryChangeFilter createAddressFilter(
00048 WorkingMemoryAddress _wma) {
00049 return createAddressFilter(_wma, WorkingMemoryOperation.WILDCARD);
00050 }
00051
00056 public static WorkingMemoryChangeFilter createAddressFilter(
00057 WorkingMemoryAddress _wma, WorkingMemoryOperation _operation) {
00058 return createAddressFilter(_wma.id, _wma.subarchitecture,
00059 _operation);
00060 }
00061
00065 public static <Type extends Ice.Object> WorkingMemoryChangeFilter createChangeFilter(
00066 Class<Type> _cls, WorkingMemoryOperation _op, String _src,
00067 String _changeID, String _changeSA, FilterRestriction _restriction) {
00068
00069 String type = CASTUtils.typeName(_cls);
00070 return createChangeFilter(type, _op, _src, _changeID, _changeSA,
00071 _restriction);
00072
00073 }
00074
00079 public static WorkingMemoryChangeFilter createChangeFilter(String _type,
00080 WorkingMemoryOperation _op, String _src, String _changeID,
00081 String _changeSA, FilterRestriction _restriction) {
00082 return new WorkingMemoryChangeFilter(_op, _src,
00083 new WorkingMemoryAddress(_changeID, _changeSA), _type,
00084 _restriction, "");
00085
00086 }
00087
00092 public static <Type extends Ice.Object> WorkingMemoryChangeFilter createGlobalTypeFilter(
00093 Class<Type> _cls) {
00094 return createGlobalTypeFilter(_cls, WorkingMemoryOperation.WILDCARD);
00095 }
00096
00101 public static <Type extends Ice.Object> WorkingMemoryChangeFilter createGlobalTypeFilter(
00102 Class<Type> _cls, WorkingMemoryOperation _operation) {
00103 return createTypeFilter(_cls, _operation, FilterRestriction.ALLSA);
00104 }
00105
00110 public static WorkingMemoryChangeFilter createIDFilter(String _id) {
00111 return createAddressFilter(_id, "", WorkingMemoryOperation.WILDCARD);
00112 }
00113
00118 public static WorkingMemoryChangeFilter createIDFilter(String _id,
00119 WorkingMemoryOperation _operation) {
00120 return createAddressFilter(_id, "", _operation);
00121 }
00122
00127 public static <Type extends Ice.Object> WorkingMemoryChangeFilter createLocalTypeFilter(
00128 Class<Type> _cls) {
00129 return createLocalTypeFilter(_cls, WorkingMemoryOperation.WILDCARD);
00130 }
00131
00136 public static <Type extends Ice.Object> WorkingMemoryChangeFilter createLocalTypeFilter(
00137 Class<Type> _cls, WorkingMemoryOperation _operation) {
00138 return createTypeFilter(_cls, _operation, FilterRestriction.LOCALSA);
00139 }
00140
00144 public static WorkingMemoryChangeFilter createOperationFilter(
00145 WorkingMemoryOperation _operation) {
00146 return createChangeFilter("", _operation, "", "", "",
00147 FilterRestriction.LOCALSA);
00148 }
00149
00153 public static WorkingMemoryChangeFilter createOperationFilter(
00154 WorkingMemoryOperation _operation, FilterRestriction _restriction) {
00155 return createChangeFilter("", _operation, "", "", "", _restriction);
00156 }
00157
00163 public static <Type extends Ice.Object> WorkingMemoryChangeFilter createSourceFilter(
00164 Class<Type> _cls, String _component) {
00165 return createChangeFilter(_cls, WorkingMemoryOperation.WILDCARD,
00166 _component, "", "", FilterRestriction.ALLSA);
00167 }
00168
00174 public static <Type extends Ice.Object> WorkingMemoryChangeFilter createSourceFilter(
00175 Class<Type> _cls, String _component,
00176 WorkingMemoryOperation _operation) {
00177 return createChangeFilter(_cls, _operation, _component, "", "",
00178 FilterRestriction.ALLSA);
00179 }
00180
00185 public static WorkingMemoryChangeFilter createSourceFilter(String _component) {
00186 return createChangeFilter("", WorkingMemoryOperation.WILDCARD,
00187 _component, "", "", FilterRestriction.ALLSA);
00188 }
00189
00194 public static WorkingMemoryChangeFilter createSourceFilter(
00195 String _component, WorkingMemoryOperation _operation) {
00196 return createChangeFilter("", _operation, _component, "", "",
00197 FilterRestriction.ALLSA);
00198 }
00199
00204 public static <Type extends Ice.Object> WorkingMemoryChangeFilter createTypeFilter(
00205 Class<Type> _cls, FilterRestriction _restriction) {
00206 return createTypeFilter(_cls, WorkingMemoryOperation.WILDCARD,
00207 _restriction);
00208 }
00209
00213 public static <Type extends Ice.Object> WorkingMemoryChangeFilter createTypeFilter(
00214 Class<Type> _cls, WorkingMemoryOperation _operation) {
00215 return createTypeFilter(_cls, _operation, FilterRestriction.ALLSA);
00216 }
00217
00222 public static <Type extends Ice.Object> WorkingMemoryChangeFilter createTypeFilter(
00223 Class<Type> _cls, WorkingMemoryOperation _operation,
00224 FilterRestriction _restriction) {
00225 return createChangeFilter(_cls, _operation, "", "", "", _restriction);
00226 }
00227
00228 }