collectionnode.java

来自「编写rest实例 rest分布式框架在app中的应用」· Java 代码 · 共 60 行

JAVA
60
字号
package com.jeffhanson.atompub.introspect;

import java.util.ArrayList;
import java.util.Iterator;

import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import com.jeffhanson.atompub.DOMUtils;

public class CollectionNode
{
  public static final String MEDIA_TYPE = "application/atomcoll+xml";
  public static final String CONTENT_TYPE = MEDIA_TYPE + "; charset=utf-8";
  
  private Node node = null;

  private ArrayList<MemberNode> members = new ArrayList<MemberNode>();
  private String title = "";

  public CollectionNode(Node node)
  {
    this.node = node;
    
    NodeList childNodes = node.getChildNodes();
    if (childNodes != null && childNodes.getLength() > 0)
    {
      for (int i = 0; i < childNodes.getLength(); i++)
      {
        Node childNode = childNodes.item(i);
        String nodeName = childNode.getNodeName();
        if (nodeName.equalsIgnoreCase("atom:title") ||
            nodeName.toLowerCase().endsWith(":title"))
        {
          title = childNode.getTextContent();
        }
        else if (childNode.getNodeType() == Node.ELEMENT_NODE)
        {
          members.add(new MemberNode(childNode));
        }
      }
    }
  }

  public String getTitle()
  {
    return title;
  }

  public String getURI()
  {
    return DOMUtils.getDOMNodeAttributeValue(node, "href");
  }

  public Iterator<MemberNode> getMembers()
  {
    return members.iterator();
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?