/** * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com). *

* 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 org.springblade.system.vo; import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.annotations.ApiModel; import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.core.tool.node.INode; import org.springblade.system.entity.Menu; import java.util.ArrayList; import java.util.List; /** * 视图实体类 * * @author Chill */ @Data @EqualsAndHashCode(callSuper = true) @ApiModel(value = "MenuVO对象", description = "MenuVO对象") public class MenuVO extends Menu implements INode { private static final long serialVersionUID = 1L; /** * 主键ID */ private Integer id; /** * 父节点ID */ private Integer parentId; /** * 子孙节点 */ @JsonInclude(JsonInclude.Include.NON_EMPTY) private List children; @Override public List getChildren() { if (this.children == null) { this.children = new ArrayList<>(); } return this.children; } /** * 上级菜单 */ private String parentName; /** * 菜单类型 */ private String categoryName; /** * 按钮功能 */ private String actionName; /** * 是否新窗口打开 */ private String isOpenName; }