xtc.type
Class InterfaceT

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.InterfaceT
All Implemented Interfaces:
java.lang.Iterable<java.lang.Object>, Locatable

public class InterfaceT
extends ClassOrInterfaceT

An interface type.

Version:
$Revision: 1.12 $
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
InterfaceT(java.lang.String qname, java.util.List<Type> interfaces, java.util.List<Type> fields, java.util.List<Type> methods)
          Create a new interface type.
InterfaceT(Type template, java.lang.String qname, java.util.List<Type> interfaces, java.util.List<Type> fields, java.util.List<Type> methods)
          Create a new interface type.
 
Method Summary
 InterfaceT copy()
          Create a deep copy of this type.
 boolean isInterface()
          Determine whether this type is an interface.
 Type.Tag tag()
          Get this type's tag.
 InterfaceT toInterface()
          Get this type as an interface.
 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, isClass, isConcrete, isEnum, isEnumerator, isError, isFloat, isFunction, isInstantiated, isInteger, 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, toClass, toEnum, toEnumerator, toFloat, toFunction, toInstantiated, toInteger, 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

InterfaceT

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

Parameters:
qname - The fully qualified name.
interfaces - The list of extended interfaces.
fields - The list of fields.
methods - The list of methods.

InterfaceT

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

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

copy

public InterfaceT 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()

isInterface

public boolean isInterface()
Description copied from class: Type
Determine whether this type is an interface.

Overrides:
isInterface in class Type
Returns:
true if this type is an interface.

toInterface

public InterfaceT toInterface()
Description copied from class: Type
Get this type as an interface.

Overrides:
toInterface in class Type
Returns:
This type as an interface.

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.