Skip to content

Instantly share code, notes, and snippets.

@elbosso
Last active January 3, 2018 15:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save elbosso/72ae18205214675b2ab5c0795b7a7e57 to your computer and use it in GitHub Desktop.
Save elbosso/72ae18205214675b2ab5c0795b7a7e57 to your computer and use it in GitHub Desktop.
This is an Annotation class allowing to specify the contents of the BeanInfo for any JavaBean class. It only covers the BeanInfo and the BeanDescriptor - all other aspects (Methods, Properties, ...) are left as an exercise for the reader. For this to actually work, you need an additional gist: https://gist.github.com/elbosso/1d766a83de5bf3054df2…
package de.elbosso.scratch.util.lang.annotations;
//This is by no means production-ready code!
/*Copyright (c) 2012-2018.
Juergen Key. Alle Rechte vorbehalten.
Weiterverbreitung und Verwendung in nichtkompilierter oder kompilierter Form,
mit oder ohne Veraenderung, sind unter den folgenden Bedingungen zulaessig:
1. Weiterverbreitete nichtkompilierte Exemplare muessen das obige Copyright,
die Liste der Bedingungen und den folgenden Haftungsausschluss im Quelltext
enthalten.
2. Weiterverbreitete kompilierte Exemplare muessen das obige Copyright,
die Liste der Bedingungen und den folgenden Haftungsausschluss in der
Dokumentation und/oder anderen Materialien, die mit dem Exemplar verbreitet
werden, enthalten.
3. Weder der Name des Autors noch die Namen der Beitragsleistenden
duerfen zum Kennzeichnen oder Bewerben von Produkten, die von dieser Software
abgeleitet wurden, ohne spezielle vorherige schriftliche Genehmigung verwendet
werden.
DIESE SOFTWARE WIRD VOM AUTOR UND DEN BEITRAGSLEISTENDEN OHNE
JEGLICHE SPEZIELLE ODER IMPLIZIERTE GARANTIEN ZUR VERFUEGUNG GESTELLT, DIE
UNTER ANDEREM EINSCHLIESSEN: DIE IMPLIZIERTE GARANTIE DER VERWENDBARKEIT DER
SOFTWARE FUER EINEN BESTIMMTEN ZWECK. AUF KEINEN FALL IST DER AUTOR
ODER DIE BEITRAGSLEISTENDEN FUER IRGENDWELCHE DIREKTEN, INDIREKTEN,
ZUFAELLIGEN, SPEZIELLEN, BEISPIELHAFTEN ODER FOLGENDEN SCHAEDEN (UNTER ANDEREM
VERSCHAFFEN VON ERSATZGUETERN ODER -DIENSTLEISTUNGEN; EINSCHRAENKUNG DER
NUTZUNGSFAEHIGKEIT; VERLUST VON NUTZUNGSFAEHIGKEIT; DATEN; PROFIT ODER
GESCHAEFTSUNTERBRECHUNG), WIE AUCH IMMER VERURSACHT UND UNTER WELCHER
VERPFLICHTUNG AUCH IMMER, OB IN VERTRAG, STRIKTER VERPFLICHTUNG ODER
UNERLAUBTE HANDLUNG (INKLUSIVE FAHRLAESSIGKEIT) VERANTWORTLICH, AUF WELCHEM
WEG SIE AUCH IMMER DURCH DIE BENUTZUNG DIESER SOFTWARE ENTSTANDEN SIND, SOGAR,
WENN SIE AUF DIE MOEGLICHKEIT EINES SOLCHEN SCHADENS HINGEWIESEN WORDEN SIND.
*/
import de.elbosso.util.lang.annotations.KeyValueStore;
@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE)
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
public @interface BeanInfoRT
{
String description() default "--";
String descriptionResourceBundleKeyName() default "--";
String descriptionResourceBundleName() default "--";
String displayName() default "--";
String displayNameResourceBundleKeyName() default "--";
String displayNameResourceBundleName() default "--";
boolean hidden() default false;
boolean expert() default false;
boolean preferred() default false;
int defaultPropertyIndex() default -1;
int defaultEventIndex() default -1;
String imageMono16() default "--";
String imageMono32() default "--";
String imageColor16() default "--";
String imageColor32() default "--";
KeyValueStore[] keyValueStore() default {};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment