/*================================================================================
  code generated by: java2cpp
  author: Zoran Angelov, mailto://baldzar@gmail.com
  class: org.apache.http.message.BasicHeaderElement
================================================================================*/


#ifndef J2CPP_INCLUDE_IMPLEMENTATION

#ifndef J2CPP_ORG_APACHE_HTTP_MESSAGE_BASICHEADERELEMENT_HPP_DECL
#define J2CPP_ORG_APACHE_HTTP_MESSAGE_BASICHEADERELEMENT_HPP_DECL


namespace j2cpp { namespace org { namespace apache { namespace http { class NameValuePair; } } } }
namespace j2cpp { namespace org { namespace apache { namespace http { class HeaderElement; } } } }
namespace j2cpp { namespace java { namespace lang { class String; } } }
namespace j2cpp { namespace java { namespace lang { class Object; } } }
namespace j2cpp { namespace java { namespace lang { class Cloneable; } } }


#include <java/lang/Cloneable.hpp>
#include <java/lang/Object.hpp>
#include <java/lang/String.hpp>
#include <org/apache/http/HeaderElement.hpp>
#include <org/apache/http/NameValuePair.hpp>


namespace j2cpp {

namespace org { namespace apache { namespace http { namespace message {

	class BasicHeaderElement;
	class BasicHeaderElement
		: public object<BasicHeaderElement>
	{
	public:

		J2CPP_DECLARE_CLASS

		J2CPP_DECLARE_METHOD(0)
		J2CPP_DECLARE_METHOD(1)
		J2CPP_DECLARE_METHOD(2)
		J2CPP_DECLARE_METHOD(3)
		J2CPP_DECLARE_METHOD(4)
		J2CPP_DECLARE_METHOD(5)
		J2CPP_DECLARE_METHOD(6)
		J2CPP_DECLARE_METHOD(7)
		J2CPP_DECLARE_METHOD(8)
		J2CPP_DECLARE_METHOD(9)
		J2CPP_DECLARE_METHOD(10)
		J2CPP_DECLARE_METHOD(11)

		explicit BasicHeaderElement(jobject jobj)
		: object<BasicHeaderElement>(jobj)
		{
		}

		operator local_ref<org::apache::http::HeaderElement>() const;
		operator local_ref<java::lang::Object>() const;
		operator local_ref<java::lang::Cloneable>() const;


		BasicHeaderElement(local_ref< java::lang::String > const&, local_ref< java::lang::String > const&, local_ref< array< local_ref< org::apache::http::NameValuePair >, 1> > const&);
		BasicHeaderElement(local_ref< java::lang::String > const&, local_ref< java::lang::String > const&);
		local_ref< java::lang::String > getName();
		local_ref< java::lang::String > getValue();
		local_ref< array< local_ref< org::apache::http::NameValuePair >, 1> > getParameters();
		jint getParameterCount();
		local_ref< org::apache::http::NameValuePair > getParameter(jint);
		local_ref< org::apache::http::NameValuePair > getParameterByName(local_ref< java::lang::String >  const&);
		jboolean equals(local_ref< java::lang::Object >  const&);
		jint hashCode();
		local_ref< java::lang::String > toString();
		local_ref< java::lang::Object > clone();
	}; //class BasicHeaderElement

} //namespace message
} //namespace http
} //namespace apache
} //namespace org

} //namespace j2cpp

#endif //J2CPP_ORG_APACHE_HTTP_MESSAGE_BASICHEADERELEMENT_HPP_DECL

#else //J2CPP_INCLUDE_IMPLEMENTATION

#ifndef J2CPP_ORG_APACHE_HTTP_MESSAGE_BASICHEADERELEMENT_HPP_IMPL
#define J2CPP_ORG_APACHE_HTTP_MESSAGE_BASICHEADERELEMENT_HPP_IMPL

