diff Lib/IMPL/DOM/Node.pm @ 0:03e58a454b20

Создан репозитарий
author Sergey
date Tue, 14 Jul 2009 12:54:37 +0400
parents
children 3b418b134d8c
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Lib/IMPL/DOM/Node.pm	Tue Jul 14 12:54:37 2009 +0400
@@ -0,0 +1,64 @@
+package IMPL::DOM::Node;
+use strict;
+use warnings;
+
+use base qw(IMPL::Object IMPL::Object::Serializable IMPL::Object::Autofill);
+
+use IMPL::Class::Property;
+use IMPL::Class::Property::Direct;
+use Scalar::Util qw(weaken);
+
+__PACKAGE__->PassThroughArgs;
+
+BEGIN {
+    public property nodeName => prop_get | owner_set;
+    public property isComplex => prop_get | owner_set;
+    public property nodeValue => prop_get | owner_set;
+    public property childNodes => prop_get | owner_set| prop_list;
+    public property parentNode => prop_get | owner_set;
+    private property _propertyMap => prop_all;
+}
+
+sub CTOR {
+    my $this = @_;
+    
+    $this->_propertyMap({});
+}
+
+sub insertNode {
+    my ($this,$node,$pos) = @_;
+}
+
+sub removeNode {
+    my ($this,$node) = @_;
+}
+
+sub removeAt {
+    my ($this,$pos) = @_;
+}
+
+sub selectNodes {
+    my ($this,$name) = @_;
+}
+
+sub setParent {
+    my ($this,$parentNode) = @_;
+}
+
+sub text {
+    my ($this) = @_;
+}
+
+sub Property {
+    my $this = shift;
+    my $name = shift;
+    
+    if (@_) {
+        # set
+        return $this->_propertyMap->{$name} = shift;
+    } else {
+        return $this->_propertyMap->{$name};
+    }
+}
+
+1;