You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by jm...@apache.org on 2007/09/13 20:49:42 UTC
svn commit: r575400 [1/3] - in
/incubator/abdera/java/trunk/extensions/converters: ./ src/ src/main/
src/main/java/ src/main/java/org/ src/main/java/org/apache/
src/main/java/org/apache/abdera/ src/main/java/org/apache/abdera/converter/
src/main/java/o...
Author: jmsnell
Date: Thu Sep 13 11:49:38 2007
New Revision: 575400
URL: http://svn.apache.org/viewvc?rev=575400&view=rev
Log:
Initial (and still incomplete) implementation of the Annotation and convention based Java-to-Atom converter. Test case is included. There's still more to do. This has not yet been added to the build.
Added:
incubator/abdera/java/trunk/extensions/converters/
incubator/abdera/java/trunk/extensions/converters/src/
incubator/abdera/java/trunk/extensions/converters/src/main/
incubator/abdera/java/trunk/extensions/converters/src/main/java/
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/AbstractConventions.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/BaseConverter.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/ConventionConversionContext.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/Conventions.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/DefaultConventions.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Accept.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Author.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/BaseURI.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Categories.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Category.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Collection.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Content.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/ContentType.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Contributor.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Control.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Convention.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Direction.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Draft.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Edited.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Email.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Entry.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Extension.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Feed.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Generator.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Href.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/HrefLanguage.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/ID.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/IRI.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Icon.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Label.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Language.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Length.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Link.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Logo.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/MediaType.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Name.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Published.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Rel.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Rights.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Scheme.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Service.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Source.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Src.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Subtitle.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Summary.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Term.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/TextType.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Title.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/URI.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Updated.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Value.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Version.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Workspace.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/impl/
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/impl/CategoryConverter.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/impl/ContentConverter.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/impl/DateTimeConverter.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/impl/EntryConverter.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/impl/FeedConverter.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/impl/GeneratorConverter.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/impl/IRIConverter.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/impl/LinkConverter.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/impl/PersonConverter.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/impl/QNameConverter.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/impl/SourceConverter.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/impl/StringConverter.java
incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/impl/TextConverter.java
incubator/abdera/java/trunk/extensions/converters/src/test/
incubator/abdera/java/trunk/extensions/converters/src/test/java/
incubator/abdera/java/trunk/extensions/converters/src/test/java/org/
incubator/abdera/java/trunk/extensions/converters/src/test/java/org/apache/
incubator/abdera/java/trunk/extensions/converters/src/test/java/org/apache/abdera/
incubator/abdera/java/trunk/extensions/converters/src/test/java/org/apache/abdera/test/
incubator/abdera/java/trunk/extensions/converters/src/test/java/org/apache/abdera/test/converter/
incubator/abdera/java/trunk/extensions/converters/src/test/java/org/apache/abdera/test/converter/ConventionsTest.java
incubator/abdera/java/trunk/extensions/converters/src/test/java/org/apache/abdera/test/converter/ConverterTest.java
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/AbstractConventions.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/AbstractConventions.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/AbstractConventions.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/AbstractConventions.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,124 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter;
+
+import java.io.Serializable;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AccessibleObject;
+import java.lang.reflect.Member;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+import org.apache.abdera.converter.annotation.Convention;
+
+public abstract class AbstractConventions
+ implements Conventions,
+ Cloneable,
+ Serializable {
+
+ private final Map<Class<? extends Annotation>,Pattern> conventions =
+ new HashMap<Class<? extends Annotation>,Pattern>();
+ private final boolean isCaseSensitive;
+
+ protected AbstractConventions() {
+ this(false);
+ }
+
+ protected AbstractConventions(boolean isCaseSensitive) {
+ this.isCaseSensitive = isCaseSensitive;
+ }
+
+ public void setConvention(
+ String pattern,
+ Class<? extends Annotation> annotationType) {
+ Pattern regex =
+ isCaseSensitive ?
+ Pattern.compile(pattern) :
+ Pattern.compile(pattern,Pattern.CASE_INSENSITIVE);
+ conventions.put(annotationType, regex);
+ }
+
+ public void setConvention(
+ Class<? extends Annotation> annotationType) {
+ Convention conv = annotationType.getAnnotation(Convention.class);
+ if (conv == null)
+ throw new IllegalArgumentException(
+ "No Convention Annotation [" + annotationType + "]");
+ setConvention(conv.value(),annotationType);
+ }
+
+ public Class<? extends Annotation> matchConvention(
+ AccessibleObject accessor) {
+ return matchConvention(accessor, null);
+ }
+
+ public Class<? extends Annotation> matchConvention(
+ AccessibleObject accessor,
+ Class<? extends Annotation> expect) {
+ if (accessor == null) return null;
+ String name = ((Member)accessor).getName();
+ for (Map.Entry<Class<? extends Annotation>, Pattern> entry : conventions.entrySet()) {
+ if (entry.getValue().matcher(name).matches() &&
+ (expect == null || expect == entry.getKey()))
+ return entry.getKey();
+ }
+ return null;
+ }
+
+ public boolean isMatch(
+ AccessibleObject accessor,
+ Class<? extends Annotation> expect) {
+ return matchConvention(accessor,expect) != null;
+ }
+
+ @Override
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = 1;
+ result = PRIME * result + ((conventions == null) ? 0 : conventions.hashCode());
+ result = PRIME * result + (isCaseSensitive ? 1231 : 1237);
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) return true;
+ if (obj == null) return false;
+ if (getClass() != obj.getClass()) return false;
+ final AbstractConventions other = (AbstractConventions) obj;
+ if (conventions == null) {
+ if (other.conventions != null) return false;
+ } else if (!conventions.equals(other.conventions)) return false;
+ if (isCaseSensitive != other.isCaseSensitive) return false;
+ return true;
+ }
+
+ public Conventions clone() {
+ try {
+ return (Conventions)super.clone();
+ } catch (CloneNotSupportedException e) {
+ return copy();
+ }
+ }
+
+ protected Conventions copy() {
+ throw new ConversionException(
+ new CloneNotSupportedException());
+ }
+}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/BaseConverter.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/BaseConverter.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/BaseConverter.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/BaseConverter.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,136 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AccessibleObject;
+import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Dictionary;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+@SuppressWarnings("unchecked")
+public abstract class BaseConverter<T>
+ extends Converter<T> {
+
+ protected abstract T create(ConversionContext context);
+
+ protected void init(
+ Object source,
+ ObjectContext objectContext,
+ ConversionContext context,
+ T dest) {}
+
+ protected void finish(
+ Object source,
+ ObjectContext objectContext,
+ ConversionContext context,
+ T dest) {}
+
+ protected void process(
+ Object source,
+ ObjectContext
+ objectContext,
+ ConversionContext context,
+ Conventions conventions,
+ T dest,
+ AccessibleObject accessor) {}
+
+ @Override
+ public T convert(
+ Object source,
+ ObjectContext objectContext,
+ ConversionContext context) {
+ T dest = create(context);
+ init(
+ source,
+ objectContext,
+ context,
+ dest);
+ Conventions conventions =
+ ((ConventionConversionContext)context)
+ .getConventions();
+ for (AccessibleObject accessor : objectContext.getAccessors()) {
+ process(source, objectContext, context, conventions, dest, accessor);
+ }
+ finish(
+ source,
+ objectContext,
+ context,
+ dest);
+ return dest;
+ }
+
+ protected Object eval(AccessibleObject accessor, Object parent) {
+ try {
+ if (accessor instanceof Field)
+ return ((Field)accessor).get(parent);
+ else if (accessor instanceof Method)
+ return ((Method)accessor).invoke(parent, new Object[0]);
+ else return null;
+ } catch (Throwable t) {
+ throw new ConversionException(t);
+ }
+ }
+
+ protected boolean hasAnnotation(
+ AnnotatedElement item,
+ Class<? extends Annotation> annotation) {
+ return item.isAnnotationPresent(annotation);
+ }
+
+ protected Object[] toArray(Object value) {
+ if (value == null) return new Object[0];
+ if (value.getClass().isArray()) {
+ return (Object[])value;
+ } else if (value instanceof Collection) {
+ return ((Collection)value).toArray();
+ } else if (value instanceof Map) {
+ return ((Map)value).values().toArray();
+ } else if (value instanceof Dictionary) {
+ List<Object> list = new ArrayList<Object>();
+ Enumeration e = ((Dictionary)value).elements();
+ while(e.hasMoreElements()) list.add(e.nextElement());
+ return list.toArray();
+ } else if (value instanceof Iterator) {
+ List<Object> list = new ArrayList<Object>();
+ Iterator i = (Iterator) value;
+ while(i.hasNext()) list.add(i.next());
+ return list.toArray();
+ } else if (value instanceof Enumeration) {
+ List<Object> list = new ArrayList<Object>();
+ Enumeration e = (Enumeration) value;
+ while(e.hasMoreElements()) list.add(e.nextElement());
+ return list.toArray();
+ } else if (value instanceof Iterable) {
+ List<Object> list = new ArrayList<Object>();
+ Iterable v = (Iterable) value;
+ Iterator i = v.iterator();
+ while(i.hasNext()) list.add(i.next());
+ return list.toArray();
+ } else {
+ return new Object[] {value};
+ }
+ }
+}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/ConventionConversionContext.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/ConventionConversionContext.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/ConventionConversionContext.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/ConventionConversionContext.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,91 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AccessibleObject;
+
+import org.apache.abdera.Abdera;
+import org.apache.abdera.converter.annotation.Feed;
+
+public class ConventionConversionContext
+ extends DefaultConversionContext {
+
+ private static final long serialVersionUID = 7504071837124132972L;
+
+ protected Conventions conventions;
+
+ public ConventionConversionContext() {
+ this(new Abdera());
+ }
+
+ public ConventionConversionContext(
+ Conventions conventions) {
+ this(null,conventions);
+ }
+
+ public ConventionConversionContext(
+ Abdera abdera) {
+ super(abdera);
+ this.conventions = new DefaultConventions();
+ initConverters();
+ }
+
+ public ConventionConversionContext(
+ Abdera abdera,
+ Conventions conventions) {
+ super(abdera);
+ this.conventions = conventions;
+ initConverters();
+ }
+
+ public Conventions getConventions() {
+ return conventions;
+ }
+
+ public void setConventions(Conventions conventions) {
+ this.conventions = conventions;
+ }
+
+ public boolean hasConverter(AccessibleObject accessor) {
+ boolean answer = super.hasConverter(accessor);
+ if (answer) return true;
+ Class<? extends Annotation> annotation =
+ getConventions().matchConvention(accessor);
+ return annotation != null && hasConverter(annotation);
+ }
+
+ private void initConverters() {
+ for (Class<? extends Annotation> type : annotations) {
+ org.apache.abdera.converter.annotation.Converter converter =
+ type.getAnnotation(org.apache.abdera.converter.annotation.Converter.class);
+ if (converter != null) {
+ try {
+ Converter<? extends Object> conv = converter.value().newInstance();
+ this.setConverter(type,conv);
+ } catch (Throwable t) {
+ throw new ConversionException(t);
+ }
+ }
+ }
+ }
+
+ @SuppressWarnings("unchecked") private static final Class[] annotations =
+ {Feed.class,
+ };
+}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/Conventions.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/Conventions.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/Conventions.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/Conventions.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,47 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter;
+
+import java.io.Serializable;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AccessibleObject;
+
+public interface Conventions
+ extends Serializable,
+ Cloneable {
+
+ void setConvention(
+ Class<? extends Annotation> annotationType);
+
+ void setConvention(
+ String pattern,
+ Class<? extends Annotation> annotationType);
+
+ Class<? extends Annotation> matchConvention(
+ AccessibleObject accessor);
+
+ Class<? extends Annotation> matchConvention(
+ AccessibleObject accessor,
+ Class<? extends Annotation> expect);
+
+ boolean isMatch(
+ AccessibleObject accessor,
+ Class<? extends Annotation> expect);
+
+ Conventions clone();
+}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/DefaultConventions.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/DefaultConventions.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/DefaultConventions.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/DefaultConventions.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,122 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter;
+
+import java.lang.annotation.Annotation;
+
+import org.apache.abdera.converter.annotation.Accept;
+import org.apache.abdera.converter.annotation.Author;
+import org.apache.abdera.converter.annotation.BaseURI;
+import org.apache.abdera.converter.annotation.Categories;
+import org.apache.abdera.converter.annotation.Category;
+import org.apache.abdera.converter.annotation.Collection;
+import org.apache.abdera.converter.annotation.Content;
+import org.apache.abdera.converter.annotation.ContentType;
+import org.apache.abdera.converter.annotation.Contributor;
+import org.apache.abdera.converter.annotation.Control;
+import org.apache.abdera.converter.annotation.Direction;
+import org.apache.abdera.converter.annotation.Draft;
+import org.apache.abdera.converter.annotation.Edited;
+import org.apache.abdera.converter.annotation.Email;
+import org.apache.abdera.converter.annotation.Entry;
+import org.apache.abdera.converter.annotation.Extension;
+import org.apache.abdera.converter.annotation.Generator;
+import org.apache.abdera.converter.annotation.Href;
+import org.apache.abdera.converter.annotation.HrefLanguage;
+import org.apache.abdera.converter.annotation.ID;
+import org.apache.abdera.converter.annotation.Icon;
+import org.apache.abdera.converter.annotation.Label;
+import org.apache.abdera.converter.annotation.Language;
+import org.apache.abdera.converter.annotation.Length;
+import org.apache.abdera.converter.annotation.Link;
+import org.apache.abdera.converter.annotation.Logo;
+import org.apache.abdera.converter.annotation.MediaType;
+import org.apache.abdera.converter.annotation.Name;
+import org.apache.abdera.converter.annotation.Published;
+import org.apache.abdera.converter.annotation.Rel;
+import org.apache.abdera.converter.annotation.Rights;
+import org.apache.abdera.converter.annotation.Scheme;
+import org.apache.abdera.converter.annotation.Source;
+import org.apache.abdera.converter.annotation.Src;
+import org.apache.abdera.converter.annotation.Subtitle;
+import org.apache.abdera.converter.annotation.Term;
+import org.apache.abdera.converter.annotation.TextType;
+import org.apache.abdera.converter.annotation.Title;
+import org.apache.abdera.converter.annotation.URI;
+import org.apache.abdera.converter.annotation.Updated;
+import org.apache.abdera.converter.annotation.Value;
+import org.apache.abdera.converter.annotation.Version;
+import org.apache.abdera.converter.annotation.Workspace;
+
+public class DefaultConventions
+ extends AbstractConventions {
+
+ private static final long serialVersionUID = 6797950641657672805L;
+
+ @SuppressWarnings("unchecked") private static final Class[] annotations =
+ {Accept.class,
+ Author.class,
+ BaseURI.class,
+ Categories.class,
+ Category.class,
+ Collection.class,
+ Content.class,
+ ContentType.class,
+ Contributor.class,
+ Control.class,
+ Direction.class,
+ Draft.class,
+ Edited.class,
+ Email.class,
+ Entry.class,
+ Extension.class,
+ Generator.class,
+ Href.class,
+ HrefLanguage.class,
+ Icon.class,
+ ID.class,
+ Label.class,
+ Language.class,
+ Length.class,
+ Link.class,
+ Logo.class,
+ MediaType.class,
+ Name.class,
+ Published.class,
+ Rel.class,
+ Rights.class,
+ Scheme.class,
+ Source.class,
+ Src.class,
+ Subtitle.class,
+ Term.class,
+ TextType.class,
+ Title.class,
+ Updated.class,
+ URI.class,
+ Value.class,
+ Version.class,
+ Workspace.class
+ };
+
+ public DefaultConventions() {
+ super(false);
+ for (Class<Annotation> type : annotations) setConvention(type);
+ }
+
+}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Accept.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Accept.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Accept.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Accept.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,30 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({METHOD,FIELD})
+@Convention(".*accept")
+public @interface Accept {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Author.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Author.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Author.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Author.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,31 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.TYPE;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({TYPE,METHOD,FIELD})
+@Convention(".*author")
+public @interface Author {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/BaseURI.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/BaseURI.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/BaseURI.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/BaseURI.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,30 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({METHOD,FIELD})
+@Convention(".*baseuri")
+public @interface BaseURI {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Categories.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Categories.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Categories.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Categories.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,31 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({TYPE,METHOD,FIELD})
+@Convention(".*categories")
+public @interface Categories {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Category.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Category.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Category.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Category.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,34 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.TYPE;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({TYPE,METHOD,FIELD})
+@Convention(".*category|.*categories")
+public @interface Category {
+ String scheme() default "##default";
+ String label() default "##default";
+}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Collection.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Collection.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Collection.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Collection.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,31 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({TYPE,METHOD,FIELD})
+@Convention(".*collection")
+public @interface Collection {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Content.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Content.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Content.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Content.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,31 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.TYPE;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({TYPE,METHOD,FIELD})
+@Convention(".*content")
+public @interface Content {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/ContentType.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/ContentType.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/ContentType.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/ContentType.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,35 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import org.apache.abdera.model.Content;
+
+@Retention(RUNTIME)
+@Target({TYPE,METHOD,FIELD})
+@Convention(".*contenttype")
+public @interface ContentType {
+ Content.Type value() default Content.Type.TEXT;
+}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Contributor.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Contributor.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Contributor.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Contributor.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,30 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({METHOD,FIELD})
+@Convention(".*contributor")
+public @interface Contributor {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Control.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Control.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Control.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Control.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,30 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({METHOD,FIELD})
+@Convention(".*control")
+public @interface Control {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Convention.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Convention.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Convention.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Convention.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,30 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({ANNOTATION_TYPE})
+public @interface Convention {
+ String value();
+}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Direction.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Direction.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Direction.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Direction.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,35 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.TYPE;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import org.apache.abdera.ext.bidi.BidiHelper;
+
+@Retention(RUNTIME)
+@Target({TYPE,METHOD,FIELD})
+@Convention(".*direction|.*dir")
+public @interface Direction {
+ BidiHelper.Direction value();
+}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Draft.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Draft.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Draft.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Draft.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,30 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({METHOD,FIELD})
+@Convention(".*draft")
+public @interface Draft {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Edited.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Edited.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Edited.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Edited.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,30 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({METHOD,FIELD})
+@Convention(".*edited")
+public @interface Edited {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Email.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Email.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Email.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Email.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,30 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({METHOD,FIELD})
+@Convention(".*email")
+public @interface Email {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Entry.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Entry.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Entry.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Entry.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,31 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.TYPE;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({TYPE,METHOD,FIELD})
+@Convention(".*entry|.*entries")
+public @interface Entry {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Extension.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Extension.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Extension.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Extension.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,36 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.TYPE;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({TYPE,METHOD,FIELD})
+@Convention(".*extension")
+public @interface Extension {
+ boolean simple() default false;
+ String name() default "##default";
+ String ns() default "##default";
+ String prefix() default "##default";
+}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Feed.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Feed.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Feed.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Feed.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,32 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.TYPE;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import org.apache.abdera.converter.impl.FeedConverter;
+
+@Retention(RUNTIME)
+@Target({TYPE})
+@Convention(".*feed")
+@Converter(FeedConverter.class)
+public @interface Feed {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Generator.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Generator.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Generator.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Generator.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,34 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.TYPE;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({TYPE,METHOD,FIELD})
+@Convention(".*generator")
+public @interface Generator {
+ String version() default "##default";
+ String uri() default "##default";
+}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Href.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Href.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Href.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Href.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,30 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({METHOD,FIELD})
+@Convention(".*href")
+public @interface Href {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/HrefLanguage.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/HrefLanguage.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/HrefLanguage.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/HrefLanguage.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,32 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({METHOD,FIELD})
+@Convention(".*hreflang|.*hreflanguage")
+public @interface HrefLanguage {
+ String value() default "##default";
+}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/ID.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/ID.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/ID.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/ID.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,30 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({METHOD,FIELD})
+@Convention(".*id")
+public @interface ID {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/IRI.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/IRI.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/IRI.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/IRI.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,28 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.TYPE;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({TYPE})
+public @interface IRI {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Icon.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Icon.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Icon.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Icon.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,30 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({METHOD,FIELD})
+@Convention(".*icon")
+public @interface Icon {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Label.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Label.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Label.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Label.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,30 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({METHOD,FIELD})
+@Convention(".*label")
+public @interface Label {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Language.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Language.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Language.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Language.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,33 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.TYPE;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({TYPE,METHOD,FIELD})
+@Convention(".*lang|.*language")
+public @interface Language {
+ String value() default "##default";
+}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Length.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Length.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Length.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Length.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,30 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({METHOD,FIELD})
+@Convention(".*hreflength")
+public @interface Length {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Link.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Link.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Link.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Link.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,36 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.TYPE;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({TYPE,METHOD,FIELD})
+@Convention(".*link")
+public @interface Link {
+ String rel() default "##default";
+ String type() default "##default";
+ String hreflang() default "##default";
+ String title() default "##default";
+}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Logo.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Logo.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Logo.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/Logo.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,30 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({METHOD,FIELD})
+@Convention(".*logo")
+public @interface Logo {}
Added: incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/MediaType.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/MediaType.java?rev=575400&view=auto
==============================================================================
--- incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/MediaType.java (added)
+++ incubator/abdera/java/trunk/extensions/converters/src/main/java/org/apache/abdera/converter/annotation/MediaType.java Thu Sep 13 11:49:38 2007
@@ -0,0 +1,32 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. The ASF licenses this file to You
+* 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. For additional information regarding
+* copyright in this work, please see the NOTICE file in the top level
+* directory of this distribution.
+*/
+package org.apache.abdera.converter.annotation;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.FIELD;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({METHOD,FIELD})
+@Convention(".*mediatype")
+public @interface MediaType {
+ String value() default "##default";
+}