diff options
Diffstat (limited to 'sdo-cpp/branches/sdo-cpp-pre2.1/runtime/core/src/commonj/sdo/PropertyDefinition.cpp')
-rw-r--r-- | sdo-cpp/branches/sdo-cpp-pre2.1/runtime/core/src/commonj/sdo/PropertyDefinition.cpp | 323 |
1 files changed, 323 insertions, 0 deletions
diff --git a/sdo-cpp/branches/sdo-cpp-pre2.1/runtime/core/src/commonj/sdo/PropertyDefinition.cpp b/sdo-cpp/branches/sdo-cpp-pre2.1/runtime/core/src/commonj/sdo/PropertyDefinition.cpp new file mode 100644 index 0000000000..6b3d802323 --- /dev/null +++ b/sdo-cpp/branches/sdo-cpp-pre2.1/runtime/core/src/commonj/sdo/PropertyDefinition.cpp @@ -0,0 +1,323 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/* $Rev$ $Date$ */ + +#include "commonj/sdo/PropertyDefinition.h" +#include "commonj/sdo/PropertyDefinitionImpl.h" + +namespace commonj +{ + namespace sdo + { + + PropertyDefinition::PropertyDefinition() + { + propertydefinition = new PropertyDefinitionImpl(); + } + + PropertyDefinition::~PropertyDefinition() + { + if (propertydefinition) delete propertydefinition; + } + + void PropertyDefinition::copy (const PropertyDefinition& pd) + { + if (propertydefinition != 0) delete propertydefinition; + propertydefinition = new PropertyDefinitionImpl(*(pd.propertydefinition)); + } + + PropertyDefinition::PropertyDefinition(const PropertyDefinition& pd) + { + copy(pd); + } + + PropertyDefinition& PropertyDefinition::operator=(const PropertyDefinition& pd) + { + if (this != &pd) + { + copy(pd); + } + return *this; + } + + PropertyDefinitionImpl* PropertyDefinition::getPropertyDefinition() + { + return propertydefinition; + } + + // where this property is to be substituted for another + void PropertyDefinition::setSubstituteName(const char * name) + { + propertydefinition->substituteName = name; + } + void PropertyDefinition::setSubstituteName(const SDOString& name) + { + propertydefinition->substituteName = name.c_str(); + } + + const char* PropertyDefinition::getSubstituteName() const + { + return (const char *)propertydefinition->substituteName; + } + + + void PropertyDefinition::setSubstituteUri(const char* name) + { + propertydefinition->substituteUri = name; + } + void PropertyDefinition::setSubstituteUri(const SDOString& name) + { + propertydefinition->substituteUri = name.c_str(); + } + + const char* PropertyDefinition::getSubstituteUri() const + { + return (const char*)propertydefinition->substituteUri; + } + + // where there are substitute names for this property. + void PropertyDefinition::addSubstitute(const SDOString& name, + const SDOString& localname) + { + propertydefinition->substituteNames.push_back(name.c_str()); + propertydefinition->substituteLocalNames.push_back(localname.c_str()); + } + + int PropertyDefinition::getSubstituteCount() const + { + return propertydefinition->substituteNames.size(); + } + + const char* PropertyDefinition::getSubstituteNames(unsigned int index) const + { + if (index >= 0 && index < propertydefinition->substituteNames.size()) + { + return propertydefinition->substituteNames[index];; + } + return 0; + } + + const char* PropertyDefinition::getSubstituteLocalNames(unsigned int index) const + { + if (index >= 0 && index < propertydefinition->substituteLocalNames.size()) + { + return propertydefinition->substituteLocalNames[index];; + } + return 0; + } + + + void PropertyDefinition::setAliases(const char* aliases) + { + propertydefinition->aliases = aliases; + } + void PropertyDefinition::setAliases(const SDOString& aliases) + { + propertydefinition->aliases = aliases.c_str(); + } + + const char* PropertyDefinition::getAliases() const + { + return (const char *)propertydefinition->aliases; + } + + void PropertyDefinition::setName(const char* name) + { + propertydefinition->name = name; + } + void PropertyDefinition::setName(const SDOString& name) + { + propertydefinition->name = name.c_str(); + } + + const char* PropertyDefinition::getName() const + { + return (const char *)propertydefinition->name; + } + + void PropertyDefinition::setLocalName(const char* name) + { + propertydefinition->localname = name; + } + void PropertyDefinition::setLocalName(const SDOString& name) + { + propertydefinition->localname = name.c_str(); + } + + const char* PropertyDefinition::getLocalName() const + { + return (const char*)propertydefinition->localname; + } + + void PropertyDefinition::setType(const char* uri, const char* name) + { + propertydefinition->typeUri = uri; + propertydefinition->typeName = name; + propertydefinition->fullTypeName = uri; + propertydefinition->fullTypeName += "#"; + propertydefinition->fullTypeName += name; + } + void PropertyDefinition::setType(const SDOString& uri, const SDOString& name) + { + propertydefinition->typeUri = uri.c_str(); + propertydefinition->typeName = name.c_str(); + propertydefinition->fullTypeName = uri.c_str(); + propertydefinition->fullTypeName += "#"; + propertydefinition->fullTypeName += name.c_str(); + } + + const char * PropertyDefinition::getTypeName() const + { + return propertydefinition->typeName; + } + + const char * PropertyDefinition::getTypeUri() const + { + return propertydefinition->typeUri; + } + + const char * PropertyDefinition::getTypeFullName() const + { + return propertydefinition->fullTypeName; + } + + const char * PropertyDefinition::getTypeFullLocalName() const + { + return propertydefinition->fullLocalTypeName; + } + + void PropertyDefinition::setTypeFullLocalName(const char* name) + { + propertydefinition->fullLocalTypeName = name; + } + void PropertyDefinition::setTypeFullLocalName(const SDOString& name) + { + propertydefinition->fullLocalTypeName = name.c_str(); + } + + + void PropertyDefinition::setDefaultValue(const char* value) + { + propertydefinition->defaultValue = value; + } + void PropertyDefinition::setDefaultValue(const SDOString& value) + { + propertydefinition->defaultValue = value.c_str(); + } + + const char* PropertyDefinition::getDefaultValue() const + { + return propertydefinition->defaultValue; + } + + bool PropertyDefinition::getIsMany() const + { + return propertydefinition->isMany; + } + + bool PropertyDefinition::getIsContainment() const + { + return propertydefinition->isContainment; + } + + bool PropertyDefinition::getIsReadOnly() const + { + return propertydefinition->isReadOnly; + } + + bool PropertyDefinition::getIsID() const + { + return propertydefinition->isID; + } + + bool PropertyDefinition::getIsIDREF() const + { + return propertydefinition->isIDREF; + } + + bool PropertyDefinition::getIsReference() const + { + return propertydefinition->isReference; + } + + bool PropertyDefinition::getIsElement() const + { + return propertydefinition->isElement; + } + + bool PropertyDefinition::getIsQName() const + { + return propertydefinition->isQName; + } + + bool PropertyDefinition::getIsSubstitute() const + { + return propertydefinition->isSubstitute; + } + + + void PropertyDefinition::setIsMany(bool value) + { + propertydefinition->isMany = value; + } + + void PropertyDefinition::setIsContainment(bool value) + { + propertydefinition->isContainment = value; + } + + void PropertyDefinition::setIsReadOnly(bool value) + { + propertydefinition->isReadOnly = value; + } + + void PropertyDefinition::setIsID(bool value) + { + propertydefinition->isID = value; + } + + void PropertyDefinition::setIsIDREF(bool value) + { + propertydefinition->isIDREF = value; + } + + void PropertyDefinition::setIsReference(bool value) + { + propertydefinition->isReference = value; + } + + void PropertyDefinition::setIsElement(bool value) + { + propertydefinition->isElement = value; + } + + void PropertyDefinition::setIsQName(bool value) + { + propertydefinition->isQName = value; + } + + void PropertyDefinition::setIsSubstitute(bool value) + { + propertydefinition->isSubstitute = value; + } + + + } // End - namespace sdo +} // End - namespace commonj |