blob: ee4f656cccbe0294d6f91b72c727e86d0c40d9e3 [file] [log] [blame]
/*
*
* Copyright 2004 The Ant-Contrib 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 net.sf.antcontrib.cpptasks;
import org.apache.tools.ant.types.DataType;
import org.apache.tools.ant.types.Reference;
import java.util.Vector;
/**
* Distributed build information (Non-functional prototype).
*
*/
public final class DistributerDef
extends DataType {
/**
* if property.
*/
private String ifCond;
/**
* unless property.
*/
private String unlessCond;
/**
* hosts.
*
*/
private String hosts;
/**
* Protocol.
*
*/
private DistributerProtocolEnum protocol;
/**
* Not sure what this is.
*/
private int tcpCork;
/**
* user name.
*/
private String user;
/**
* local to remote file name maps.
*/
private final Vector maps = new Vector();
/**
* Constructor.
*
*/
public DistributerDef() {
}
/**
* Required by documentation generator.
*/
public void execute() {
throw new org.apache.tools.ant.BuildException(
"Not an actual task, but looks like one for documentation purposes");
}
/**
* Returns true if the if and unless conditions (if any) are
* satisfied.
* @return true if definition is active.
*/
public boolean isActive() {
return CUtil.isActive(getProject(), ifCond, unlessCond);
}
/**
* Sets an id that can be used to reference this element.
*
* @param id
* id
*/
public void setId(final String id) {
//
// this is actually accomplished by a different
// mechanism, but we can document it
//
}
/**
* Sets the property name for the 'if' condition.
*
* The define will be ignored unless the property is defined.
*
* The value of the property is insignificant, but values that would imply
* misinterpretation ("false", "no") will throw an exception when
* evaluated.
*
* @param propName
* property name
*/
public void setIf(final String propName) {
ifCond = propName;
}
/**
* Specifies that this element should behave as if the content of the
* element with the matching id attribute was inserted at this location. If
* specified, no other attributes should be specified.
* @param r reference name
*/
public void setRefid(final Reference r) {
super.setRefid(r);
}
/**
* Set the property name for the 'unless' condition.
*
* If named property is set, the define will be ignored.
*
* The value of the property is insignificant, but values that would imply
* misinterpretation ("false", "no") of the behavior will throw an
* exception when evaluated.
*
* @param propName
* name of property
*/
public void setUnless(final String propName) {
unlessCond = propName;
}
/**
* Gets hosts.
* @return hosts, may be null.
*
*/
public String getHosts() {
if (isReference()) {
DistributerDef refDistributer = (DistributerDef)
getCheckedRef(DistributerDef.class,
"DistributerDef");
return refDistributer.getHosts();
}
return hosts;
}
/**
* Gets tcp cork.
* @return TCP_CORK value.
*
*/
public int getTcpcork() {
if (isReference()) {
DistributerDef refDistributer = (DistributerDef)
getCheckedRef(DistributerDef.class,
"DistributerDef");
return refDistributer.getTcpcork();
}
return tcpCork;
}
/**
* Gets protocol.
* @return protocol, may be null.
*
*/
public DistributerProtocolEnum getProtocol() {
if (isReference()) {
DistributerDef refDistributer = (DistributerDef)
getCheckedRef(DistributerDef.class,
"DistributerDef");
return refDistributer.getProtocol();
}
return protocol;
}
/**
* Sets hosts.
* @param value new value
*/
public void setHosts(final String value) {
if (isReference()) {
throw tooManyAttributes();
}
hosts = value;
}
/**
* Sets TCP_CORK value.
* @param value new value
*/
public void setTcpcork(final int value) {
if (isReference()) {
throw tooManyAttributes();
}
tcpCork = value;
}
/**
* Sets protocol.
* @param value new value
*/
public void setProtocol(final DistributerProtocolEnum value) {
if (isReference()) {
throw tooManyAttributes();
}
protocol = value;
}
/**
* Local to remote filename maps.
* @return new map
*/
public DistributerMap createMap() {
DistributerMap map = new DistributerMap();
map.setProject(getProject());
maps.addElement(map);
return map;
}
/**
* Sets remote user name.
* @param value user name
*/
public void setUser(final String value) {
user = value;
}
}