diff options
Diffstat (limited to 'sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Context.java')
-rw-r--r-- | sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Context.java | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Context.java b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Context.java new file mode 100644 index 0000000000..95c6f3bed6 --- /dev/null +++ b/sandbox/dougsleite/implementation-guardian/src/main/java/org/apache/tuscany/sca/implementation/guardian/common/Context.java @@ -0,0 +1,79 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.tuscany.sca.implementation.guardian.common; + +import java.util.LinkedList; +import java.util.List; + +public class Context { + + public static Context CURRENT_CONTEXT = new Context("CURRENT_CONTEXT"); + public static Context INIT_CONTEXT = new Context("INIT_CONTEXT"); + public static Context GUARDIAN_CONTEXT = new Context("GUARDIAN_CONTEXT"); + + private String name; + private List<Class<? extends GlobalException>> exceptionList; + + public Context() { + this(null); + } + + public Context(String name) { + this(name, new LinkedList<Class<? extends GlobalException>>()); + } + + public Context(String name, List<Class<? extends GlobalException>> exceptionList) { + this.name = name; + this.exceptionList = exceptionList; + } + + public void addException(Class<? extends GlobalException> ex) { + this.exceptionList.add(ex); + } + + public void setExceptionList(List<Class<? extends GlobalException>> exceptionList) { + this.exceptionList = exceptionList; + } + + public List<Class<? extends GlobalException>> getExceptionList() { + return this.exceptionList; + } + + /** + * @return the name + */ + public String getName() { + return name; + } + + /** + * @param name the name to set + */ + public void setName(String name) { + this.name = name; + } + + @Override + public boolean equals(Object obj) { + return (obj instanceof Context && + (((Context) obj).getName().equals(this.getName()) || + this == Context.CURRENT_CONTEXT || + ((Context) obj) == Context.CURRENT_CONTEXT)); + } +} |