GraphQLRuntimeException.java
/*
* Licensed to The Apereo Foundation under one or more contributor license
* agreements. See the NOTICE file distributed with this work for additional
* information regarding copyright ownership.
*
*
* The Apereo Foundation licenses this file to you under the Educational
* Community 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://opensource.org/licenses/ecl2.txt
*
* 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.opencastproject.graphql.exception;
import java.util.List;
import java.util.Map;
import graphql.ErrorClassification;
import graphql.GraphQLError;
import graphql.language.SourceLocation;
public class GraphQLRuntimeException extends RuntimeException implements GraphQLError {
private static final long serialVersionUID = 7752209655703366697L;
private final OpencastErrorType errorType;
private Map<String,Object> extensions;
public GraphQLRuntimeException(OpencastErrorType errorType) {
this.errorType = errorType;
}
public GraphQLRuntimeException(String message, OpencastErrorType errorType) {
super(message);
this.errorType = errorType;
}
public GraphQLRuntimeException(String message, OpencastErrorType errorType, Throwable cause) {
super(message, cause);
this.errorType = errorType;
}
public GraphQLRuntimeException(String message, Map<String,Object> extensions, Throwable cause) {
super(message, cause);
this.errorType = OpencastErrorType.Undefined;
this.extensions = extensions;
}
public GraphQLRuntimeException(String message, OpencastErrorType errorType, Map<String,Object> extensions,
Throwable cause) {
super(message, cause);
this.errorType = errorType;
this.extensions = extensions;
}
public GraphQLRuntimeException(Throwable cause) {
super(cause);
this.errorType = OpencastErrorType.InternalError;
}
public GraphQLRuntimeException(OpencastErrorType errorType, Throwable cause) {
super(cause);
this.errorType = errorType;
}
@Override
public List<SourceLocation> getLocations() {
return null;
}
public ErrorClassification getErrorType() {
return errorType;
}
@Override
public List<Object> getPath() {
return GraphQLError.super.getPath();
}
@Override
public Map<String, Object> toSpecification() {
return GraphQLError.super.toSpecification();
}
public Map<String, Object> getExtensions() {
return extensions;
}
}