class BasePropertySource implements PropertySource {

    public int getOrdinal() {
        Integer ordinal = this.ordinal;
        if(ordinal!=null){
            Logger.getLogger(getClass().getName()).finest(
                    "Using explicit ordinal '"+ordinal+"' for property source: " + getName());
            return ordinal;
        }
        PropertyValue configuredOrdinal = get(TAMAYA_ORDINAL);
        if(configuredOrdinal!=null){
            try {
                return Integer.parseInt(configuredOrdinal.getValue());
            } catch (Exception e) {
                Logger.getLogger(getClass().getName()).log(Level.WARNING,
                        "Configured ordinal is not an int number: " + configuredOrdinal, e);
            }
        }
        return getDefaultOrdinal();
    }

    protected  BasePropertySource(String name);
    protected  BasePropertySource(int defaultOrdinal);
    protected  BasePropertySource(String name, int defaultOrdinal);
    protected  BasePropertySource();

}