namespace j2cpp {



org::apache::http::message::BasicHeaderElement::operator local_ref<org::apache::http::HeaderElement>() const
{
	return local_ref<org::apache::http::HeaderElement>(get_jobject());
}

org::apache::http::message::BasicHeaderElement::operator local_ref<java::lang::Object>() const
{
	return local_ref<java::lang::Object>(get_jobject());
}

org::apache::http::message::BasicHeaderElement::operator local_ref<java::lang::Cloneable>() const
{
	return local_ref<java::lang::Cloneable>(get_jobject());
}


org::apache::http::message::BasicHeaderElement::BasicHeaderElement(local_ref< java::lang::String > const &a0, local_ref< java::lang::String > const &a1, local_ref< array< local_ref< org::apache::http::NameValuePair >, 1> > const &a2)
: object<org::apache::http::message::BasicHeaderElement>(
	call_new_object<
		org::apache::http::message::BasicHeaderElement::J2CPP_CLASS_NAME,
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_NAME(0),
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_SIGNATURE(0)
	>(a0, a1, a2)
)
{
}



org::apache::http::message::BasicHeaderElement::BasicHeaderElement(local_ref< java::lang::String > const &a0, local_ref< java::lang::String > const &a1)
: object<org::apache::http::message::BasicHeaderElement>(
	call_new_object<
		org::apache::http::message::BasicHeaderElement::J2CPP_CLASS_NAME,
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_NAME(1),
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_SIGNATURE(1)
	>(a0, a1)
)
{
}


local_ref< java::lang::String > org::apache::http::message::BasicHeaderElement::getName()
{
	return call_method<
		org::apache::http::message::BasicHeaderElement::J2CPP_CLASS_NAME,
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_NAME(2),
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_SIGNATURE(2), 
		local_ref< java::lang::String >
	>(get_jobject());
}

local_ref< java::lang::String > org::apache::http::message::BasicHeaderElement::getValue()
{
	return call_method<
		org::apache::http::message::BasicHeaderElement::J2CPP_CLASS_NAME,
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_NAME(3),
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_SIGNATURE(3), 
		local_ref< java::lang::String >
	>(get_jobject());
}

local_ref< array< local_ref< org::apache::http::NameValuePair >, 1> > org::apache::http::message::BasicHeaderElement::getParameters()
{
	return call_method<
		org::apache::http::message::BasicHeaderElement::J2CPP_CLASS_NAME,
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_NAME(4),
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_SIGNATURE(4), 
		local_ref< array< local_ref< org::apache::http::NameValuePair >, 1> >
	>(get_jobject());
}

jint org::apache::http::message::BasicHeaderElement::getParameterCount()
{
	return call_method<
		org::apache::http::message::BasicHeaderElement::J2CPP_CLASS_NAME,
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_NAME(5),
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_SIGNATURE(5), 
		jint
	>(get_jobject());
}

local_ref< org::apache::http::NameValuePair > org::apache::http::message::BasicHeaderElement::getParameter(jint a0)
{
	return call_method<
		org::apache::http::message::BasicHeaderElement::J2CPP_CLASS_NAME,
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_NAME(6),
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_SIGNATURE(6), 
		local_ref< org::apache::http::NameValuePair >
	>(get_jobject(), a0);
}

local_ref< org::apache::http::NameValuePair > org::apache::http::message::BasicHeaderElement::getParameterByName(local_ref< java::lang::String > const &a0)
{
	return call_method<
		org::apache::http::message::BasicHeaderElement::J2CPP_CLASS_NAME,
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_NAME(7),
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_SIGNATURE(7), 
		local_ref< org::apache::http::NameValuePair >
	>(get_jobject(), a0);
}

jboolean org::apache::http::message::BasicHeaderElement::equals(local_ref< java::lang::Object > const &a0)
{
	return call_method<
		org::apache::http::message::BasicHeaderElement::J2CPP_CLASS_NAME,
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_NAME(8),
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_SIGNATURE(8), 
		jboolean
	>(get_jobject(), a0);
}

jint org::apache::http::message::BasicHeaderElement::hashCode()
{
	return call_method<
		org::apache::http::message::BasicHeaderElement::J2CPP_CLASS_NAME,
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_NAME(9),
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_SIGNATURE(9), 
		jint
	>(get_jobject());
}

local_ref< java::lang::String > org::apache::http::message::BasicHeaderElement::toString()
{
	return call_method<
		org::apache::http::message::BasicHeaderElement::J2CPP_CLASS_NAME,
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_NAME(10),
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_SIGNATURE(10), 
		local_ref< java::lang::String >
	>(get_jobject());
}

local_ref< java::lang::Object > org::apache::http::message::BasicHeaderElement::clone()
{
	return call_method<
		org::apache::http::message::BasicHeaderElement::J2CPP_CLASS_NAME,
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_NAME(11),
		org::apache::http::message::BasicHeaderElement::J2CPP_METHOD_SIGNATURE(11), 
		local_ref< java::lang::Object >
	>(get_jobject());
}


J2CPP_DEFINE_CLASS(org::apache::http::message::BasicHeaderElement,"org/apache/http/message/BasicHeaderElement")
J2CPP_DEFINE_METHOD(org::apache::http::message::BasicHeaderElement,0,"<init>","(Ljava/lang/String;Ljava/lang/String;[org.apache.http.NameValuePair)V")
J2CPP_DEFINE_METHOD(org::apache::http::message::BasicHeaderElement,1,"<init>","(Ljava/lang/String;Ljava/lang/String;)V")
J2CPP_DEFINE_METHOD(org::apache::http::message::BasicHeaderElement,2,"getName","()Ljava/lang/String;")
J2CPP_DEFINE_METHOD(org::apache::http::message::BasicHeaderElement,3,"getValue","()Ljava/lang/String;")
J2CPP_DEFINE_METHOD(org::apache::http::message::BasicHeaderElement,4,"getParameters","()[org.apache.http.NameValuePair")
J2CPP_DEFINE_METHOD(org::apache::http::message::BasicHeaderElement,5,"getParameterCount","()I")
J2CPP_DEFINE_METHOD(org::apache::http::message::BasicHeaderElement,6,"getParameter","(I)Lorg/apache/http/NameValuePair;")
J2CPP_DEFINE_METHOD(org::apache::http::message::BasicHeaderElement,7,"getParameterByName","(Ljava/lang/String;)Lorg/apache/http/NameValuePair;")
J2CPP_DEFINE_METHOD(org::apache::http::message::BasicHeaderElement,8,"equals","(Ljava/lang/Object;)Z")
J2CPP_DEFINE_METHOD(org::apache::http::message::BasicHeaderElement,9,"hashCode","()I")
J2CPP_DEFINE_METHOD(org::apache::http::message::BasicHeaderElement,10,"toString","()Ljava/lang/String;")
J2CPP_DEFINE_METHOD(org::apache::http::message::BasicHeaderElement,11,"clone","()Ljava/lang/Object;")

} //namespace j2cpp

#endif //J2CPP_ORG_APACHE_HTTP_MESSAGE_BASICHEADERELEMENT_HPP_IMPL

#endif //J2CPP_INCLUDE_IMPLEMENTATION
