/*
* © 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.BaseService;
import com.ibm.sbt.services.client.connections.common.Link;
/**
* @author mwallace
*
*/
public class FileField extends Field {
private Link editMediaLink;
private Link enclosureLink;
private Link link;
/**
* Default constructor
*/
public FileField() {
}
/**
* Construct FileField based on the specified node
*
* @param service
* @param node
* @param namespaceCtx
* @param xpathExpression
*/
public FileField(BaseService service, Node node, NamespaceContext namespaceCtx, XPathExpression xpathExpression) {
super(service, node, namespaceCtx, xpathExpression);
}
/* (non-Javadoc)
* @see com.ibm.sbt.services.client.connections.activities.Field#getType()
*/
@Override
public String getType() {
return FILE;
}
/**
* Return the edit-media link.
*
* @return link
*/
public Link getEditMediaLink() {
if (editMediaLink == null && getDataHandler() != null) {
editMediaLink = createLink((Node)getDataHandler().getData(), ActivityXPath.field_link_editmedia);
}
return editMediaLink;
}
/**
* Return the enclosure link.
*
* @return link
*/
public Link getEnclosureLink() {
if (enclosureLink == null && getDataHandler() != null) {
enclosureLink = createLink((Node)getDataHandler().getData(), ActivityXPath.field_link_enclosure);
}
return enclosureLink;
}
/**
* @param editMediaLink the editMediaLink to set
*/
public void setEditMediaLink(Link editMediaLink) {
this.editMediaLink = editMediaLink;
}
/**
* @param enclosureLink the enclosureLink to set
*/
public void setEnclosureLink(Link enclosureLink) {
this.enclosureLink = enclosureLink;
}
/**
* Return the link.
*
* @return link
*/
public Link getLink() {
if (link == null && getDataHandler() != null) {
link = createLink((Node)getDataHandler().getData(), ActivityXPath.field_link);
}
return link;
}
}