001package jmri.jmrit.signalsystemeditor;
002
003import java.util.*;
004
005/**
006 * A signal mast type
007 * @author Daniel Bergqvist (C) 2022
008 */
009public class SignalMastType {
010
011    private final String _fileName;
012    private String _name;
013    private String _processingInstructionHRef;
014    private String _processingInstructionType;
015    private String _description;
016    private String _aspectTable;
017    private String _appearanceSchema;
018    private final List<StringWithLinks> _references = new ArrayList<>();
019    private final List<StringWithLinks> _descriptions = new ArrayList<>();
020    private final List<Appearance> _appearances = new ArrayList<>();
021    private final SpecificAppearance _appearanceDanger = new SpecificAppearance();
022    private final SpecificAppearance _appearancePermissive = new SpecificAppearance();
023    private final SpecificAppearance _appearanceHeld = new SpecificAppearance();
024    private final SpecificAppearance _appearanceDark = new SpecificAppearance();
025    private final List<AspectMapping> _aspectMappings = new ArrayList<>();
026    private final List<Author> _authors = new ArrayList<>();
027    private final List<Revision> _revisions = new ArrayList<>();
028    private final Copyright _copyright = new Copyright();
029
030    public SignalMastType(String fileName) {
031        this._fileName = fileName;
032    }
033
034    public String getFileName() {
035        return this._fileName;
036    }
037
038    public void setName(String name) {
039        this._name = name;
040    }
041
042    public String getName() {
043        return this._name;
044    }
045
046    public void setProcessingInstructionHRef(String href) {
047        this._processingInstructionHRef = href;
048    }
049
050    public String getProcessingInstructionHRef() {
051        return _processingInstructionHRef;
052    }
053
054    public void setProcessingInstructionType(String type) {
055        this._processingInstructionType = type;
056    }
057
058    public String getProcessingInstructionType() {
059        return _processingInstructionType;
060    }
061
062    public Copyright getCopyright() {
063        return this._copyright;
064    }
065
066    public List<Author> getAuthors() {
067        return this._authors;
068    }
069
070    public List<Revision> getRevisions() {
071        return this._revisions;
072    }
073
074    public List<StringWithLinks> getReferences() {
075        return this._references;
076    }
077
078    public List<StringWithLinks> getDescriptions() {
079        return this._descriptions;
080    }
081
082    public List<Appearance> getAppearances() {
083        return this._appearances;
084    }
085
086    public SpecificAppearance getAppearanceDanger() {
087        return this._appearanceDanger;
088    }
089
090    public SpecificAppearance getAppearancePermissive() {
091        return this._appearancePermissive;
092    }
093
094    public SpecificAppearance getAppearanceHeld() {
095        return this._appearanceHeld;
096    }
097
098    public SpecificAppearance getAppearanceDark() {
099        return this._appearanceDark;
100    }
101
102    public List<AspectMapping> getAspectMappings() {
103        return this._aspectMappings;
104    }
105
106    public void setDescription(String description) {
107        this._description = description;
108    }
109
110    public String getDescription() {
111        return this._description;
112    }
113
114    public void setAspectTable(String aspectTable) {
115        this._aspectTable = aspectTable;
116    }
117
118    public String getAspectTable() {
119        return this._aspectTable;
120    }
121
122    public void setAppearanceSchema(String schema) {
123        this._appearanceSchema = schema;
124    }
125
126    public String getAppearanceSchema() {
127        return this._appearanceSchema;
128    }
129
130}