Property.pm 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package Logos::Property;
  2. use strict;
  3. ##################### #
  4. # Setters and Getters #
  5. # #####################
  6. sub new{
  7. my $proto = shift;
  8. my $class = ref($proto) || $proto;
  9. my $self = {};
  10. $self->{CLASS} = undef;
  11. $self->{GROUP} = undef;
  12. $self->{NAME} = undef;
  13. $self->{TYPE} = undef;
  14. $self->{NUMATTR} = undef;
  15. $self->{ASSOCIATIONPOLICY} = undef;
  16. $self->{ATTRIBUTES} = [];
  17. bless($self, $class);
  18. return $self;
  19. }
  20. sub class {
  21. my $self = shift;
  22. if(@_) { $self->{CLASS} = shift; }
  23. return $self->{CLASS};
  24. }
  25. sub group {
  26. my $self = shift;
  27. if(@_) { $self->{GROUP} = shift; }
  28. return $self->{GROUP};
  29. }
  30. sub name {
  31. my $self = shift;
  32. if(@_) { $self->{NAME} = shift; }
  33. return $self->{NAME};
  34. }
  35. sub type {
  36. my $self = shift;
  37. if(@_) { $self->{TYPE} = shift; }
  38. return $self->{TYPE};
  39. }
  40. sub numattr {
  41. my $self = shift;
  42. if(@_) { $self->{NUMATTR} = shift; }
  43. return $self->{NUMATTR};
  44. }
  45. sub attributes {
  46. my $self = shift;
  47. if(@_) { @{$self->{ATTRIBUTES}} = @_; }
  48. return $self->{ATTRIBUTES};
  49. }
  50. sub associationPolicy {
  51. my $self = shift;
  52. if (@_) { $self->{ASSOCIATIONPOLICY} = shift; }
  53. return $self->{ASSOCIATIONPOLICY};
  54. }
  55. ##### #
  56. # END #
  57. # #####
  58. 1;