private void registerInBuiltStates() { List<Pair<SchemaVersionLifecycleStateTransition, SchemaVersionLifecycleStateAction>> transitionActions = new ArrayList<>(); Field[] declaredFields = SchemaVersionLifecycleStates.class.getDeclaredFields(); for (Field field : declaredFields) { if (Modifier.isFinal(field.getModifiers()) && Modifier.isStatic(field.getModifiers()) && InbuiltSchemaVersionLifecycleState.class.isAssignableFrom(field.getType())) { InbuiltSchemaVersionLifecycleState state = null; try { state = (InbuiltSchemaVersionLifecycleState) field.get(null); } catch (IllegalAccessException e) { throw new RuntimeException(e); } register(state); transitionActions.addAll(state.getTransitionActions()); } } // register transitions for inbuilt states for (Pair<SchemaVersionLifecycleStateTransition, SchemaVersionLifecycleStateAction> transitionAction : transitionActions) { transition(transitionAction.getLeft(), transitionAction.getRight()); } }
private void registerInBuiltStates() { List<Pair<SchemaVersionLifecycleStateTransition, SchemaVersionLifecycleStateAction>> transitionActions = new ArrayList<>(); Field[] declaredFields = SchemaVersionLifecycleStates.class.getDeclaredFields(); for (Field field : declaredFields) { if (Modifier.isFinal(field.getModifiers()) && Modifier.isStatic(field.getModifiers()) && InbuiltSchemaVersionLifecycleState.class.isAssignableFrom(field.getType())) { InbuiltSchemaVersionLifecycleState state = null; try { state = (InbuiltSchemaVersionLifecycleState) field.get(null); } catch (IllegalAccessException e) { throw new RuntimeException(e); } register(state); transitionActions.addAll(state.getTransitionActions()); } } // register transitions for inbuilt states for (Pair<SchemaVersionLifecycleStateTransition, SchemaVersionLifecycleStateAction> transitionAction : transitionActions) { transition(transitionAction.getLeft(), transitionAction.getRight()); } }