- java.lang.Object
-
- com.aoindustries.aoserv.client.AOServObject<K,T>
-
- com.aoindustries.aoserv.client.CachedObject<Integer,V>
-
- com.aoindustries.aoserv.client.CachedObjectIntegerKey<Record>
-
- com.aoindustries.aoserv.client.dns.Record
-
- All Implemented Interfaces:
Streamable,StreamReadable,StreamWritable,Row,AOServReadable,AOServStreamable,AOServWritable,Removable,SingleTableObject<Integer,Record>
public final class Record extends CachedObjectIntegerKey<Record> implements Removable
ADNSRecordis one line of aDNSZone(name server zone file).- Author:
- AO Industries, Inc.
- See Also:
Zone
-
-
Field Summary
Fields Modifier and Type Field Description static intNO_PORTstatic intNO_PRIORITYstatic intNO_TTLstatic intNO_WEIGHT-
Fields inherited from class com.aoindustries.aoserv.client.CachedObjectIntegerKey
pkey
-
Fields inherited from class com.aoindustries.aoserv.client.CachedObject
table
-
Fields inherited from class com.aoindustries.aoserv.client.AOServObject
USE_ARRAY_OF_DOMAIN, USE_SQL_DATA, USE_SQL_DATA_WRITE
-
-
Constructor Summary
Constructors Constructor Description Record()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetAbsoluteDomain()Gets the domain, but in fully-qualified, absolute path (with trailing period).List<CannotRemoveReason<?>>getCannotRemoveReasons()Lists the reasons an object may not be removed.protected ObjectgetColumnImpl(int i)StringgetDestination()IpAddressgetDhcpAddress()IntegergetDhcpAddress_id()StringgetDomain()intgetId()intgetPort()intgetPriority()Table.TableIDgetTableID()intgetTtl()RecordTypegetType()StringgetType_type()intgetWeight()ZonegetZone()StringgetZone_zone()booleanhasConflict(Record other)Checks if this record conflicts with the provided record, meaning they may not both exist in a zone file at the same time.voidinit(ResultSet result)Initializes this object from the raw database contents.voidread(StreamableInput in, AoservProtocol.Version protocolVersion)voidremove()Removes this object, and all dependant objects, from the system.StringtoStringImpl()AOServObject.toString()implementation that is allowed to throw exceptions.voidwrite(StreamableOutput out, AoservProtocol.Version protocolVersion)-
Methods inherited from class com.aoindustries.aoserv.client.CachedObjectIntegerKey
equals, getKey, getPkey, hashCode
-
Methods inherited from class com.aoindustries.aoserv.client.CachedObject
getTable, setTable
-
Methods inherited from class com.aoindustries.aoserv.client.AOServObject
compare, compare, compare, compare, compareIgnoreCaseConsistentWithEquals, compareTo, compareTo, compareTo, getAccountingCode, getColumn, getColumns, getColumns, getDomainLabel, getDomainLabels, getDomainName, getDto, getEmail, getGecos, getGroupId, getHashedKey, getHashedPassword, getHostname, getInetAddress, getLinuxID, getLinuxUserName, getMacAddress, getMySQLDatabaseName, getMySQLServerName, getMysqlUserName, getPort, getPostgresDatabaseName, getPostgresServerName, getPostgresUserId, getTableSchema, getTimeMillis, getTimeMillis, getUnixPath, getUserId, read, toString, write
-
-
-
-
Field Detail
-
NO_PRIORITY
public static final int NO_PRIORITY
- See Also:
- Constant Field Values
-
NO_WEIGHT
public static final int NO_WEIGHT
- See Also:
- Constant Field Values
-
NO_PORT
public static final int NO_PORT
- See Also:
- Constant Field Values
-
NO_TTL
public static final int NO_TTL
- See Also:
- Constant Field Values
-
-
Method Detail
-
getColumnImpl
protected Object getColumnImpl(int i)
- Specified by:
getColumnImplin classAOServObject<Integer,Record>
-
getId
public int getId()
-
getZone_zone
public String getZone_zone()
-
getZone
public Zone getZone() throws SQLException, IOException
- Throws:
SQLExceptionIOException
-
getDomain
public String getDomain()
-
getType_type
public String getType_type()
-
getType
public RecordType getType() throws SQLException, IOException
- Throws:
SQLExceptionIOException
-
getPriority
public int getPriority()
-
getWeight
public int getWeight()
-
getPort
public int getPort()
-
getDestination
public String getDestination()
-
getDhcpAddress_id
public Integer getDhcpAddress_id()
-
getDhcpAddress
public IpAddress getDhcpAddress() throws SQLException, IOException
- Throws:
SQLExceptionIOException
-
getTtl
public int getTtl()
-
init
public void init(ResultSet result) throws SQLException
Description copied from class:AOServObjectInitializes this object from the raw database contents.- Specified by:
initin classAOServObject<Integer,Record>- Parameters:
result- theResultSetcontaining the row to copy into this object- Throws:
SQLException
-
read
public void read(StreamableInput in, AoservProtocol.Version protocolVersion) throws IOException
- Specified by:
readin interfaceAOServReadable- Specified by:
readin interfaceAOServStreamable- Specified by:
readin classAOServObject<Integer,Record>- Throws:
IOException
-
write
public void write(StreamableOutput out, AoservProtocol.Version protocolVersion) throws IOException
- Specified by:
writein interfaceAOServStreamable- Specified by:
writein interfaceAOServWritable- Specified by:
writein classAOServObject<Integer,Record>- Throws:
IOException
-
getAbsoluteDomain
public String getAbsoluteDomain()
Gets the domain, but in fully-qualified, absolute path (with trailing period).
-
hasConflict
public boolean hasConflict(Record other)
Checks if this record conflicts with the provided record, meaning they may not both exist in a zone file at the same time. The current conflicts checked are:- CNAME must exist by itself, and only one CNAME maximum, per domain
- Multiple TXT entries of "v=spf1", with or without surrounded by quotes, see 4.5. Selecting Records.
- Returns:
trueif there is a conflict,falseif the records may coexist.
-
getTableID
public Table.TableID getTableID()
- Specified by:
getTableIDin classAOServObject<Integer,Record>
-
getCannotRemoveReasons
public List<CannotRemoveReason<?>> getCannotRemoveReasons()
Description copied from interface:RemovableLists the reasons an object may not be removed.- Specified by:
getCannotRemoveReasonsin interfaceRemovable- Returns:
- an empty
List<CannotRemoveReason>if this object may be removed, or a list of descriptions
-
remove
public void remove() throws IOException, SQLExceptionDescription copied from interface:RemovableRemoves this object, and all dependant objects, from the system.- Specified by:
removein interfaceRemovable- Throws:
IOExceptionSQLException
-
toStringImpl
public String toStringImpl()
Description copied from class:AOServObjectAOServObject.toString()implementation that is allowed to throw exceptions.Implementation Note:
This default implementation callsAOServObject.toString()on the key (fromAOServObject.getKey()). When the key isnull, uses the default implementation fromObject.toString().- Overrides:
toStringImplin classCachedObjectIntegerKey<Record>
-
-