/* * Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.motorola.studio.android.model.manifest.dom; import java.util.List; import java.util.Map; import org.eclipse.core.runtime.IStatus; import com.motorola.studio.android.common.utilities.i18n.UtilitiesNLS; /** * Class that represents a comment on the AndroidManifest.xml file */ public class CommentNode extends AndroidManifestNode { private String comment = null; /* (non-Javadoc) * @see com.motorola.studio.android.model.manifest.dom.AndroidManifestNode#canContains(com.motorola.studio.android.model.manifest.dom.AndroidManifestNode.NodeType) */ @Override protected boolean canContains(NodeType nodeType) { // Always return false. No child node can be added return false; } /* (non-Javadoc) * @see com.motorola.studio.android.model.manifest.dom.AndroidManifestNode#getNodeProperties() */ @Override public Map<String, String> getNodeProperties() { properties.clear(); return properties; } /* (non-Javadoc) * @see com.motorola.studio.android.model.manifest.dom.AndroidManifestNode#getNodeType() */ @Override public NodeType getNodeType() { return NodeType.Comment; } /* (non-Javadoc) * @see com.motorola.studio.android.model.manifest.dom.AndroidManifestNode#isNodeValid() */ @Override protected boolean isNodeValid() { // Always returns true return true; } /* (non-Javadoc) * @see com.motorola.studio.android.model.manifest.dom.AndroidManifestNode#addChild(com.motorola.studio.android.model.manifest.dom.AndroidManifestNode) */ @Override public void addChild(AndroidManifestNode child) { throw new IllegalArgumentException( UtilitiesNLS.EXC_CommentNode_ChildNodesCannotBeAddedToACommentNode); } /* (non-Javadoc) * @see com.motorola.studio.android.model.manifest.dom.AndroidManifestNode#addUnknownProperty(java.lang.String, java.lang.String) */ @Override public boolean addUnknownProperty(String property, String value) { // Comments do not have properties return false; } /* (non-Javadoc) * @see com.motorola.studio.android.model.manifest.dom.AndroidManifestNode#canAddUnknownProperty(java.lang.String) */ @Override protected boolean canAddUnknownProperty(String property) { // Comments do not have properties return false; } /* (non-Javadoc) * @see com.motorola.studio.android.model.manifest.dom.AndroidManifestNode#getAllChildrenFromType(com.motorola.studio.android.model.manifest.dom.AndroidManifestNode.NodeType) */ @Override protected AndroidManifestNode[] getAllChildrenFromType(NodeType type) { return new AndroidManifestNode[0]; } /** * Sets the comment node content * * @param comment the comment node content */ public void setComment(String comment) { this.comment = comment; } /** * Gets the comment node content * * @return the comment node content */ public String getComment() { return comment; } /* (non-Javadoc) * @see com.motorola.studio.android.model.manifest.dom.AndroidManifestNode#getSpecificNodeErrors() */ @Override protected List<IStatus> getSpecificNodeProblems() { return null; } }