Class NamedQuery
- java.lang.Object
-
- com.inductiveautomation.ignition.common.db.namedquery.NamedQuery
-
- All Implemented Interfaces:
java.io.Serializable
public class NamedQuery extends java.lang.Object implements java.io.Serializable
This class represents a single named query. Instances of this class are serialized using the default Ignition XML serialization and stored as project resources.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
NamedQuery.Parameter
static class
NamedQuery.ParameterType
static class
NamedQuery.Type
-
Field Summary
Fields Modifier and Type Field Description static int
CURRENT_RESOURCE_VERSION
Stored as a 'query.sql' file with the main query body, and all other aspects of the query as resource attributes.static java.lang.String
DATABASE_PARAM_IDENTIFIER
static java.lang.String
DATABASE_PARAM_OPTION
static int
LEGACY_RESOURCE_VERSION
Original resource version; a simple default 'data.bin' on diskstatic java.util.Set<DataType>
PARAMETER_TYPES
Suggested list of acceptable data types for named query parametersstatic ResourceType
RESOURCE_TYPE
-
Constructor Summary
Constructors Constructor Description NamedQuery()
Public empty ctor for xml serializationNamedQuery(NamedQuery nq)
Copy constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static NamedQuery
fromResource(ProjectResource resource, XMLDeserializer deserializer)
Create a named query from a Project Resource - can be stored in legacy data.bin file, or modern query.sql + attributes;int
getCacheAmount()
long
getCacheInMillis()
TimeUnits
getCacheUnit()
java.lang.String
getDatabase()
java.lang.String
getDescription()
java.lang.String
getFallbackValue()
long
getMaxReturnSize()
NamedTheme
getNamedTheme()
Deprecated.java.util.List<NamedQuery.Parameter>
getParameters()
java.util.List<ZoneRoleRequirement>
getPermissions()
java.lang.String
getQuery()
java.lang.String
getSyntaxProvider()
NamedQuery.Type
getType()
boolean
isAutoBatchEnabled()
boolean
isCachingEnabled()
boolean
isEnabled()
boolean
isFallbackEnabled()
boolean
isUseMaxReturnSize()
static boolean
isValidParamName(java.lang.String paramName)
Checks to make sure a name is at least one character long and doesn't contain special characters Does not check for duplicates.void
setAutoBatchEnabled(boolean autoBatchEnabled)
void
setCacheAmount(int cacheAmount)
void
setCacheUnit(TimeUnits cacheUnit)
void
setCachingEnabled(boolean cachingEnabled)
void
setDatabase(java.lang.String database)
void
setDescription(java.lang.String description)
void
setEnabled(boolean enabled)
void
setFallbackEnabled(boolean fallbackEnabled)
void
setFallbackValue(java.lang.String fallbackValue)
void
setMaxReturnSize(long maxReturnSize)
void
setNamedTheme(NamedTheme ignored)
Deprecated.void
setParameters(java.util.List<NamedQuery.Parameter> parameters)
void
setPermissions(java.util.List<ZoneRoleRequirement> permissions)
void
setQuery(java.lang.String query)
void
setSyntaxProvider(java.lang.String syntax)
void
setType(NamedQuery.Type type)
void
setUseMaxReturnSize(boolean useMaxReturnSize)
static java.util.function.Consumer<ProjectResourceBuilder>
toResource(NamedQuery nq)
Provides a function to operate on a ProjectResourceBuilder in order to properly store a named query.
-
-
-
Field Detail
-
RESOURCE_TYPE
public static final ResourceType RESOURCE_TYPE
-
LEGACY_RESOURCE_VERSION
public static final int LEGACY_RESOURCE_VERSION
Original resource version; a simple default 'data.bin' on disk- See Also:
- Constant Field Values
-
CURRENT_RESOURCE_VERSION
public static final int CURRENT_RESOURCE_VERSION
Stored as a 'query.sql' file with the main query body, and all other aspects of the query as resource attributes.- See Also:
- Constant Field Values
-
PARAMETER_TYPES
public static final java.util.Set<DataType> PARAMETER_TYPES
Suggested list of acceptable data types for named query parameters
-
DATABASE_PARAM_IDENTIFIER
public static final java.lang.String DATABASE_PARAM_IDENTIFIER
- See Also:
- Constant Field Values
-
DATABASE_PARAM_OPTION
public static final java.lang.String DATABASE_PARAM_OPTION
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
NamedQuery
public NamedQuery()
Public empty ctor for xml serialization
-
NamedQuery
public NamedQuery(@Nonnull NamedQuery nq)
Copy constructor. Used by reports to override query limits and caching- Parameters:
nq
- Named Query to copy. Not null.
-
-
Method Detail
-
getType
public NamedQuery.Type getType()
-
setType
public void setType(NamedQuery.Type type)
-
getQuery
public java.lang.String getQuery()
-
setQuery
public void setQuery(java.lang.String query)
-
getFallbackValue
@Nullable public java.lang.String getFallbackValue()
-
setFallbackValue
public void setFallbackValue(java.lang.String fallbackValue)
-
isFallbackEnabled
public boolean isFallbackEnabled()
-
setFallbackEnabled
public void setFallbackEnabled(boolean fallbackEnabled)
-
getDatabase
public java.lang.String getDatabase()
-
setDatabase
public void setDatabase(java.lang.String database)
-
getDescription
@Nullable public java.lang.String getDescription()
-
setDescription
public void setDescription(java.lang.String description)
-
isEnabled
public boolean isEnabled()
-
setEnabled
public void setEnabled(boolean enabled)
-
isCachingEnabled
public boolean isCachingEnabled()
-
setCachingEnabled
public void setCachingEnabled(boolean cachingEnabled)
-
getCacheAmount
public int getCacheAmount()
-
setCacheAmount
public void setCacheAmount(int cacheAmount)
-
getCacheUnit
public TimeUnits getCacheUnit()
-
setCacheUnit
public void setCacheUnit(TimeUnits cacheUnit)
-
getCacheInMillis
public long getCacheInMillis()
-
isAutoBatchEnabled
public boolean isAutoBatchEnabled()
-
setAutoBatchEnabled
public void setAutoBatchEnabled(boolean autoBatchEnabled)
-
isUseMaxReturnSize
public boolean isUseMaxReturnSize()
-
setUseMaxReturnSize
public void setUseMaxReturnSize(boolean useMaxReturnSize)
-
getMaxReturnSize
public long getMaxReturnSize()
-
setMaxReturnSize
public void setMaxReturnSize(long maxReturnSize)
-
getPermissions
public java.util.List<ZoneRoleRequirement> getPermissions()
-
setPermissions
public void setPermissions(java.util.List<ZoneRoleRequirement> permissions)
-
getSyntaxProvider
@Nullable public java.lang.String getSyntaxProvider()
-
setSyntaxProvider
public void setSyntaxProvider(java.lang.String syntax)
-
getParameters
public java.util.List<NamedQuery.Parameter> getParameters()
-
setParameters
public void setParameters(java.util.List<NamedQuery.Parameter> parameters)
-
getNamedTheme
@Deprecated(since="8.1.6") public NamedTheme getNamedTheme()
Deprecated.Deprecated. Was used to persist a chosen code editor theme in the designer.
-
setNamedTheme
@Deprecated(since="8.1.6") public void setNamedTheme(NamedTheme ignored)
Deprecated.Deprecated. Was used to persist a chosen code editor theme in the designer.
-
isValidParamName
public static boolean isValidParamName(java.lang.String paramName)
Checks to make sure a name is at least one character long and doesn't contain special characters Does not check for duplicates. See the isUniqueParamName method in ParameterTable.java- Parameters:
paramName
- String parameter name to check. Do not include the key characters "{", ":", etc.- Returns:
- true if the name is valid, false if the name is invalid (likely due to special characters)
-
toResource
public static java.util.function.Consumer<ProjectResourceBuilder> toResource(@Nonnull NamedQuery nq)
Provides a function to operate on a ProjectResourceBuilder in order to properly store a named query.
-
fromResource
@Nonnull public static NamedQuery fromResource(ProjectResource resource, XMLDeserializer deserializer) throws java.lang.Exception
Create a named query from a Project Resource - can be stored in legacy data.bin file, or modern query.sql + attributes;- Returns:
- The deserialized query, an empty default query, or an exception.
- Throws:
java.lang.Exception
-
-