This is an automated email from the git hooks/post-receive script. tjaalton pushed a commit to branch master in repository jackson-annotations.
commit 3368094ca3a9e336b181a497a4697a568b9cb228 Author: Tatu Saloranta <[email protected]> Date: Fri Dec 23 17:15:00 2011 -0800 Add PropertyAccessor; the replacement for 1.x "JsonMethod" enumeration --- .../jackson/annotation/PropertyAccessor.java | 87 ++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/src/main/java/com/fasterxml/jackson/annotation/PropertyAccessor.java b/src/main/java/com/fasterxml/jackson/annotation/PropertyAccessor.java new file mode 100644 index 0000000..ef4b846 --- /dev/null +++ b/src/main/java/com/fasterxml/jackson/annotation/PropertyAccessor.java @@ -0,0 +1,87 @@ +package com.fasterxml.jackson.annotation; + +/** + * Enumeration used to define kinds of elements (called "property accessors") + * that annotations like {@link JsonAutoDetect} apply to. + *<p> + * In addition to method types (GETTER/IS_GETTER, SETTER, CREATOR) and the + * field type (FIELD), 2 pseudo-types + * are defined for convenience: <code>ALWAYS</code> and <code>NONE</code>. These + * can be used to indicate, all or none of available method types (respectively), + * for use by annotations that takes <code>JsonMethod</code> argument. + */ +public enum PropertyAccessor +{ + /** + * Getters are methods used to get a POJO field value for serialization, + * or, under certain conditions also for de-serialization. Latter + * can be used for effectively setting Collection or Map values + * in absence of setters, iff returned value is not a copy but + * actual value of the logical property. + *<p> + * Since version 1.3, this does <b>NOT</b> include "is getters" (methods + * that return boolean and named 'isXxx' for property 'xxx'); instead, + * {@link #IS_GETTER} is used}. + */ + GETTER, + + /** + * Setters are methods used to set a POJO value for deserialization. + */ + SETTER, + + /** + * Creators are constructors and (static) factory methods used to + * construct POJO instances for deserialization + */ + CREATOR, + + /** + * Field refers to fields of regular Java objects. Although + * they are not really methods, addition of optional field-discovery + * in version 1.1 meant that there was need to enable/disable + * their auto-detection, and this is the place to add it in. + */ + FIELD, + + /** + * "Is getters" are getter-like methods that are named "isXxx" + * (instead of "getXxx" for getters) and return boolean value + * (either primitive, or {@link java.lang.Boolean}). + * + */ + IS_GETTER, + + /** + * This pseudo-type indicates that none of accessors if affected. + */ + NONE, + + /** + * This pseudo-type indicates that all accessors are affected. + */ + ALL + ; + + private PropertyAccessor() { } + + public boolean creatorEnabled() { + return (this == CREATOR) || (this == ALL); + } + + public boolean getterEnabled() { + return (this == GETTER) || (this == ALL); + } + + public boolean isGetterEnabled() { + return (this == IS_GETTER) || (this == ALL); + } + + public boolean setterEnabled() { + return (this == SETTER) || (this == ALL); + } + + public boolean fieldEnabled() { + return (this == FIELD) || (this == ALL); + } +} -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jackson-annotations.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

