@Override public IDominoType getTypeDefinition(final Class<? extends IDominoType> type) { IDominoType result = getTypeDefinitions().get(type); if (result == null) { // TODO NTF improve exception handling try { result = type.newInstance(); } catch (IllegalAccessException e) { ODAUtils.handleException(e); } catch (InstantiationException e) { ODAUtils.handleException(e); } getTypeDefinitions().put(type, result); } return result; }
/* * (non-Javadoc) * * @see org.openntf.domino.DateTime#setLocalTime(java.lang.String) */ @Override public void setLocalTime(final String time) { try { idt = null; lotus.domino.DateTime worker = getDelegate(); worker.setLocalTime(time); workDone(worker, true); } catch (NotesException ne) { ODAUtils.handleException(ne); } }
/* * (non-Javadoc) * * @see org.openntf.domino.DateTime#setLocalDate(int, int, int, boolean) */ @Override public void setLocalDate( final int year, final int month, final int day, final boolean preserveLocalTime) { try { lotus.domino.DateTime worker = getDelegate(); worker.setLocalDate(year, month, day, preserveLocalTime); workDone(worker, true); } catch (NotesException ne) { ODAUtils.handleException(ne); } }
/* * (non-Javadoc) * * @see org.openntf.domino.DateTime#getLocalTime() */ @Override public String getLocalTime() { String ret = null; try { lotus.domino.DateTime worker = getDelegate(); ret = worker.getLocalTime(); workDone(worker, false); } catch (NotesException ne) { ODAUtils.handleException(ne); } return ret; }
/* * (non-Javadoc) * * @see org.openntf.domino.DateTime#convertToZone(int, boolean) */ @Override public void convertToZone(final int zone, final boolean isDST) { try { lotus.domino.DateTime worker = getDelegate(); worker.convertToZone(zone, isDST); workDone(worker, true); } catch (NotesException ne) { ODAUtils.handleException(ne); } // TODO NTF - find out what this actually does. The documentation is... vague // throw new UnimplementedException("convertToZone is not yet implemented."); }
/* * (non-Javadoc) * * @see org.openntf.domino.DateTime#getTimeZone() */ @Override public int getTimeZone() { // TODO: are these the upper two bits of innard1 int ret = 0; try { lotus.domino.DateTime worker = getDelegate(); ret = worker.getTimeZone(); workDone(worker, false); } catch (NotesException ne) { ODAUtils.handleException(ne); } return ret; }
/* * (non-Javadoc) * * @see org.openntf.domino.DateTime#getZoneTime() */ @Override public String getZoneTime() { // TODO NTF - find out what this really does String ret = null; try { lotus.domino.DateTime worker = getDelegate(); ret = worker.getZoneTime(); workDone(worker, false); } catch (NotesException ne) { ODAUtils.handleException(ne); } return ret; // throw new UnimplementedException("getZoneTime is not yet implemented."); }
/* * (non-Javadoc) * * @see org.openntf.domino.DateTime#adjustYear(int, boolean) */ @Override public void adjustYear(final int n, final boolean preserveLocalTime) { if (preserveLocalTime) { idt.adjustYear(n); } else { try { lotus.domino.DateTime worker = getDelegate(); worker.adjustYear(n, preserveLocalTime); workDone(worker, true); } catch (NotesException ne) { ODAUtils.handleException(ne); } } }
private void timeDifferenceCommon(final lotus.domino.DateTime dt, final Object[] res) { lotus.domino.DateTime dtLocal = dt; lotus.domino.DateTime lotusDTTmp = null; try { if (dtLocal instanceof org.openntf.domino.impl.DateTime) { lotusDTTmp = ((org.openntf.domino.impl.DateTime) dtLocal).getDelegate(); dtLocal = lotusDTTmp; } lotus.domino.DateTime worker = getDelegate(); if (res[0] instanceof Integer) { res[0] = worker.timeDifference(dtLocal); } else if (res[0] instanceof Double) { res[0] = worker.timeDifferenceDouble(dtLocal); } workDone(worker, false); } catch (NotesException ne) { ODAUtils.handleException(ne); } finally { if (lotusDTTmp != null) s_recycle(lotusDTTmp); } }
/** * Initialize. * * @param delegate the delegate */ private void initialize(final lotus.domino.DateTime delegate) { try { String innards = ((lotus.domino.local.DateTime) delegate).getReplicaID(); int dateInnard = (int) Long.parseLong(innards.substring(0, 8), 16); int timeInnard = (int) Long.parseLong(innards.substring(8, 16), 16); idt = IDateTime.$.create(); long millis = dateInnard == ANY ? 0 : ((dateInnard & 0xFFFFFF) - INNARD_OFFSET) * 86400000L; if (timeInnard != ANY) { millis += timeInnard * 10L; } idt.setLocalTime(millis); if (dateInnard == ANY) { idt.setAnyDate(); } if (timeInnard == ANY) { idt.setAnyTime(); } } catch (NotesException ne) { ODAUtils.handleException(ne); } }