f049dea7b14965eea8b4a0418b28db7ce9e63a07
[osm/riftware.git] /
1 /*
2  *    Copyright 2016 RIFT.IO Inc
3  *
4  *    Licensed under the Apache License, Version 2.0 (the "License");
5  *    you may not use this file except in compliance with the License.
6  *    You may obtain a copy of the License at
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *    Unless required by applicable law or agreed to in writing, software
11  *    distributed under the License is distributed on an "AS IS" BASIS,
12  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *    See the License for the specific language governing permissions and
14  *    limitations under the License.
15  */
16
17 /*
18  * STANDARD_RIFT_IO_COPYRIGHT
19  */
20 /**
21  * Created by onvelocity on 11/23/15.
22  */
23
24 'use strict';
25
26 import Position from '../../graph/Position'
27 import DescriptorModel from '../DescriptorModel'
28 import RspConnectionPointRef from './RspConnectionPointRef'
29 import VnfdConnectionPointRef from './VnfdConnectionPointRef'
30
31 /**
32  * A VirtualNetworkFunctionConnectionPoint is always a child of a VNFD. We use it to build VnfdConnectionPointRef instances. So convenience
33  * methods are add to access the fields needed to do that.
34  */
35 export default class ClassifierMatchAttributes extends DescriptorModel {
36
37         static get type() {
38                 return 'match-attributes';
39         }
40
41         static get className() {
42                 return 'ClassifierMatchAttributes';
43         }
44
45         static get qualifiedType() {
46                 return 'nsd.vnffgd.classifier.' + ClassifierMatchAttributes.type;
47         }
48
49         constructor(model, parent) {
50                 super(model, parent);
51                 this.type = ClassifierMatchAttributes.type;
52                 this.uiState['qualified-type'] = ClassifierMatchAttributes.qualifiedType;
53                 this.className = ClassifierMatchAttributes.className;
54                 this.position = new Position();
55         }
56
57         getFieldValue(name) {
58                 return this.model[name];
59         }
60
61         setFieldValue(name, value) {
62                 this.model[name] = value;
63         }
64
65         remove() {
66                 return this.parent.removeMatchAttributes(this);
67         }
68
69 }