1   /*
2    * SPDX-FileCopyrightText: none
3    * SPDX-License-Identifier: CC0-1.0
4    */
5   
6   package dev.metaschema.core.mdm.impl;
7   
8   import dev.metaschema.core.mdm.IDMNodeItem;
9   import dev.metaschema.core.metapath.item.node.AbstractNodeItem;
10  import dev.metaschema.core.model.IResourceLocation;
11  import edu.umd.cs.findbugs.annotations.Nullable;
12  
13  /**
14   * This abstract Metapath assmebly node item implementation supports creating a
15   * Metaschema module-based data model.
16   */
17  public abstract class AbstractDMNodeItem
18      extends AbstractNodeItem
19      implements IDMNodeItem {
20    @Nullable
21    private IResourceLocation resourceLocation; // null
22  
23    /**
24     * Construct a new node item.
25     */
26    protected AbstractDMNodeItem() {
27      // only allow extending classes to create instances
28    }
29  
30    @Override
31    public IResourceLocation getLocation() {
32      return resourceLocation;
33    }
34  
35    @Override
36    public void setLocation(IResourceLocation location) {
37      this.resourceLocation = location;
38    }
39  }