/* * Copyright 2016-2018 shardingsphere.io. *

* Licensed 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 io.shardingsphere.core.executor.event; import com.google.common.base.Optional; import io.shardingsphere.core.routing.SQLUnit; import lombok.Getter; import lombok.RequiredArgsConstructor; import java.sql.SQLException; import java.util.List; /** * SQL execution event. * * @author gaohongtao * @author maxiaoguang */ @RequiredArgsConstructor @Getter public abstract class AbstractSQLExecutionEvent extends AbstractExecutionEvent { private final String dataSource; private final SQLUnit sqlUnit; private final List parameters; /** * Get exception. * * @return exception */ public Optional getException() { Optional ex = super.getException(); if (ex.isPresent()) { return Optional.of((SQLException) ex.get()); } return Optional.absent(); } }