complete(); long orgTime = time; int result = 0;
@Override public void set(int field, int value) { super.set(field, value); if (field == DAY_OF_YEAR) super.complete(); }
/** * {@inheritDoc} * <p> * We hack the complete method to avoid it being executed by most methods, which can make the calendar data * unstable and unreliable. */ @Override protected void complete() { // Get the stack trace of calling methods and access the 4th trace element. // This makes this class very inefficient, due to the fact that we have to access the stack trace each time we // set a field value. StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace(); StackTraceElement element = stackTraceElements[3]; String methodName = element.getMethodName(); // Check if method should be ignored if ("setTimeInMillis".equals(methodName)) { super.complete(); } } }
complete(); long orgTime = time; int result = 0;
complete(); long orgTime = time; int result = 0;
complete(); long orgTime = time; int result = 0;
complete(); long orgTime = time; int result = 0;
complete(); long orgTime = time; int result = 0;
complete(); long orgTime = time; int result = 0;
complete(); long orgTime = time; int result = 0;
private void computeIfNeed(int field) { if (isChineseField(field)) { if (!lastSetChinese && !areChineseFieldsComputed) { super.complete(); computeChineseFields(); areFieldsSet = true; areChineseFieldsComputed = true; areSolarTermsComputed = false; } if (isChineseTermsField(field) && !areSolarTermsComputed) { computeSolarTerms(); areSolarTermsComputed = true; } } else { if (lastSetChinese && !areFieldsSet) { computeGregorianFields(); super.complete(); areFieldsSet = true; areChineseFieldsComputed = true; areSolarTermsComputed = false; } } }