/* * © Copyright IBM Corp. 2014 * * 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.ibm.sbt.services.client.connections.activities; import org.w3c.dom.Node; import com.ibm.commons.xml.NamespaceContext; import com.ibm.commons.xml.xpath.XPathExpression; import com.ibm.sbt.services.client.base.BaseEntity; import com.ibm.sbt.services.client.base.BaseService; import com.ibm.sbt.services.client.base.datahandlers.XmlDataHandler; /** * @author mwallace * */ public class Category extends BaseEntity { static final public String SCHEME_TYPE = "http://www.ibm.com/xmlns/prod/sn/type"; static final public String SCHEME_FLAGS = "http://www.ibm.com/xmlns/prod/sn/flags"; /* * Defines the built-in categoRies. The following values are supported: */ static final public String TYPE_SECTION = "section"; static final public String TYPE_ENTRY = "entry"; static final public String TYPE_REPLY = "reply"; static final public String TYPE_TODO = "todo"; static final public String TYPE_CHAT = "chat"; static final public String TYPE_EMAIL = "email"; static final public String FLAG_DELETED = "deleted"; static final public String FLAG_PRIVATE = "private"; static final public String FLAG_COMPLETED = "completed"; /** * Default constructor */ public Category() { } /** * Construct Field based on the specified node * * @param service * @param node * @param namespaceCtx * @param xpathExpression */ public Category(BaseService service, Node node, NamespaceContext namespaceCtx, XPathExpression xpathExpression) { super(service, new XmlDataHandler(node, namespaceCtx, xpathExpression)); } /** * Return if this category represents a flag * * @return true if this category is a flag */ public boolean isFlag() { return SCHEME_FLAGS.equalsIgnoreCase(getScheme()); } /** * Return if this category represents a type * * @return true if this category is a type */ public boolean isType() { return SCHEME_TYPE.equalsIgnoreCase(getScheme()); } /** * * @return scheme */ public String getScheme() { return getAsString(ActivityXPath.attr_scheme); } /** * * @return term */ public String getTerm() { return getAsString(ActivityXPath.attr_term); } /** * * @return label */ public String getLabel() { return getAsString(ActivityXPath.attr_label); } }