--- /dev/null
+// ResourceStateFilter.java\r
+// $Id: ResourceStateFilter.java,v 1.1 2010/06/15 12:20:25 smhuang Exp $\r
+// (c) COPYRIGHT MIT and INRIA, 1998.\r
+// Please first read the full copyright statement in file COPYRIGHT.html\r
+\r
+package org.w3c.tools.resources ;\r
+\r
+import java.io.PrintStream;\r
+\r
+import org.w3c.tools.resources.event.AttributeChangedEvent;\r
+\r
+/**\r
+ * @version $Revision: 1.1 $\r
+ * @author Benoît Mahé (bmahe@w3.org)\r
+ */\r
+public class ResourceStateFilter extends ResourceFilter {\r
+\r
+ protected void showState() {\r
+ Resource resource = getTargetResource();\r
+ System.out.println("-----------------------------------------");\r
+ System.out.println("Resource state :");\r
+ if (resource == null)\r
+ System.out.println("NULL resource");\r
+ else {\r
+ System.out.println("Identifier : "+resource.getIdentifier());\r
+ System.out.println("Modified : "+resource.getLastModified());\r
+ System.out.println("Parent : "+resource.getParent());\r
+ System.out.println(resource.getContext());\r
+ System.out.println("URLPath : "+resource.getURLPath());\r
+ System.out.println("Space : "+resource.getSpace());\r
+ System.out.println("SpaceEntry : "+resource.getSpaceEntry());\r
+ System.out.println("Reference : "+\r
+ resource.getResourceReference());\r
+ }\r
+ System.out.println("-----------------------------------------");\r
+ }\r
+\r
+ /**\r
+ * Lookup the target resource.\r
+ * @param ls The current lookup state\r
+ * @param lr The result\r
+ * @exception ProtocolException if a protocol error occurs.\r
+ */\r
+ public boolean lookup(LookupState ls, LookupResult lr) \r
+ throws ProtocolException\r
+ {\r
+ showState();\r
+ return false;\r
+ }\r
+\r
+ public void attributeChanged(AttributeChangedEvent evt) {\r
+ super.attributeChanged(evt);\r
+ System.out.println("-----------------------------------------");\r
+ System.out.println("Resource State event:");\r
+ System.out.println(evt);\r
+ System.out.println("-----------------------------------------");\r
+ }\r
+\r
+ public void registerResource(FramedResource resource) {\r
+ super.registerResource(resource);\r
+ FramedResource fr = (FramedResource)getTargetResource();\r
+ if (fr != null) \r
+ fr.addAttributeChangedListener(this);\r
+ }\r
+\r
+}\r