/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// #ifndef __NW_SCHEMA_FIELD_H__ #define __NW_SCHEMA_FIELD_H__ #include "NwObject.h" #include "OdString.h" #include "NwSchemaTypes.h" /** This the base class for schema fields. */ class NWDBEXPORT OdNwSchemaField : public OdNwObject { //DOM-IGNORE-BEGIN ODRX_DECLARE_MEMBERS(OdNwSchemaField); //DOM-IGNORE-END public: /** \details Default constructor. */ OdNwSchemaField(); /** \details Explicit constructor. \param pImpl[in] OdNwObjectImpl object pointer to field implementation. */ explicit OdNwSchemaField(OdNwObjectImpl* pImpl); /** \details Virtual destructor. Frees allocated resources. */ virtual ~OdNwSchemaField() = default; public: /** \details Returns the identifier of field. \returns identifier of field as an OdString object. */ OdString getId() const; /** \details Returns the display name of field. \returns display name of field as an OdString object. */ OdString getDisplayName() const; /** \details Returns field-specific semantics associated with this field. \param concepts [out] OdArray with OdString as values. \returns eOk if the operation is successful, or an appropriate error code otherwise. */ OdResult getConcepts(OdArray& concepts) const; /** \details Type of field. \returns type of field as NwSchemaFieldType::Enum object. \remarks Flag type can be one of the following: Name Value Description NwSchemaFieldType::Enum::DOUBLE 0 Double type NwSchemaFieldType::Enum::GUID 1 GUID type NwSchemaFieldType::Enum::INT32 2 Integer type NwSchemaFieldType::Enum::BOOLEAN 3 Boolean type NwSchemaFieldType::Enum::STRING 4 String type NwSchemaFieldType::Enum::STRUCT 20 Struct type NwSchemaFieldType::Enum::VECTOR 21 Vector type NwSchemaFieldType::Enum::UNKNOWN 0xFFFF Unknown type
*/ NwSchemaFieldType::Enum getFieldType() const; /** \details method copyFrom need to clone. */ virtual void copyFrom(const OdRxObject* pSource); }; typedef OdSmartPtr OdNwSchemaFieldPtr; #endif //__NW_SCHEMA_FIELD_H__