public final class BeanUtils extends Object
Modifier and Type | Method and Description |
---|---|
static ValueDescriptor |
correctlyTypedDescriptor(Object bean,
String propName,
Object propValue) |
static <E extends ITransferable> |
findModelClass(Object bean,
String entityPropName)
Liefert die konkrete Klasse, welche die gefunden getter-Methode als Rückgabewert hat.
|
static Object |
getCollectionObject(List<Object> entList,
Class<?> cl) |
static ITransferableEntity |
getEntity(UserContext uc,
String entityName,
String id)
Generisches Auslesen der Entität anhand der ID und dem Namen der Entität.
|
static Class<?> |
getGenericClassFromList(Object bean,
String propName) |
static Class<?> |
getGenericTypeClass(Object bean,
String propName)
Diese Methode läd den generischen Typ eines Attributes
|
static String[] |
getIncomingAttributes(Class<? extends ITransferable> entityClass)
Diese Methode liefert nur die Attribute, welche mit der Annotation
TransferAttribute versehen sind und
incoming auf true (Defaultwert) gesetzt ist. |
static Matcher |
getMatcher(String key)
Überprüft ob der Schlüssel auf .id oder .ids endet
|
static ArrayList<BeanAttribute> |
getOutgoingAttributes(Class<? extends ITransferable> entityClass)
Diese Methode liefert nur die Attribute, welche mit der Annotation
TransferAttribute versehen sind |
static Map<String,Object> |
getProp(Serializable bean,
List<BeanAttribute> props) |
static boolean |
matchesPropertyCollectionTypeParameter(Object value,
Object bean,
String propName,
Class<?> targetType)
Diese Methode prüft ob ein Klassenattribut eine Liste ist und ob der generische Type dieser Liste einem übergebenem
Typen entspricht
|
static void |
setProp(UserContext uc,
Object bean,
String propName,
Object propValue)
Setzt folgendes voraus, wenn es sich bei den zu setzenden Properties um eine oder mehrere Entitäten-IDs handelt:
ein passendes DAO mit dem Namen "[großgeschriebener Property- oder Collection-Parametertyp]_DAO" existiert als
statisches Feld in DaoProvider
propName muss dem Muster "[Name einfache Eigenschaft].id" oder "[Name Collection-basierte
Eigenschaft].ids" entsprechen, z.B. |
static ArrayList<ValueDescriptor> |
vdList(Serializable bean,
String[] propNames)
Baut eine Liste von
ValueDescriptor en. |
public static final String ATTR_IDS
public static void setProp(UserContext uc, Object bean, String propName, Object propValue) throws ValidationException, PropertyException
propName
muss dem Muster "[Name einfache Eigenschaft].id" oder "[Name Collection-basierte
Eigenschaft].ids" entsprechen, z.B. Benutzergruppen eines Benutzers: "benutzerGruppen_ids"propValue
muss die ID-Informationen enthalten (eine ID oder mehrere IDs, durch Komma getrennt)
Set<BenutzerGruppe>
statt Set
)uc
- TODObean
- Zielobjekt (i.A. eine Entitäteninstanz)propName
- Name der zu setzenden EigenschaftpropValue
- neuer Wert der zu setzenden EigenschaftValidationException
- on validation errorsPropertyException
- on property errorspublic static Matcher getMatcher(String key)
key
- Schlüssel bzw. Eingenschaftsname der Beanpublic static Map<String,Object> getProp(Serializable bean, List<BeanAttribute> props) throws PropertyException
PropertyException
public static ArrayList<ValueDescriptor> vdList(Serializable bean, String[] propNames) throws PropertyException
ValueDescriptor
en. Die Bean wird anhand der übergebenen Eigenschaftsnamen durchlaufen
und als ValueDescriptor (enthält PropertyName, PropertyValue und Typ in diesem Fall nur String) der Liste
hinzugefügt.bean
- die Instanziiert werden sollpropNames
- String[] mit Property-Namen, die ausgewertet sollen werdenValueDescriptor
s.PropertyException
- wenn ein Fehler in der Verarbeitung des Auslesens auftrittpublic static <E extends ITransferable> Class<E> findModelClass(Object bean, String entityPropName) throws PropertyException
bean
- Objekt (Entität)entityPropName
- Eingenschaft der EintitätPropertyException
- on property errorspublic static ITransferableEntity getEntity(UserContext uc, String entityName, String id)
uc
- Wrapper für EntityManager
und andere ZusatzinformationenentityName
- Name der Entitätid
- IDpublic static Class<?> getGenericClassFromList(Object bean, String propName) throws PatternNotFoundException, ClassNotFoundException, SecurityException, NoSuchMethodException
public static Object getCollectionObject(List<Object> entList, Class<?> cl) throws IsNotAssignableException
IsNotAssignableException
public static ArrayList<BeanAttribute> getOutgoingAttributes(Class<? extends ITransferable> entityClass)
TransferAttribute
versehen sindentityClass
- class of the entitypublic static String[] getIncomingAttributes(Class<? extends ITransferable> entityClass)
TransferAttribute
versehen sind und
incoming auf true
(Defaultwert) gesetzt ist. Das Annotation-Feld TransferAttribute#incoming() liefert
hierbei den Wert ob dieses Feld vom Client empfangen werden soll. Felder vom Typ ITransferableEntity
oder
Collection
mit GenericTyp ITransferableEntity
werden hier gesondert behandelt, da hier die Notation
"attr".id bzw "attr.ids" vorgeschrieben ist.entityClass
- class of the entitypublic static boolean matchesPropertyCollectionTypeParameter(Object value, Object bean, String propName, Class<?> targetType)
value
- Objekt das Klassenattribut, dessen Typ auf Collection
geprüft wirdbean
- die Klasseninstanz deren Attribut (value) geprüft werden sollpropName
- Name des zu überprüfenden KlassenattributestargetType
- der Zieltyp auf den geprüft werden soll ob die Collection von diesem generischen Typ isttrue
wenn das Attribut eine Collection ist und vom entsprechenden Zieltyp, ansonsten false
public static Class<?> getGenericTypeClass(Object bean, String propName)
bean
- Objekt mit einem Attribut von dem der generische Typ ermittelt werden soll.propName
- der Attributname der das Attribtut beschreibt dessen generischer Typ ermittelt werden sollnull
wenn kein Typ ermittelt werden konntepublic static ValueDescriptor correctlyTypedDescriptor(Object bean, String propName, Object propValue) throws PropertyException, ValidationException
PropertyException
ValidationException
Copyright © 2021 XIMA MEDIA GmbH. All rights reserved.