org.openmuc.openiec61850

## Class ServerModel

- java.lang.Object
- - org.openmuc.openiec61850.ModelNode
  - - org.openmuc.openiec61850.ServerModel

All Implemented Interfaces:
  java.lang.Iterable<ModelNode>

    public final class ServerModel
    extends ModelNode

### Field Summary

### Fields inherited from class org.openmuc.openiec61850.ModelNode

`children, objectReference`

### Constructor Summary

Constructors
Constructor and Description
`ServerModel(java.util.List<LogicalDevice> logicalDevices, java.util.Collection<DataSet> dataSets)`

### Method Summary

All Methods Instance Methods Concrete Methods
`ServerModel` `copy()` Returns a copy of model node with all of its children.
`ModelNode` `findModelNode(ObjectReference objectReference, Fc fc)` Searches and returns the model node with the given object reference and FC.
`ModelNode` `findModelNode(java.lang.String objectReference, Fc fc)` Searches and returns the model node with the given object reference and FC.
`Brcb` `getBrcb(java.lang.String reference)` Get the buffered report control block (BRCB) with the given reference.
`java.util.Collection<Brcb>` `getBrcbs()` Get a collection of all buffered report control blocks (BRCB) that exist in this model.
`DataSet` `getDataSet(java.lang.String reference)` Get the data set with the given reference.
`java.util.Collection<DataSet>` `getDataSets()` Get a collection of all data sets that exist in this model.
`Urcb` `getUrcb(java.lang.String reference)` Get the unbuffered report control block (URCB) with the given reference.
`java.util.Collection<Urcb>` `getUrcbs()` Get a collection of all unbuffered report control blocks (URCB) that exist in this model.
`java.lang.String` `toString()`

### Methods inherited from class org.openmuc.openiec61850.ModelNode

`getBasicDataAttributes, getChild, getChild, getChildren, getIterators, getName, getParent, getReference, iterator`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

### Constructor Detail

#### ServerModel

    public ServerModel(java.util.List<LogicalDevice> logicalDevices,
                       java.util.Collection<DataSet> dataSets)

### Method Detail

#### copy

    public ServerModel copy()

Description copied from class: `ModelNode`
Returns a copy of model node with all of its children. Creates new BasicDataAttribute values but reuses ObjectReferences, FunctionalConstraints.

Specified by:
  `copy` in class `ModelNode`
Returns:
  a copy of model node with all of its children.

#### getDataSet

    public DataSet getDataSet(java.lang.String reference)

Get the data set with the given reference. Return null if none is found.

Parameters:
  `reference` - the reference of the requested data set.
Returns:
  the data set with the given reference.

#### getDataSets

    public java.util.Collection<DataSet> getDataSets()

Get a collection of all data sets that exist in this model.

Returns:
  a collection of all data sets

#### getUrcb

    public Urcb getUrcb(java.lang.String reference)

Get the unbuffered report control block (URCB) with the given reference.

Parameters:
  `reference` - the reference of the requested URCB.
Returns:
  the reference to the requested URCB or null if none with the given reference is found.

#### getUrcbs

    public java.util.Collection<Urcb> getUrcbs()

Get a collection of all unbuffered report control blocks (URCB) that exist in this model.

Returns:
  a collection of all unbuffered report control blocks (URCB)

#### getBrcb

    public Brcb getBrcb(java.lang.String reference)

Get the buffered report control block (BRCB) with the given reference.

Parameters:
  `reference` - the reference of the requested BRCB.
Returns:
  the reference to the requested BRCB or null if none with the given reference is found.

#### getBrcbs

    public java.util.Collection<Brcb> getBrcbs()

Get a collection of all buffered report control blocks (BRCB) that exist in this model.

Returns:
  a collection of all buffered report control blocks (BRCB)

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `ModelNode`

#### findModelNode

    public ModelNode findModelNode(ObjectReference objectReference,
                                   Fc fc)

Searches and returns the model node with the given object reference and FC. If searching for Logical Devices and Logical Nodes the given fc parameter may be `null`.

Parameters:
  `objectReference` - the object reference of the node that is being searched for. It has a syntax like "ldname/ln.do....".
  `fc` - the functional constraint of the requested model node. May be null for Logical Device and Logical Node references.
Returns:
  the model node if it was found or null otherwise

#### findModelNode

    public ModelNode findModelNode(java.lang.String objectReference,
                                   Fc fc)

Searches and returns the model node with the given object reference and FC. If searching for Logical Devices and Logical Nodes the given fc parameter may be `null`.

Parameters:
  `objectReference` - the object reference of the node that is being searched for. It has a syntax like "ldname/ln.do....".
  `fc` - the functional constraint of the requested model node. May be null for Logical Device and Logical Node references.
Returns:
  the model node if it was found or null otherwise