001/** 002 * Copyright (c) 2025-2026, Michael Yang 杨福海 (fuhai999@gmail.com). 003 * <p> 004 * Licensed under the GNU Lesser General Public License (LGPL) ,Version 3.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * <p> 008 * http://www.gnu.org/licenses/lgpl-3.0.txt 009 * <p> 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package dev.tinyflow.core.chain.event; 017 018 019import dev.tinyflow.core.chain.Chain; 020import dev.tinyflow.core.chain.Node; 021 022import java.util.Map; 023 024public class NodeEndEvent extends BaseEvent { 025 026 private final Node node; 027 private final Map<String, Object> result; 028 private final Throwable error; 029 030 public NodeEndEvent(Chain chain, Node node, Map<String, Object> result, Throwable error) { 031 super(chain); 032 this.node = node; 033 this.result = result; 034 this.error = error; 035 } 036 037 public Node getNode() { 038 return node; 039 } 040 041 public Map<String, Object> getResult() { 042 return result; 043 } 044 045 public Throwable getError() { 046 return error; 047 } 048 049 @Override 050 public String toString() { 051 return "NodeEndEvent{" + 052 "node=" + node + 053 ", result=" + result + 054 ", error=" + error + 055 ", chain=" + chain + 056 '}'; 057 } 058}