public static TimestampPropertyDesc validatedDetermineTimestampProps(EventType type, String startProposed, String endProposed, EventType[] superTypes)
throws EPException {
String startTimestampPropertyName = startProposed;
String endTimestampPropertyName = endProposed;
if (superTypes != null && superTypes.length > 0) {
for (EventType superType : superTypes) {
if (superType.getStartTimestampPropertyName() != null) {
if (startTimestampPropertyName != null && !startTimestampPropertyName.equals(superType.getStartTimestampPropertyName())) {
throw getExceptionTimestampInherited("start", startTimestampPropertyName, superType.getStartTimestampPropertyName(), superType);
}
startTimestampPropertyName = superType.getStartTimestampPropertyName();
}
if (superType.getEndTimestampPropertyName() != null) {
if (endTimestampPropertyName != null && !endTimestampPropertyName.equals(superType.getEndTimestampPropertyName())) {
throw getExceptionTimestampInherited("end", endTimestampPropertyName, superType.getEndTimestampPropertyName(), superType);
}
endTimestampPropertyName = superType.getEndTimestampPropertyName();
}
}
}
validateTimestampProperties(type, startTimestampPropertyName, endTimestampPropertyName);
return new TimestampPropertyDesc(startTimestampPropertyName, endTimestampPropertyName);
}