A new handle is generated for the initial time the class descriptor is written into the stream. Future references to the class descriptor are written as references to the initial class descriptor instance.TC_CLASS
ClassDescriptor A ClassDescriptor is a special cased serialization of ajava.io.ObjectStreamClass
instance.
ObjectStreamClass
boolean value
byte value
Byte
.char value
Character
.Throwable ex
double value
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void readObjectNoData() throws ObjectStreamException
ObjectStreamException
String name
Enum.toString()
method rather than
accessing this field.int ordinal
Throwable exception
float value
int value
Integer
.long value
Long
.short value
Short
.private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream s) throws IOException
IOException
int count
boolean shared
char[] value
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream s) throws IOException
StringBuilder
instance to a stream
(that is, serialize it).int
), followed by the characters in the
string builder (char[]
). The length of the
char
array may be greater than the number of
characters currently stored in the string builder, in which
case extra characters are ignored.IOException
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
Throwable
from a stream, enforcing
well-formedness constraints on fields. Null entries and
self-pointers are not allowed in the list of
suppressedExceptions
. Null entries are not allowed for stack
trace elements. A null stack trace in the serial form results
in a zero-length stack element array. A single-element stack
trace whose entry is equal to new StackTraceElement("",
"", null, Integer.MIN_VALUE)
results in a null
stackTrace
field.
Note that there are no constraints on the value the
cause
field can hold; both null
and this
are
valid values for the field.IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream s) throws IOException
Throwable
object to a stream.
A null
stack trace field is represented in the serial
form as a one-element array whose element is equal to
new StackTraceElement("", "", null, Integer.MIN_VALUE)
.IOException
Throwable cause
String detailMessage
FileNotFoundException
, this contains the name of
the file that could not be found.StackTraceElement[] stackTrace
Throwable.getStackTrace()
.
The field is initialized to a zero-length array. A
null
value of this field indicates subsequent calls to Throwable.setStackTrace(StackTraceElement[])
and Throwable.fillInStackTrace()
will be no-ops.List<E> suppressedExceptions
Throwable.getSuppressed()
. The list is initialized to a zero-element
unmodifiable sentinel list. When a serialized Throwable is
read in, if the suppressedExceptions
field points to a
zero-element list, the field is reset to the sentinel value.String typeName
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
MethodType
instance from a stream (that is,
deserialize it).
This instance is a scratch object with bogus final fields.
It provides the parameters to the factory method called by
readResolve
.
After that call it is discarded.IOException
- if there is a problem reading the objectClassNotFoundException
- if one of the component classes cannot be resolvedMethodType()
,
MethodType.readResolve()
,
MethodType.writeObject(java.io.ObjectOutputStream)
private Object readResolve()
MethodType
object
after serialization.private void writeObject(ObjectOutputStream s) throws IOException
MethodType
instance to a stream.writeObject
method, using two calls to s.writeObject
as follows:
s.writeObject(this.returnType()); s.writeObject(this.parameterArray());
The deserialized field values are checked as if they were
provided to the factory method methodType
.
For example, null values, or void
parameter types,
will lead to exceptions during deserialization.
IOException
- if there is a problem writing the objectMethodType
.private Object readResolve() throws ReflectiveOperationException
ReflectiveOperationException
Object[] capturedArgs
Class<T> capturingClass
String functionalInterfaceClass
String functionalInterfaceMethodName
String functionalInterfaceMethodSignature
String implClass
int implMethodKind
String implMethodName
String implMethodSignature
String instantiatedMethodType
InvocationHandler h
Throwable target
Throwable undeclaredThrowable
String location
int responseCode
private Object writeReplace() throws ObjectStreamException
ObjectStreamException
- if a new object replacing this
object could not be createdprivate void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream s) throws IOException
IOException
String ifname
byte[] ipaddress
int scope_id
boolean scope_id_set
boolean scope_ifname_set
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void readObjectNoData(ObjectInputStream s) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private Object readResolve() throws ObjectStreamException
ObjectStreamException
- if a new object replacing this
object could not be createdprivate void writeObject(ObjectOutputStream s) throws IOException
IOException
int address
int family
String hostName
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void readObjectNoData() throws ObjectStreamException
ObjectStreamException
private void writeObject(ObjectOutputStream out) throws IOException
IOException
InetAddress addr
String hostname
int port
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream out) throws IOException
IOException
private void readObject(ObjectInputStream is) throws ClassNotFoundException, IOException
The ObjectInputStream.defaultReadObject()
method is
invoked to read the value of the string
field. The result is
then parsed in the usual way.
ClassNotFoundException
IOException
private void writeObject(ObjectOutputStream os) throws IOException
The only serializable field of a URI instance is its string
field. That field is given a value, if it does not have one already,
and then the ObjectOutputStream.defaultWriteObject()
method of the given object-output stream is invoked.
IOException
String string
int index
String input
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private Object readResolve() throws ObjectStreamException
ObjectStreamException
- if a new object replacing this
object could not be createdprivate void writeObject(ObjectOutputStream s) throws IOException
IOException
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
String actions
Permission perm
boolean all_allowed
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream out) throws IOException
IOException
boolean all_allowed
true
if this BasicPermissionCollection
contains a BasicPermission with '*' as its permission name.Class<T> permClass
Hashtable<K,V> permissions
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream oos) throws IOException
URL
is followed by an
int
indicating the number of certificates to follow
(a value of "zero" denotes that there are no certificates associated
with this object).
Each certificate is written out starting with a String
denoting the certificate type, followed by an
int
specifying the length of the certificate encoding,
followed by the certificate encoding itself which is written out as an
array of bytes. Finally, if any code signers are present then the array
of code signers is serialized and written out too.IOException
URL location
private void writeObject(ObjectOutputStream oos) throws IOException
IOException
Vector<E> certificates
String info
String name
PublicKey publicKey
IdentityScope scope
PrivateKey privateKey
PublicKey publicKey
protected Object readResolve() throws ObjectStreamException
This method supports three Type/format combinations:
ObjectStreamException
- if the Type/format
combination is unrecognized, if the algorithm, key format, or
encoded key bytes are unrecognized/invalid, of if the
resolution of the key fails for any reasonString algorithm
byte[] encoded
String format
KeyRep.Type type
String name
boolean readOnly
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream out) throws IOException
IOException
Exception exception
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
ObjectInputStream
for the default serializable fields.
If the serialized field versionStr
is found in the STREAM FIELDS,
its String value will be used to populate both the version string and
version number. If versionStr
is not found, but version
is, then its double value will be used to populate both fields.IOException
ClassNotFoundException
String algorithm
long counter
MessageDigest digest
Provider provider
byte[] randomBytes
SecureRandom
class itself.int randomBytesUsed
SecureRandomSpi secureRandomSpi
byte[] state
boolean threadSafe
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
byte[] content
byte[] signature
String thealgorithm
PrivateKey privateKey
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream oos) throws IOException
String
denoting the
type
is followed by a String
denoting the
name
is followed by a String
denoting the
actions
is followed by an int
indicating the
number of certificates to follow
(a value of "zero" denotes that there are no certificates associated
with this object).
Each certificate is written out starting with a String
denoting the certificate type, followed by an
int
specifying the length of the certificate encoding,
followed by the certificate encoding itself which is written out as an
array of bytes.IOException
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream out) throws IOException
IOException
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
ClassNotFoundException
- if the class of a serialized object
could not be foundIOException
- if an I/O error occursprivate void writeObject(ObjectOutputStream s) throws IOException
int
) of the deque,
followed by all of its elements (each an object reference) in
first-to-last order.IOException
- if an I/O error occursprivate void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
ArrayList
instance from a stream (that is,
deserializes it).ClassNotFoundException
- if the class of a serialized object
could not be foundIOException
- if an I/O error occursprivate void writeObject(ObjectOutputStream s) throws IOException
ArrayList
instance to a stream
(that is, serializes it).ArrayList
instance is emitted (int), followed by all of its elements
(each an Object
) in the proper order.IOException
- if an I/O error occursint size
Object[] a
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
BitSet
instance from a stream (i.e.,
deserialize it).IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream s) throws IOException
BitSet
instance to a stream (i.e.,
serialize it).IOException
long[] bits
private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream stream) throws IOException
Calendar
would only write out its state data and
the current time, and not write any field data out, such as
fields[]
, isTimeSet
, areFieldsSet
,
and isSet[]
. nextStamp
also should not be part
of the persistent state. Unfortunately, this didn't happen before JDK 1.1
shipped. To be compatible with JDK 1.1, we will always have to write out
the field values and state flags. However, nextStamp
can be
removed from the serialization stream; this will probably happen in the
near future.IOException
boolean areFieldsSet
fields[]
are in sync with the currently set time.
If false, then the next attempt to get the value of a field will
force a recomputation of all fields from the current value of
time
.int[] fields
FIELD_COUNT
integers, with index values
ERA
through DST_OFFSET
.int firstDayOfWeek
SUNDAY
,
MONDAY
, etc. This is a locale-dependent value.boolean[] isSet
FIELD_COUNT
booleans, with index values
ERA
through DST_OFFSET
.boolean isTimeSet
time
is valid.
The time is made invalid by a change to an item of field[]
.Calendar.time
boolean lenient
True
if this calendar allows out-of-range field values during computation
of time
from fields[]
.Calendar.setLenient(boolean)
,
Calendar.isLenient()
int minimalDaysInFirstWeek
int nextStamp
stamp[]
, an internal array.
This actually should not be written out to the stream, and will probably
be removed from the stream in the near future. In the meantime,
a value of MINIMUM_USER_STAMP
should be used.int serialVersionOnStream
serialVersionOnStream
is written.long time
Calendar.isTimeSet
TimeZone zone
TimeZone
used by this calendar. Calendar
uses the time zone data to translate between locale and GMT time.Collection<E> c
Class<T> type
Object[] zeroLengthElementArray
NavigableMap<K,V> nm
NavigableSet<E> ns
Object element
int n
private Object readResolve()
private Object readResolve()
private Object readResolve()
private Object readResolve()
Comparator<T> cmp
private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
Object element
Object element
private void writeObject(ObjectOutputStream s) throws IOException
IOException
Collection<E> c
Object mutex
private Object readResolve()
private void writeObject(ObjectOutputStream s) throws IOException
IOException
NavigableMap<K,V> nm
NavigableSet<E> ns
private Object writeReplace()
Collection<E> c
private Object readResolve()
NavigableMap<K,V> nm
NavigableSet<E> ns
private Object writeReplace()
private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException
Object[] array
field.IOException
- if an I/O error occursClassNotFoundException
- if a serialized class cannot be loadedInvalidObjectException
- if the count is negativeprivate Object readResolve() throws ObjectStreamException
InvalidObjectException
- if the tag value is illegal or if an exception
is thrown during creation of the collectionObjectStreamException
- if another serialization error has occurredprivate void writeObject(ObjectOutputStream oos) throws IOException
Object[] array
field.IOException
- if an I/O error occursint tag
List
, 2 for an immutable Set
, and 3 for
an immutable Map
. Any other value causes an
InvalidObjectException
to be thrown. The high
order 24 bits are zero when an instance is serialized,
and they are ignored when an instance is deserialized.
They can thus be used by future implementations without
causing compatibility issues.
The tag value also determines the interpretation of the
transient Object[] array
field.
For List
and Set
, the array's length is the size
of the collection, and the array contains the elements of the collection.
Null elements are not allowed. For Set
, duplicate elements
are not allowed.
For Map
, the array's length is twice the number of mappings
present in the map. The array length is necessarily even.
The array contains a succession of key and value pairs:
k1, v1, k2, v2, ..., kN, vN.
Nulls are not allowed,
and duplicate keys are not allowed.
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream s) throws IOException
getTime()
is emitted (long). This represents the offset from
January 1, 1970, 00:00:00 GMT in milliseconds.IOException
String flags
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
EnumMap
instance from a stream (i.e.,
deserialize it).IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream s) throws IOException
EnumMap
instance to a stream (i.e.,
serialize it).IOException
char c
String f
private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
long gregorianCutover
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
HashMap
instance from a stream (i.e.,
deserialize it).IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream s) throws IOException
HashMap
instance to a stream (i.e.,
serialize it).IOException
float loadFactor
int threshold
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
HashSet
instance from a stream (that is,
deserialize it).IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream s) throws IOException
HashSet
instance to a stream (that is,
serialize it).HashMap
instance
(int), and its load factor (float) are emitted, followed by
the size of the set (the number of elements it contains)
(int), followed by all of its elements (each an Object) in
no particular order.IOException
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream s) throws IOException
IOException
float loadFactor
int threshold
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
IdentityHashMap
instance from a stream (i.e.,
deserializes it).IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream s) throws IOException
IdentityHashMap
instance to a stream
(i.e., serializes it).int
), followed by the key (Object) and
value (Object) for each key-value mapping represented by the
IdentityHashMap. The key-value mappings are emitted in no
particular order.IOException
int size
int c
String flags
int p
int w
int _errIdx
boolean accessOrder
true
for access-order, false
for insertion-order.private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
LinkedList
instance from a stream
(that is, deserializes it).IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream s) throws IOException
LinkedList
instance to a stream
(that is, serializes it).IOException
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
Locale
.IOException
ClassNotFoundException
IllformedLocaleException
private Object readResolve() throws ObjectStreamException
Locale
instance equivalent to
the deserialized Locale
. When serialized
language, country and variant fields read from the object data stream
are exactly "ja", "JP", "JP" or "th", "TH", "TH" and script/extensions
fields are empty, this method supplies UNICODE_LOCALE_EXTENSION
"ca"/"japanese" (calendar type is "japanese") or "nu"/"thai" (number script
type is "thai"). See Special Cases
for more information.ObjectStreamException
private void writeObject(ObjectOutputStream out) throws IOException
Locale
to the specified ObjectOutputStream
.IOException
String country
String extensions
int hashcode
String language
String script
String variant
String s
String s
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
PriorityQueue
instance from a stream
(that is, deserializes it).ClassNotFoundException
- if the class of a serialized object
could not be foundIOException
- if an I/O error occursprivate void writeObject(ObjectOutputStream s) throws IOException
Object
) in the proper order.IOException
- if an I/O error occursComparator<T> comparator
int size
Properties defaults
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream out) throws IOException
IOException
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
Random
instance from a stream (that is,
deserialize it).IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream s) throws IOException
Random
instance to a stream.IOException
boolean haveNextNextGaussian
double nextNextGaussian
long seed
private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream stream) throws IOException
DOW_IN_MONTH_MODE
rules, in the required section, followed
by the full rules, in packed format, in the optional section. The
optional section will be ignored by JDK 1.1 code upon stream in.
Contents of the optional section: The length of a byte array is
emitted (int); this is 4 as of this release. The byte array of the given
length is emitted. The contents of the byte array are the true values of
the fields startDay
, startDayOfWeek
,
endDay
, and endDayOfWeek
. The values of these
fields in the required section are approximate values suited to the rule
mode DOW_IN_MONTH_MODE
, which is the only mode recognized by
JDK 1.1.
IOException
int dstSavings
If useDaylight
is false, this value is ignored.
int endDay
endMode == DOW_IN_MONTH
endDay
indicates the day of the month of
endMonth
on which daylight
saving time ends, from 1 to 28, 30, or 31, depending on the
endMonth
.
endMode != DOW_IN_MONTH
endDay
indicates which endDayOfWeek
in th
month endMonth
daylight
saving time ends on. For example, a value of +1 and a
endDayOfWeek
of Calendar.SUNDAY
indicates the
first Sunday of endMonth
. Likewise, +2 would indicate the
second Sunday, and -1 the last Sunday. A value of 0 is illegal.
If useDaylight
is false, this value is ignored.
int endDayOfWeek
Calendar.SUNDAY
and
Calendar.SATURDAY
inclusive.
If useDaylight
is false or
endMode == DAY_OF_MONTH
, this value is ignored.
int endMode
DOM_MODE
DOW_IN_MONTH_MODE
DOW_GE_DOM_MODE
DOW_LE_DOM_MODE
endDay
field.
If useDaylight
is false, this value is ignored.
int endMonth
Calendar.JANUARY
and
Calendar.UNDECIMBER
. This value must not equal
startMonth
.
If useDaylight
is false, this value is ignored.
int endTime
endTimeMode
.
If useDaylight
is false, this value is ignored.
int endTimeMode
WALL_TIME
,
STANDARD_TIME
, or UTC_TIME
.byte[] monthLength
int rawOffset
dstSavings
.int serialVersionOnStream
startMode
,
endMode
, and dstSavings
.
startTimeMode
and endTimeMode
.
serialVersionOnStream
is written.int startDay
startMode == DOW_IN_MONTH
startDay
indicates the day of the month of
startMonth
on which daylight
saving time starts, from 1 to 28, 30, or 31, depending on the
startMonth
.
startMode != DOW_IN_MONTH
startDay
indicates which startDayOfWeek
in the
month startMonth
daylight
saving time starts on. For example, a value of +1 and a
startDayOfWeek
of Calendar.SUNDAY
indicates the
first Sunday of startMonth
. Likewise, +2 would indicate the
second Sunday, and -1 the last Sunday. A value of 0 is illegal.
If useDaylight
is false, this value is ignored.
int startDayOfWeek
Calendar.SUNDAY
and
Calendar.SATURDAY
inclusive.
If useDaylight
is false or
startMode == DAY_OF_MONTH
, this value is ignored.
int startMode
DOM_MODE
DOW_IN_MONTH_MODE
DOW_GE_DOM_MODE
DOW_LE_DOM_MODE
startDay
field.
If useDaylight
is false, this value is ignored.
int startMonth
Calendar.JANUARY
and
Calendar.DECEMBER
inclusive. This value must not equal
endMonth
.
If useDaylight
is false, this value is ignored.
int startTime
startTimeMode
.
If useDaylight
is false, this value is ignored.
int startTimeMode
int startYear
AD
value. If this value is less than 1 then daylight saving time is observed
for all AD
years.
If useDaylight
is false, this value is ignored.
boolean useDaylight
String ID
TimeZone
. This is a
programmatic identifier used internally to look up TimeZone
objects from the system table and also to map them to their localized
display names. ID
values are unique in the system
table but may not be for dynamically created zones.private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
TreeMap
instance from a stream (i.e.,
deserialize it).IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream s) throws IOException
TreeMap
instance to a stream (i.e.,
serialize it).IOException
Comparator<T> comparator
Comparator<T> reverseComparator
boolean fromStart
Object hi
boolean hiInclusive
Object lo
boolean loInclusive
TreeMap<K,V> m
boolean toEnd
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
TreeSet
instance from a stream (that is,
deserialize it).IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream s) throws IOException
TreeSet
instance to a stream (that is,
serialize it).null
if it obeys its elements' natural ordering
(Object), followed by the size of the set (the number of
elements it contains) (int), followed by all of its
elements (each an Object) in order (as determined by the
set's Comparator, or by the elements' natural ordering if
the set has no Comparator).IOException
String s
String flags
long leastSigBits
long mostSigBits
private void writeObject(ObjectOutputStream s) throws IOException
Vector
instance to a stream
(that is, serializes it).
This method performs synchronization to ensure the consistency
of the serialized data.IOException
- if an I/O error occursint capacityIncrement
int elementCount
Vector
object.
Components elementData[0]
through
elementData[elementCount-1]
are the actual items.Object[] elementData
Any array elements following the last element in the Vector are null.
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
ClassNotFoundException
- for a missing class during
deserializationIOException
- for an IO problem during deserializationprivate void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
ClassNotFoundException
- for a missing class during
deserializationIOException
- for an IO problem during deserializationCopyright © 1993, 2017, Oracle and/or its affiliates · All rights reserved · License