Author: spagop
Date: 2008-08-10 14:42:32 -0400 (Sun, 10 Aug 2008)
New Revision: 412
Added:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ModifierMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ReturnType.java
Modified:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ConstructorMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/FieldMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/MethodMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/MethodTypeMemberMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ParameterizedFieldMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/PrimitiveFieldMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/SimpleFieldMetadata.java
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/TypeMetadata.java
Log:
enhance abstract meta data to support modifiers, return type and parameters of methods and
more and also test units
Modified:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ConstructorMetadata.java
===================================================================
---
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ConstructorMetadata.java 2008-08-10
18:41:55 UTC (rev 411)
+++
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ConstructorMetadata.java 2008-08-10
18:42:32 UTC (rev 412)
@@ -21,6 +21,8 @@
*/
package org.jboss.dna.sequencer.java.metadata;
+import java.util.List;
+
/**
*
*/
@@ -38,4 +40,5 @@
public boolean isContructor() {
return true;
}
+
}
Modified:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/FieldMetadata.java
===================================================================
---
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/FieldMetadata.java 2008-08-10
18:41:55 UTC (rev 411)
+++
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/FieldMetadata.java 2008-08-10
18:42:32 UTC (rev 412)
@@ -28,9 +28,14 @@
* @author Serge Pagop
*/
public class FieldMetadata {
-
- /** The name */
+
+ /** The type of the field */
+ private String type;
+
+ /** The variables */
private List<Variable> variables = new ArrayList<Variable>();
+
+ private List<ModifierMetadata> modifierMetadatas = new
ArrayList<ModifierMetadata>();
/**
* @return variables
@@ -45,4 +50,32 @@
public void setVariables( List<Variable> variables ) {
this.variables = variables;
}
+
+ /**
+ * @return type
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * @param type Sets type to the specified value.
+ */
+ public void setType( String type ) {
+ this.type = type;
+ }
+
+ /**
+ * @return modifierMetadatas
+ */
+ public List<ModifierMetadata> getModifiers() {
+ return modifierMetadatas;
+ }
+
+ /**
+ * @param modifierMetadatas Sets modifierMetadatas to the specified value.
+ */
+ public void setModifiers( List<ModifierMetadata> modifierMetadatas ) {
+ this.modifierMetadatas = modifierMetadatas;
+ }
}
Modified:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/MethodMetadata.java
===================================================================
---
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/MethodMetadata.java 2008-08-10
18:41:55 UTC (rev 411)
+++
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/MethodMetadata.java 2008-08-10
18:42:32 UTC (rev 412)
@@ -21,11 +21,24 @@
*/
package org.jboss.dna.sequencer.java.metadata;
+import java.util.ArrayList;
+import java.util.List;
+
/**
- *
+ * MethodMetadata
*/
-public class MethodMetadata {
+public abstract class MethodMetadata {
+
private String name;
+
+ private ReturnType returnType;
+
+ public abstract boolean isContructor();
+
+ private List<ModifierMetadata> modifiers = new
ArrayList<ModifierMetadata>();
+
+ private List<FieldMetadata> parameters = new ArrayList<FieldMetadata>();
+
/**
* @return name
*/
@@ -41,9 +54,44 @@
}
/**
- * @return isContructor
+ * @return modifiers
*/
- public boolean isContructor() {
- return false;
- }
+ public List<ModifierMetadata> getModifiers() {
+ return modifiers;
+ }
+
+ /**
+ * @param modifiers Sets modifiers to the specified value.
+ */
+ public void setModifiers( List<ModifierMetadata> modifiers ) {
+ this.modifiers = modifiers;
+ }
+
+ /**
+ * @return parameters
+ */
+ public List<FieldMetadata> getParameters() {
+ return parameters;
+ }
+
+ /**
+ * @param parameters Sets parameters to the specified value.
+ */
+ public void setParameters( List<FieldMetadata> parameters ) {
+ this.parameters = parameters;
+ }
+
+ /**
+ * @return returnType
+ */
+ public ReturnType getReturnType() {
+ return returnType;
+ }
+
+ /**
+ * @param returnType Sets returnType to the specified value.
+ */
+ public void setReturnType( ReturnType returnType ) {
+ this.returnType = returnType;
+ }
}
Modified:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/MethodTypeMemberMetadata.java
===================================================================
---
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/MethodTypeMemberMetadata.java 2008-08-10
18:41:55 UTC (rev 411)
+++
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/MethodTypeMemberMetadata.java 2008-08-10
18:42:32 UTC (rev 412)
@@ -26,4 +26,14 @@
*/
public class MethodTypeMemberMetadata extends MethodMetadata {
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.jboss.dna.sequencer.java.metadata.MethodMetadata#isContructor()
+ */
+ @Override
+ public boolean isContructor() {
+ return false;
+ }
+
}
Added:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ModifierMetadata.java
===================================================================
---
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ModifierMetadata.java
(rev 0)
+++
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ModifierMetadata.java 2008-08-10
18:42:32 UTC (rev 412)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.dna.sequencer.java.metadata;
+
+/**
+ *
+ */
+public class ModifierMetadata extends AnnotationMetadata {
+
+}
Modified:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ParameterizedFieldMetadata.java
===================================================================
---
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ParameterizedFieldMetadata.java 2008-08-10
18:41:55 UTC (rev 411)
+++
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ParameterizedFieldMetadata.java 2008-08-10
18:42:32 UTC (rev 412)
@@ -25,22 +25,7 @@
/**
* Field meta data for parameterized type.
*/
-public class ParameterizedFieldMetadata extends FieldMetadata {
+public class ParameterizedFieldMetadata extends ReferenceFieldMetadata {
- private String name;
- /**
- * @param name
- */
- public void setName( String name ) {
- this.name = name;
- }
-
- /**
- * @return name
- */
- public String getName() {
- return name;
- }
-
}
Modified:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/PrimitiveFieldMetadata.java
===================================================================
---
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/PrimitiveFieldMetadata.java 2008-08-10
18:41:55 UTC (rev 411)
+++
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/PrimitiveFieldMetadata.java 2008-08-10
18:42:32 UTC (rev 412)
@@ -26,21 +26,4 @@
*/
public class PrimitiveFieldMetadata extends FieldMetadata {
- /** The code */
- private String code;
-
- /**
- * @return code
- */
- public String getCode() {
- return code;
- }
-
- /**
- * @param code Sets code to the specified value.
- */
- public void setCode( String code ) {
- this.code = code;
- }
-
}
Added:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ReturnType.java
===================================================================
---
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ReturnType.java
(rev 0)
+++
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/ReturnType.java 2008-08-10
18:42:32 UTC (rev 412)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.dna.sequencer.java.metadata;
+
+/**
+ *
+ */
+public class ReturnType {
+ private String name;
+
+ /**
+ * @return name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param name Sets name to the specified value.
+ */
+ public void setName( String name ) {
+ this.name = name;
+ }
+}
Modified:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/SimpleFieldMetadata.java
===================================================================
---
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/SimpleFieldMetadata.java 2008-08-10
18:41:55 UTC (rev 411)
+++
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/SimpleFieldMetadata.java 2008-08-10
18:42:32 UTC (rev 412)
@@ -24,22 +24,6 @@
/**
* field meta data for simple type.
*/
-public class SimpleFieldMetadata extends FieldMetadata {
+public class SimpleFieldMetadata extends ReferenceFieldMetadata {
- private String name;
-
- /**
- * @param name
- */
- public void setName( String name ) {
- this.name = name;
- }
-
- /**
- * @return name
- */
- public String getName() {
- return name;
- }
-
}
Modified:
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/TypeMetadata.java
===================================================================
---
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/TypeMetadata.java 2008-08-10
18:41:55 UTC (rev 411)
+++
trunk/sequencers/dna-sequencer-java/src/main/java/org/jboss/dna/sequencer/java/metadata/TypeMetadata.java 2008-08-10
18:42:32 UTC (rev 412)
@@ -39,7 +39,7 @@
private String name;
/** All modifiers of a top level type */
- private Map<Integer, String> modifiers = new HashMap<Integer, String>();
+ private List<ModifierMetadata> modifiers = new
ArrayList<ModifierMetadata>();
/** All annotations of a top level type */
private List<AnnotationMetadata> annotations = new
ArrayList<AnnotationMetadata>();
@@ -86,14 +86,14 @@
*
* @return modifiers
*/
- public Map<Integer, String> getModifiers() {
+ public List<ModifierMetadata> getModifiers() {
return modifiers;
}
/**
* @param modifiers Sets modifiers to the specified value.
*/
- public void setModifiers( Map<Integer, String> modifiers ) {
+ public void setModifiers( List<ModifierMetadata> modifiers ) {
this.modifiers = modifiers;
}