summaryrefslogtreecommitdiff
path: root/src/main/org
diff options
context:
space:
mode:
authorPeter Donald <donaldp@apache.org>2002-04-30 03:17:53 +0000
committerPeter Donald <donaldp@apache.org>2002-04-30 03:17:53 +0000
commit49bc4e2af11ee63226927732aedbb58fa27056dc (patch)
tree089b7b3be1aa22890b15b30b83e517cd844beebb /src/main/org
parentf09adc8427c2425779c1cd1cddf23a5dd5670e06 (diff)
downloadant-49bc4e2af11ee63226927732aedbb58fa27056dc.tar.gz
Make sure can not set attributes if is a reference datatype
add a nicer toString method git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@272601 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/main/org')
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/optional/extension/ExtensionAdapter.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/extension/ExtensionAdapter.java b/src/main/org/apache/tools/ant/taskdefs/optional/extension/ExtensionAdapter.java
index 8ca28a714..fb4c615ed 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/extension/ExtensionAdapter.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/extension/ExtensionAdapter.java
@@ -116,6 +116,7 @@ public class ExtensionAdapter
*/
public void setExtensionName( final String extensionName )
{
+ verifyNotAReference();
m_extensionName = extensionName;
}
@@ -126,6 +127,7 @@ public class ExtensionAdapter
*/
public void setSpecificationVersion( final String specificationVersion )
{
+ verifyNotAReference();
m_specificationVersion = new DeweyDecimal( specificationVersion );
}
@@ -136,6 +138,7 @@ public class ExtensionAdapter
*/
public void setSpecificationVendor( final String specificationVendor )
{
+ verifyNotAReference();
m_specificationVendor = specificationVendor;
}
@@ -146,6 +149,7 @@ public class ExtensionAdapter
*/
public void setImplementationVendorId( final String implementationVendorID )
{
+ verifyNotAReference();
m_implementationVendorID = implementationVendorID;
}
@@ -156,6 +160,7 @@ public class ExtensionAdapter
*/
public void setImplementationVendor( final String implementationVendor )
{
+ verifyNotAReference();
m_implementationVendor = implementationVendor;
}
@@ -166,6 +171,7 @@ public class ExtensionAdapter
*/
public void setImplementationVersion( final String implementationVersion )
{
+ verifyNotAReference();
m_implementationVersion = new DeweyDecimal( implementationVersion );
}
@@ -176,6 +182,7 @@ public class ExtensionAdapter
*/
public void setImplementationUrl( final String implementationURL )
{
+ verifyNotAReference();
m_implementationURL = implementationURL;
}
@@ -225,6 +232,15 @@ public class ExtensionAdapter
super.setRefid( reference );
}
+ private void verifyNotAReference()
+ throws BuildException
+ {
+ if( isReference() )
+ {
+ throw tooManyAttributes();
+ }
+ }
+
/**
* Convert this adpater object into an extension object.
*
@@ -257,4 +273,9 @@ public class ExtensionAdapter
m_implementationVendor,
m_implementationURL );
}
+
+ public String toString()
+ {
+ return toExtension().toString();
+ }
}