00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
#ifndef PartId_CLASS
00028
#define PartId_CLASS
00029
00030
#include <string>
00031
using std::string;
00032
00033
#include <InvalidArgumentException.h>
00034
using asdm::InvalidArgumentException;
00035
00036
#include "EndianStream.h"
00037
using asdm::EndianOSStream;
00038
using asdm::EndianISStream;
00039
00040
namespace asdm {
00041
00048 class PartId {
00049
00050
public:
00051
static string validate(string x);
00052
00053
PartId();
00054
PartId(
const PartId &);
00055
PartId(
const string &
id)
throw (
InvalidArgumentException);
00056
virtual ~
PartId();
00057
00058
bool equals(
const PartId &)
const;
00059
00060 string toString()
const;
00061
00062
void setId(
const string &s)
throw (
InvalidArgumentException);
00063
00067
void toBin(EndianOSStream& eoss);
00068
00076
static PartId fromBin(EndianISStream& eiss);
00077
private:
00078 string
id;
00079
00080 };
00081
00082
00083
inline PartId::PartId() { }
00084
00085
inline PartId::PartId(
const PartId &x) : id(x.id) { }
00086
00087
00088
inline PartId::~PartId() { }
00089
00090
inline bool PartId::equals(
const PartId &x)
const {
00091
return id == x.id;
00092 }
00093
00094
inline string PartId::toString()
const {
00095
return id;
00096 }
00097
00098 }
00099
00100
#endif