/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code 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 General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* Represents an arrays as annotation members
*
* <p>
* This class implements {@link JAnnotatable} to allow
* new annotations to be added as a member of the array.
*
* @author
* Bhakti Mehta (bhakti.mehta@sun.com)
*/
}
/**
* Adds an array member to this annotation
*
* @param value Adds a string value to the array member
* @return The JAnnotationArrayMember. More elements can be added by calling
* the same method multiple times
*/
return this;
}
/**
* Adds an array member to this annotation
*
* @param value Adds a boolean value to the array member
* @return The JAnnotationArrayMember. More elements can be added by calling
* the same method multiple times
*/
return this;
}
/**
* Adds an array member to this annotation
*
* @param value Adds a byte value to the array member
* @return The JAnnotationArrayMember. More elements can be added by calling
* the same method multiple times
*/
return this;
}
/**
* Adds an array member to this annotation
*
* @param value Adds a char value to the array member
* @return The JAnnotationArrayMember. More elements can be added by calling
* the same method multiple times
*/
return this;
}
/**
* Adds an array member to this annotation
*
* @param value Adds a double value to the array member
* @return The JAnnotationArrayMember. More elements can be added by calling
* the same method multiple times
*/
return this;
}
/**
* Adds an array member to this annotation
*
* @param value Adds a long value to the array member
* @return The JAnnotationArrayMember. More elements can be added by calling
* the same method multiple times
*/
return this;
}
/**
* Adds an array member to this annotation
*
* @param value Adds a short value to the array member
* @return The JAnnotationArrayMember. More elements can be added by calling
* the same method multiple times
*/
return this;
}
/**
* Adds an array member to this annotation
*
* @param value Adds an int value to the array member
* @return The JAnnotationArrayMember. More elements can be added by calling
* the same method multiple times
*/
return this;
}
/**
* Adds an array member to this annotation
*
* @param value Adds a float value to the array member
* @return The JAnnotationArrayMember. More elements can be added by calling
* the same method multiple times
*/
return this;
}
/**
* Adds a enum array member to this annotation
*
* @param value Adds a enum value to the array member
* @return The JAnnotationArrayMember. More elements can be added by calling
* the same method multiple times
*/
public void generate(JFormatter f) {
}
};
return this;
}
/**
* Adds a enum array member to this annotation
*
* @param value Adds a enum value to the array member
* @return The JAnnotationArrayMember. More elements can be added by calling
* the same method multiple times
*/
return this;
}
/**
* Adds an expression array member to this annotation
*
* @param value Adds an expression value to the array member
* @return The JAnnotationArrayMember. More elements can be added by calling
* the same method multiple times
*/
return this;
}
/**
* Adds a class array member to this annotation
*
* @param value Adds a class value to the array member
* @return The JAnnotationArrayMember. More elements can be added by calling
* the same method multiple times
*/
new JExpressionImpl() {
public void generate(JFormatter f) {
f.p(".class");
}
});
return this;
}
return this;
}
/**
* Adds a new annotation to the array.
*/
}
/**
* Adds a new annotation to the array.
*/
return a;
}
}
/**
* {@link JAnnotatable#annotations()}
*/
@SuppressWarnings("unchecked")
// this invocation is invalid if the caller isn't adding annotations into an array
// so this potentially type-unsafe conversion would be justified.
}
/**
* Adds an annotation member to this annotation array
* This can be used for e.g @XmlCollection(values= @XmlCollectionItem(type=Foo.class))
* @param value
* Adds a annotation to the array member
* @return
* The JAnnotationArrayMember. More elements can be added by calling
* the same method multiple times
*
* @deprecated
* use {@link #annotate}
*/
return this;
}
f.p('{').nl().i();
boolean first = true;
if (!first)
f.p(',').nl();
f.g(aValue);
first = false;
}
f.nl().o().p('}');
}
}