/**
 * Copyright 2017 - 2018  The Hyve B.V.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */ import { Aggregate } from '../aggregate-models/aggregate' ; import { ConceptType } from './concept-type' ; import { CountItem } from '../aggregate-models/count-item' ; export class Concept { private _type : ConceptType ; private _label : string ; private _aggregate : Aggregate ; private _code : string ; private _name : string ; private _fullName : string ; private _counts : CountItem ; private _selected = true ; private _subjectDimensions : string [ ] ; constructor ( ) { this . subjectDimensions = [ ] ; } copy ( ) { let c = new Concept ( ) ; c . type = this . type ; c . label = this . label ; c . aggregate = this . aggregate ; c . code = this . code ; c . name = this . name ; c . fullName = this . fullName ; c . counts = this . counts ; c . selected = this . selected ; c . subjectDimensions = this . subjectDimensions ; return c ; } get type ( ) : ConceptType { return this . _type ; } set type ( value ) { this . _type = value ; } get aggregate ( ) : Aggregate { return this . _aggregate ; } set aggregate ( value ) { this . _aggregate = value ; } get label ( ) : string { return this . _label ; } set label ( value ) { this . _label = value ; } get code ( ) : string { return this . _code ; } set code ( value ) { this . _code = value ; } get name ( ) : string { return this . _name ; } set name ( value ) { this . _name = value ; } get fullName ( ) : string { return this . _fullName ; } set fullName ( value ) { this . _fullName = value ; } get selected ( ) : boolean { return this . _selected ; } set selected ( value ) { this . _selected = value ; } get counts ( ) : CountItem { return this . _counts ; } set counts ( value ) { this . _counts = value ; } get subjectDimensions ( ) : string [ ] { return this . _subjectDimensions ; } set subjectDimensions ( value ) { this . _subjectDimensions = value ; } }