Search in sources :

Example 21 with NoDump

use of org.bedework.calfacade.annotations.NoDump in project bw-calendar-engine by Bedework.

the class DumpEntity method findGetters.

private Collection<ComparableMethod> findGetters(final Dump d, final DumpType dt) throws CalFacadeException {
    Method[] meths = getClass().getMethods();
    Collection<ComparableMethod> getters = new TreeSet<ComparableMethod>();
    Collection<String> keyMethods = null;
    if (dt == DumpType.reference) {
        if ((d == null) || (d.keyFields().length == 0)) {
            error("No key fields defined for class " + getClass().getCanonicalName());
            throw new CalFacadeException(CalFacadeException.noKeyFields);
        }
        keyMethods = new ArrayList<String>();
        for (String f : d.keyFields()) {
            keyMethods.add(methodName(f));
        }
    }
    for (int i = 0; i < meths.length; i++) {
        Method m = meths[i];
        String mname = m.getName();
        if (mname.length() < 4) {
            continue;
        }
        /* Name must start with get */
        if (!mname.startsWith("get")) {
            continue;
        }
        /* Don't want getClass */
        if (mname.equals("getClass")) {
            continue;
        }
        /* No parameters */
        Class[] parClasses = m.getParameterTypes();
        if (parClasses.length != 0) {
            continue;
        }
        /* Not annotated with NoDump */
        if (m.getAnnotation(NoDump.class) != null) {
            continue;
        }
        /* If we have a list of key methods it must be in that list */
        if ((keyMethods != null) && !keyMethods.contains(mname)) {
            continue;
        }
        getters.add(new ComparableMethod(m));
    }
    return getters;
}
Also used : NoDump(org.bedework.calfacade.annotations.NoDump) Method(java.lang.reflect.Method) CalFacadeException(org.bedework.calfacade.exc.CalFacadeException) TreeSet(java.util.TreeSet)

Aggregations

NoDump (org.bedework.calfacade.annotations.NoDump)21 ToString (org.bedework.util.misc.ToString)8 FromXmlCallback (org.bedework.util.xml.FromXmlCallback)7 CalFacadeException (org.bedework.calfacade.exc.CalFacadeException)5 TreeSet (java.util.TreeSet)4 ArrayList (java.util.ArrayList)3 NoProxy (org.bedework.calfacade.annotations.ical.NoProxy)3 Method (java.lang.reflect.Method)2 QName (javax.xml.namespace.QName)2 Dur (net.fortuna.ical4j.model.Dur)2 Xpar (org.bedework.calfacade.BwXproperty.Xpar)2 Dump (org.bedework.calfacade.annotations.Dump)2 NoWrap (org.bedework.calfacade.annotations.NoWrap)2 ByteArrayOutputStream (java.io.ByteArrayOutputStream)1 InputStream (java.io.InputStream)1 Blob (java.sql.Blob)1 Timestamp (java.sql.Timestamp)1 Date (java.util.Date)1 DateTime (net.fortuna.ical4j.model.DateTime)1 Period (net.fortuna.ical4j.model.Period)1