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.SerializableThis 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 classNamedQuery.Parameterstatic classNamedQuery.ParameterTypestatic classNamedQuery.Type
-
Field Summary
Fields Modifier and Type Field Description static intCURRENT_RESOURCE_VERSIONStored as a 'query.sql' file with the main query body, and all other aspects of the query as resource attributes.static java.lang.StringDATABASE_PARAM_IDENTIFIERstatic java.lang.StringDATABASE_PARAM_OPTIONstatic intLEGACY_RESOURCE_VERSIONOriginal resource version; a simple default 'data.bin' on diskstatic java.util.Set<DataType>PARAMETER_TYPESSuggested list of acceptable data types for named query parametersstatic ResourceTypeRESOURCE_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 NamedQueryfromResource(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;intgetCacheAmount()longgetCacheInMillis()TimeUnitsgetCacheUnit()java.lang.StringgetDatabase()java.lang.StringgetDescription()java.lang.StringgetFallbackValue()longgetMaxReturnSize()NamedThemegetNamedTheme()Deprecated.java.util.List<NamedQuery.Parameter>getParameters()java.util.List<ZoneRoleRequirement>getPermissions()java.lang.StringgetQuery()java.lang.StringgetSyntaxProvider()NamedQuery.TypegetType()booleanisAutoBatchEnabled()booleanisCachingEnabled()booleanisEnabled()booleanisFallbackEnabled()booleanisUseMaxReturnSize()static booleanisValidParamName(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.voidsetAutoBatchEnabled(boolean autoBatchEnabled)voidsetCacheAmount(int cacheAmount)voidsetCacheUnit(TimeUnits cacheUnit)voidsetCachingEnabled(boolean cachingEnabled)voidsetDatabase(java.lang.String database)voidsetDescription(java.lang.String description)voidsetEnabled(boolean enabled)voidsetFallbackEnabled(boolean fallbackEnabled)voidsetFallbackValue(java.lang.String fallbackValue)voidsetMaxReturnSize(long maxReturnSize)voidsetNamedTheme(NamedTheme ignored)Deprecated.voidsetParameters(java.util.List<NamedQuery.Parameter> parameters)voidsetPermissions(java.util.List<ZoneRoleRequirement> permissions)voidsetQuery(java.lang.String query)voidsetSyntaxProvider(java.lang.String syntax)voidsetType(NamedQuery.Type type)voidsetUseMaxReturnSize(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
-
-