com.github._1c_syntax.bsl.mdo.children.ExternalDataSourceTable Maven / Gradle / Ivy
/*
* This file is a part of MDClasses.
*
* Copyright (c) 2019 - 2024
* Tymko Oleg , Maximov Valery and contributors
*
* SPDX-License-Identifier: LGPL-3.0-or-later
*
* MDClasses is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3.0 of the License, or (at your option) any later version.
*
* MDClasses is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with MDClasses.
*/
package com.github._1c_syntax.bsl.mdo.children;
import com.github._1c_syntax.bsl.mdo.Attribute;
import com.github._1c_syntax.bsl.mdo.AttributeOwner;
import com.github._1c_syntax.bsl.mdo.CommandOwner;
import com.github._1c_syntax.bsl.mdo.FormOwner;
import com.github._1c_syntax.bsl.mdo.MDChild;
import com.github._1c_syntax.bsl.mdo.Module;
import com.github._1c_syntax.bsl.mdo.ModuleOwner;
import com.github._1c_syntax.bsl.mdo.TemplateOwner;
import com.github._1c_syntax.bsl.mdo.support.DataLockControlMode;
import com.github._1c_syntax.bsl.mdo.support.MultiLanguageString;
import com.github._1c_syntax.bsl.mdo.support.ObjectBelonging;
import com.github._1c_syntax.bsl.support.SupportVariant;
import com.github._1c_syntax.bsl.types.MdoReference;
import lombok.Builder;
import lombok.Builder.Default;
import lombok.EqualsAndHashCode;
import lombok.Singular;
import lombok.ToString;
import lombok.Value;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
@Value
@Builder
@ToString(of = {"name", "uuid"})
@EqualsAndHashCode(of = {"name", "uuid"})
public class ExternalDataSourceTable implements MDChild, ModuleOwner, CommandOwner, AttributeOwner, FormOwner,
TemplateOwner {
/*
* Для MDChild
*/
@Default
String uuid = "";
@Default
String name = "";
@Default
MdoReference mdoReference = MdoReference.EMPTY;
@Default
ObjectBelonging objectBelonging = ObjectBelonging.OWN;
@Default
String comment = "";
@Default
MultiLanguageString synonym = MultiLanguageString.EMPTY;
@Default
SupportVariant supportVariant = SupportVariant.NONE;
@Default
MdoReference owner = MdoReference.EMPTY;
/*
* ModuleOwner
*/
@Default
List modules = Collections.emptyList();
/*
* CommandOwner
*/
@Singular
List commands;
/*
* AttributeOwner
*/
/**
* Поля
*/
@Singular
List fields;
/*
* FormOwner
*/
@Singular
List forms;
/*
* TemplateOwner
*/
@Singular
List templates;
/*
* Свое
*/
/**
* Режим управления блокировкой
*/
@Default
DataLockControlMode dataLockControlMode = DataLockControlMode.AUTOMATIC;
@Override
public List getAllAttributes() {
return getFields().stream().map(Attribute.class::cast).collect(Collectors.toList());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy