Class: AnnotableBean

bean.base. AnnotableBean

An AnnotableBean Bean is one which can contain annotations

NOTE: This class is abstract


new AnnotableBean( [json])

Parameters:
Name Type Argument Description
json object <optional>

The json to build this object from, if none supplied, default json will be created

Extends

Methods


clone()

Return a copy of this structure

Inherited From:

getAgencyId()

Returns the Id of the Agency who is responsible for maintaining this structure

Inherited From:
Returns:

The Agency Id

Type
string

getAnnotations()

Returns an array of bean.base.AnnotationBean for this structure, or an empty array if there are none

Returns:

Array of AnnotationBean's for this Object

Type
Array.<bean.base.AnnotationBean>

getAnnotationsWithTitle(title)

Returns an array of bean.base.AnnotationBean with the given title, or an empty array if none exist

Parameters:
Name Type Description
title string

the title to of the Annotation

Returns:

Array of Annotation beans

Type
Array.<bean.base.AnnotationBean>

getAnnotationsWithType(type)

Returns an array of bean.base.AnnotationBean with the given type, or an empty array if none exist

Parameters:
Name Type Description
type string

the type to of the Annotation

Returns:

Array of Annotation beans

Type
Array.<bean.base.AnnotationBean>

getClassType( [bean])

Get the name of the class of this object

Parameters:
Name Type Argument Default Description
bean boolean <optional>
false

If true, the word "bean" will be omitted

Inherited From:
Throws:

If the first argument is supplied but not a boolean

Type
TypeError
Returns:

Name of the class type (constructor)

Type
string
Example
let myCodelist = new CodelistBean(jsonFromServer);
myCodelist.getClassType(); // returns 'CodelistBean' 
myCodelist.getClassType(true); // returns 'Codelist' 

getGuid()

Returns a non-editable unique Identifier for this bean, for client side only.

This GUID is generated automatically on the client on construction, the GUID is completely random and will not be the same for a structure with the same URN if the physical object differes.

Inherited From:
Returns:

An immutable string containing the a unique identifier for this structure

Type
string
Example
var jsonCL = 'get JSON from server
var codelist1 = new Codelist(jsonCL);
var codelist2 = new Codelist(jsonCL);

console.log(codelist1.getUrn() === codelist2.getUrn()); //outputs true
console.log(codelist1._guid() === codelist2._guid()); //outputs false

getMaintainableParent()

Returns the bean.base.MaintainableBean to which which this structure belongs. All structures must either be a MaintainableBean or be contained within a MaintainableBean.

If this class is a MaintainableBean, then it will return itself as MaintainableBean is the outermost container for all structures

Inherited From:
Returns:

This objects maintainable parent

Type
bean.base.MaintainableBean
Example
var annualCode = myCodeList.getItem("A");
annualCode.getMaintainableParent() // returns 'myCodeList'

getParent( [clazz])

Get the parent structure for which this structure is contained

Parameters:
Name Type Argument Description
clazz object <optional>

If supplied will walk up the parent hierarchy until the parent is of this type

Inherited From:
Returns:

The parent for this object

Type
bean.base.Bean
Example
var dsd = dimension.getParent(DataStructureBean); // note that 'DataStructureBean' is not a string but a Class

hasAnnotations()

Returns true if there are at least one annotation on this bean

Returns:
Type
boolean

hasAnnotationsWithType(type)

Returns true if this has annotations with the given type

Parameters:
Name Type Description
type string

the type to of the Annotation

Returns:

true if annotations exist with the given type

Type
boolean

hasAnnotationsWithType(title)

Returns true if this has annotations with the given title

Parameters:
Name Type Description
title string

the title to of the Annotation

Returns:

true if annotations exist with the given title

Type
boolean

toString()

Returns a string that represents this Bean.

If this Bean is an bean.base.IdentifiableBean then this will output the URN, otherwise the GUID will be returned

Inherited From:
Returns:

The URN or GUID

Type
string
Example
let myCodelist = new CodelistBean(jsonFromServer);
myCodelist.toString() // returns: 'urn:sdmx:org.sdmx.infomodel.codelist.Codelist=SDMX:CL_FREQ(1.0)'