github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/appdef/impl_object.go (about)

     1  /*
     2   * Copyright (c) 2021-present Sigma-Soft, Ltd.
     3   * @author: Nikolay Nikitin
     4   */
     5  
     6  package appdef
     7  
     8  // # Implements:
     9  //   - IObject
    10  type object struct {
    11  	structure
    12  }
    13  
    14  func newObject(app *appDef, name QName) *object {
    15  	o := &object{}
    16  	o.structure = makeStructure(app, name, TypeKind_Object)
    17  	app.appendType(o)
    18  	return o
    19  }
    20  
    21  func (o *object) isObject() {}
    22  
    23  // # Implements:
    24  //   - IObjectBuilder
    25  type objectBuilder struct {
    26  	structureBuilder
    27  	*object
    28  }
    29  
    30  func newObjectBuilder(object *object) *objectBuilder {
    31  	return &objectBuilder{
    32  		structureBuilder: makeStructureBuilder(&object.structure),
    33  		object:           object,
    34  	}
    35  }