xtc.type
Class ClassT

java.lang.Object
  extended by xtc.tree.Node
      extended by xtc.type.Type
          extended by xtc.type.DerivedT
              extended by xtc.type.ClassOrInterfaceT
                  extended by xtc.type.ClassT
All Implemented Interfaces:
java.lang.Iterable<java.lang.Object>, Locatable

public class ClassT
extends ClassOrInterfaceT

A class type.

Version:
$Revision: 1.13 $
Author:
Robert Grimm

Nested Class Summary
 
Nested classes/interfaces inherited from class xtc.type.Type
Type.Tag
 
Field Summary
 
Fields inherited from class xtc.type.ClassOrInterfaceT
fields, interfaces, methods, qname
 
Constructor Summary
ClassT(java.lang.String qname, Type parent, java.util.List<Type> interfaces, java.util.List<Type> fields, java.util.List<Type> methods)
          Create a new class type.
ClassT(Type template, java.lang.String qname, Type parent, java.util.List<Type> interfaces, java.util.List<Type> fields, java.util.List<Type> methods)
          Create a new class type.
 
Method Summary
 ClassT copy()
          Create a deep copy of this type.
 Type getParent()
          Get the parent class.
 boolean isClass()
          Determine whether this type is a class.
 Type.Tag tag()
          Get this type's tag.
 ClassT toClass()
          Get this type as a class.
 void write(java.lang.Appendable out)
          Write a human readable representation to the specified appendable.
 
Methods inherited from class xtc.type.ClassOrInterfaceT
equals, getFields, getInterfaces, getMethods, getName, getQName, getQualifier, hashCode, seal
 
Methods inherited from class xtc.type.DerivedT
isDerived
 
Methods inherited from class xtc.type.Type
addAttribute, annotate, attribute, attribute, attribute, attributes, cast, checkNotSealed, constant, constant, copy, deannotate, getAttribute, getAttribute, getConstant, getConstant, getLanguage, getLanguage, getLocation, getLocation, getScope, getScope, getShape, getShape, hasAlias, hasAnnotated, hasAttribute, hasAttribute, hasAttribute, hasAttribute, hasAttributes, hasConstant, hasConstant, hasEnum, hasEnumerator, hasError, hasInstantiated, hasLanguage, hasLanguage, hasLocation, hasLocation, hasParameterized, hasScope, hasScope, hasShape, hasShape, hasStructOrUnion, hasTag, hasTagged, hasVariable, hasWTag, isAlias, isAnnotated, isArray, isBoolean, isConcrete, isEnum, isEnumerator, isError, isFloat, isFunction, isInstantiated, isInteger, isInterface, isInternal, isInternalParameter, isLabel, isMethod, isNamedParameter, isNumber, isPackage, isParameter, isParameterized, isPointer, isSealed, isStruct, isTuple, isUnion, isUnit, isVariable, isVariant, isVoid, isWildcard, isWrapped, language, locate, locate, mark, properties, removeAttribute, removeProperty, resolve, resolve, scope, seal, setLocation, setLocation, setProperty, shape, shape, toAlias, toAnnotated, toArray, toBoolean, toEnum, toEnumerator, toFloat, toFunction, toInstantiated, toInteger, toInterface, toInternal, toInternalParameter, toLabel, toMethod, toNamedParameter, toNumber, toPackage, toParameter, toParameterized, toPointer, toStruct, toStructOrUnion, toTagged, toTuple, toUnion, toUnit, toVariable, toVariant, toVoid, toWildcard, toWrapped, trace, wtag
 
Methods inherited from class xtc.tree.Node
add, add, addAll, addAll, addAll, addAll, addAllTo, addNode, contains, get, getBoolean, getBooleanProperty, getGeneric, getList, getNode, getProperty, getString, getStringProperty, getTokenText, hasName, hasProperty, hasTraversal, indexOf, isAnnotation, isEmpty, isGeneric, isList, isToken, iterator, lastIndexOf, remove, set, size, strip, toAnnotation, toList, toString, toToken
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ClassT

public ClassT(java.lang.String qname,
              Type parent,
              java.util.List<Type> interfaces,
              java.util.List<Type> fields,
              java.util.List<Type> methods)
Create a new class type.

Parameters:
qname - The fully qualified name.
parent - The optional parent class.
interfaces - The list of interfaces.
fields - The list of fields.
methods - The list of methods.

ClassT

public ClassT(Type template,
              java.lang.String qname,
              Type parent,
              java.util.List<Type> interfaces,
              java.util.List<Type> fields,
              java.util.List<Type> methods)
Create a new class type.

Parameters:
template - The type whose annotations to copy.
qname - The fully qualified name.
parent - The optional parent class.
interfaces - The list of interfaces.
fields - The list of fields.
methods - The list of methods.
Method Detail

copy

public ClassT copy()
Description copied from class: Type
Create a deep copy of this type. The resulting type is not sealed.

Specified by:
copy in class Type
Returns:
A deep copy of this type.

tag

public Type.Tag tag()
Description copied from class: Type
Get this type's tag. Invocations to this method are forwarded across wrapped types.

Specified by:
tag in class Type
Returns:
This type's tag.
See Also:
Type.wtag()

isClass

public boolean isClass()
Description copied from class: Type
Determine whether this type is a class.

Overrides:
isClass in class Type
Returns:
true if this type is a class.

toClass

public ClassT toClass()
Description copied from class: Type
Get this type as a class.

Overrides:
toClass in class Type
Returns:
This type as a class.

getParent

public Type getParent()
Get the parent class.

Returns:
The parent class.

write

public void write(java.lang.Appendable out)
           throws java.io.IOException
Description copied from class: Node
Write a human readable representation to the specified appendable. If this node supports generic traversal, the default implementation writes this node in algebraic term-format; otherwise, it writes the string returned by Object.toString().

Overrides:
write in class Node
Parameters:
out - The appendable.
Throws:
java.io.IOException - Signals an I/O error.


Copyright © 2012. All Rights Reserved.