blob: c924e0993c991700c74d8e8a446d3c8406413a51 [file] [log] [blame]
/*
* Copyright 2003-2004 The Apache Software Foundation.
// (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved
*
* Licensed 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.
*/
/**
* @file IAttribute.hpp
*
*
*/
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
/* NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE */
/* ---------------------------------------------------------------- */
/* CHANGES TO hpp HEADER FILE MAY NEED TO BE PROPAGATED TO THE */
/* C-EQUIVALENT HEADER FILE IN SUPPORT OF THE C-BINDING INTERFACES. */
/* ---------------------------------------------------------------- */
/* NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE */
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
#if !defined(_IATTRIBUTE_H____OF_AXIS_INCLUDED_)
#define _IATTRIBUTE_H____OF_AXIS_INCLUDED_
#include <axis/GDefine.hpp>
AXIS_CPP_NAMESPACE_START
/**
* @class IAttribute
* @brief interface for the IAttribute class.
*
*/
class IAttribute
{
public:
virtual ~IAttribute() {};
/**
* Get the value of this attribute
* @return The value of this attribute
*/
virtual const AxisChar* getValue() = 0;
/**
* Get the URI of this attribute
* @return The URI of this attribute
*/
virtual const AxisChar* getURI() = 0;
/**
* Get the prefix of this attribute
* @return The prefix of this attribute
*/
virtual const AxisChar* getPrefix() = 0;
/**
* Get the local name of this attribute
* @return The local name of this attribute
*/
virtual const AxisChar* getLocalName() = 0;
/**
* try to set theattribute with given value
* @param value to set
* @return AXIS_SUCCESS if succeeded, AXIS_FAIL otherwise. NOTE: Passing NULL will result in a AXIS_SUCCESS
*/
virtual int setValue(const AxisChar* value) = 0;
/**
* try to set the URI
* @param uri to set
* @return AXIS_SUCCESS if succeeded, AXIS_FAIL otherwise. NOTE: Passing NULL will result in a AXIS_SUCCESS
*/
virtual int setURI(const AxisChar* uri) = 0;
/**
* try to set the prefix with given value
* @param prefix to set
* @return AXIS_SUCCESS if succeeded, AXIS_FAIL otherwise. NOTE: Passing NULL will result in a AXIS_SUCCESS
*/
virtual int setPrefix(const AxisChar* prefix) = 0;
/**
* try to set the attribute with given value
* @param localname to be set
* @return AXIS_SUCCESS if succeeded, AXIS_FAIL otherwise. NOTE: Passing NULL will result in a AXIS_SUCCESS
*/
virtual int setLocalName(const AxisChar* localname) = 0;
/**
* Get the value of this attribute.
* @return The value of this attribute.
*/
};
AXIS_CPP_NAMESPACE_END
#endif