package com.kryptnostic.v2.storage.types;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Optional;
import com.kryptnostic.v2.constants.Names;
public class ScopeRequestOptions {
public static final boolean LOAD_ALL_TYPES_DEFAULT = true;
private static final String LOAD_ALL_TYPES_FIELD = "loadAllTypes";
private final Optional<Integer> page;
private final boolean loadAllTypes;
public ScopeRequestOptions() {
this( Optional.<Integer> absent(), Optional.<Boolean> absent() );
}
public ScopeRequestOptions(
@JsonProperty( Names.PAGE_FIELD ) Optional<Integer> page,
@JsonProperty( LOAD_ALL_TYPES_FIELD ) Optional<Boolean> loadAllTypes) {
this.page = page;
this.loadAllTypes = loadAllTypes.or( LOAD_ALL_TYPES_DEFAULT );
}
@JsonProperty( Names.PAGE_FIELD )
public Optional<Integer> getPage() {
return page;
}
@JsonProperty( LOAD_ALL_TYPES_FIELD )
public boolean isLoadAllTypes() {
return loadAllTypes;
}
}